9e90ee802d2cb8bc75fc412f6198085d1789b0a5
[demo.git] / vnfs / DAaaS / deploy / 00-init / istio / istio-operator / templates / operator-statefulset.yaml
1 apiVersion: apps/v1
2 kind: StatefulSet
3 metadata:
4   name: "{{ include "istio-operator.fullname" . }}-operator"
5   labels:
6     control-plane: controller-manager
7     controller-tools.k8s.io: "1.0"
8     app.kubernetes.io/name: {{ include "istio-operator.name" . }}
9     helm.sh/chart: {{ include "istio-operator.chart" . }}
10     app.kubernetes.io/instance: {{ .Release.Name }}
11     app.kubernetes.io/managed-by: {{ .Release.Service }}
12     app.kubernetes.io/version: {{ .Chart.AppVersion }}
13     app.kubernetes.io/component: operator
14 spec:
15   selector:
16     matchLabels:
17       control-plane: controller-manager
18       controller-tools.k8s.io: "1.0"
19       app.kubernetes.io/name: {{ include "istio-operator.name" . }}
20       app.kubernetes.io/instance: {{ .Release.Name }}
21       app.kubernetes.io/component: operator
22   serviceName: {{ include "istio-operator.fullname" . }}-operator
23   template:
24     metadata:
25       labels:
26         control-plane: controller-manager
27         controller-tools.k8s.io: "1.0"
28         app.kubernetes.io/name: {{ include "istio-operator.name" . }}
29         app.kubernetes.io/instance: {{ .Release.Name }}
30         app.kubernetes.io/component: operator
31     spec:
32       {{- if .Values.rbac.enabled }}
33       serviceAccountName: {{ include "istio-operator.fullname" . }}-operator
34       {{- end }}
35       terminationGracePeriodSeconds: 60
36       containers:
37       {{- if and .Values.prometheusMetrics.enabled .Values.prometheusMetrics.authProxy.enabled }}
38       - name: kube-rbac-proxy
39         image: "{{ .Values.prometheusMetrics.authProxy.image.repository }}:{{ .Values.prometheusMetrics.authProxy.image.tag }}"
40         imagePullPolicy: {{ .Values.prometheusMetrics.authProxy.image.pullPolicy }}
41         args:
42           - "--secure-listen-address=0.0.0.0:8443"
43           - "--upstream=http://127.0.0.1:8080/"
44           - "--logtostderr=true"
45           - "--v=10"
46         ports:
47           - containerPort: 8443
48             name: https
49       {{- end }}
50       - command:
51         - /manager
52         image: "{{ .Values.operator.image.repository }}:{{ .Values.operator.image.tag }}"
53         imagePullPolicy: {{ .Values.operator.image.pullPolicy }}
54         name: manager
55         args:
56           {{- if and .Values.prometheusMetrics.enabled .Values.prometheusMetrics.authProxy.enabled }}
57           - "--metrics-addr=127.0.0.1:8080"
58           {{- end }}
59           - "--watch-created-resources-events=false"
60         env:
61           - name: POD_NAMESPACE
62             valueFrom:
63               fieldRef:
64                 fieldPath: metadata.namespace
65         ports:
66         - containerPort: 443
67           name: webhook-server
68           protocol: TCP
69           {{- if and .Values.prometheusMetrics.enabled (not .Values.prometheusMetrics.authProxy.enabled) }}
70         - containerPort: 8080
71           name: metrics
72           protocol: TCP
73           {{- end }}
74         resources:
75 {{ toYaml .Values.operator.resources | indent 10 }}
76     {{- with .Values.nodeSelector }}
77       nodeSelector:
78 {{ toYaml . | indent 8 }}
79     {{- end }}
80     {{- with .Values.affinity }}
81       affinity:
82 {{ toYaml . | indent 8 }}
83     {{- end }}
84     {{- with .Values.tolerations }}
85       tolerations:
86 {{ toYaml . | indent 8 }}
87     {{- end }}