| # Licensed to the Apache Software Foundation (ASF) under one |
| # or more contributor license agreements. See the NOTICE file |
| # distributed with this work for additional information |
| # regarding copyright ownership. The ASF licenses this file |
| # to you under the Apache License, Version 2.0 (the |
| # "License"); you may not use this file except in compliance |
| # with the License. You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, |
| # software distributed under the License is distributed on an |
| # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| # KIND, either express or implied. See the License for the |
| # specific language governing permissions and limitations |
| # under the License. |
| # |
| apiVersion: apps/v1 |
| kind: StatefulSet |
| metadata: |
| name: nuvolaris-operator |
| namespace: nuvolaris |
| spec: |
| replicas: 1 |
| selector: |
| matchLabels: |
| name: nuvolaris-operator |
| template: |
| metadata: |
| labels: |
| name: nuvolaris-operator |
| app: nuvolaris-operator |
| annotations: |
| whisks.nuvolaris.org/annotate-version: "true" |
| spec: |
| serviceAccountName: nuvolaris-operator |
| restartPolicy: Always |
| affinity: |
| # prefer to not run on an invoker node (only prefer because of single node clusters) |
| nodeAffinity: |
| preferredDuringSchedulingIgnoredDuringExecution: |
| - weight: 100 |
| preference: |
| matchExpressions: |
| - key: nuvolaris-role |
| operator: NotIn |
| values: |
| - invoker |
| - weight: 80 |
| preference: |
| matchExpressions: |
| - key: nuvolaris-role |
| operator: In |
| values: |
| - core |
| # Fault tolerance: prevent multiple instances of nuvolaris-operator from running on the same node |
| podAntiAffinity: |
| requiredDuringSchedulingIgnoredDuringExecution: |
| - labelSelector: |
| matchExpressions: |
| - key: name |
| operator: In |
| values: |
| - nuvolaris-operator |
| topologyKey: "kubernetes.io/hostname" |
| tolerations: |
| - key: "nuvolaris-role" |
| operator: "Equal" |
| value: core |
| effect: "NoSchedule" |
| securityContext: |
| runAsUser: 1001 |
| fsGroup: 1001 |
| volumes: |
| - name: deploy |
| persistentVolumeClaim: |
| claimName: nuvolaris-operator-deploy-pvc |
| containers: |
| - name: nuvolaris-operator |
| image: ${IMAGES_OPERATOR} |
| imagePullPolicy: Always |
| command: ["./run.sh"] |
| args: ["--verbose"] |
| securityContext: |
| capabilities: |
| drop: |
| - ALL |
| volumeMounts: |
| - name: deploy |
| mountPath: "/home/nuvolaris/deploy" |