charts/member-agent/templates/deployment.yaml (141 lines of code) (raw):

apiVersion: apps/v1 kind: Deployment metadata: name: {{ include "member-agent.fullname" . }} namespace: {{ .Values.namespace }} labels: {{- include "member-agent.labels" . | nindent 4 }} spec: selector: matchLabels: {{- include "member-agent.selectorLabels" . | nindent 6 }} template: metadata: labels: {{- include "member-agent.selectorLabels" . | nindent 8 }} spec: restartPolicy: Always serviceAccountName: {{ include "member-agent.fullname" . }}-sa containers: - name: {{ include "member-agent.fullname" . }} image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}" imagePullPolicy: {{ .Values.image.pullPolicy }} ports: - name: http containerPort: 80 args: - --leader-elect=true {{- if .Values.useCAAuth }} - --use-ca-auth={{ .Values.useCAAuth }} {{- else }} - --tls-insecure={{ .Values.tlsClientInsecure }} {{- end }} - --v={{ .Values.logVerbosity }} - -add_dir_header - --enable-v1alpha1-apis={{ .Values.enableV1Alpha1APIs }} - --enable-v1beta1-apis={{ .Values.enableV1Beta1APIs }} {{- if .Values.propertyProvider }} - --property-provider={{ .Values.propertyProvider }} {{- end }} {{- if eq .Values.propertyProvider "azure" }} - --cloud-config=/etc/kubernetes/provider/config.json {{- end }} {{- if .Values.region }} - --region={{ .Values.region }} {{- end }} env: - name: HUB_SERVER_URL value: "{{ .Values.config.hubURL }}" - name: CONFIG_PATH value: "/config/token" - name: MEMBER_CLUSTER_NAME value: "{{ .Values.config.memberClusterName }}" - name: HUB_CERTIFICATE_AUTHORITY value: "{{ .Values.config.hubCA }}" {{- if .Values.useCAAuth }} - name: IDENTITY_KEY value: "{{ .Values.config.identityKey }}" - name: IDENTITY_CERT value: "{{ .Values.config.identityCert }}" - name: CA_BUNDLE value: "{{ .Values.config.CABundle }}" {{- end }} resources: {{- toYaml .Values.resources | nindent 12 }} ports: - containerPort: 8080 name: hubmetrics protocol: TCP - containerPort: 8081 name: hubhealthz protocol: TCP - containerPort: 8090 name: membermetrics protocol: TCP - containerPort: 8091 name: memberhealthz protocol: TCP livenessProbe: httpGet: path: /healthz port: hubhealthz readinessProbe: httpGet: path: /readyz port: hubhealthz {{- if or (not .Values.useCAAuth) (eq .Values.propertyProvider "azure") }} volumeMounts: {{- if not .Values.useCAAuth }} - name: provider-token mountPath: /config {{- end }} {{- if eq .Values.propertyProvider "azure" }} - name: cloud-provider-config mountPath: /etc/kubernetes/provider readOnly: true {{- end }} {{- end }} {{- if not .Values.useCAAuth }} - name: refresh-token image: "{{ .Values.refreshtoken.repository }}:{{ .Values.refreshtoken.tag }}" imagePullPolicy: {{ .Values.refreshtoken.pullPolicy }} args: {{- $provider := .Values.config.provider }} - {{ $provider }} {{- range $key, $value := (index .Values $provider) }} - --{{ $key }}={{ $value }} {{- end }} - --v={{ .Values.logVerbosity }} ports: - name: http containerPort: 4000 resources: {{- toYaml .Values.resources | nindent 12 }} volumeMounts: - name: provider-token mountPath: /config {{- end }} {{- if or (not .Values.useCAAuth) (eq .Values.propertyProvider "azure") }} volumes: {{- if not .Values.useCAAuth }} - name: provider-token emptyDir: {} {{- end }} {{- if eq .Values.propertyProvider "azure" }} - name: cloud-provider-config secret: secretName: cloud-config {{- end }} {{- end }} {{- with .Values.nodeSelector }} nodeSelector: {{- toYaml . | nindent 8 }} {{- end }} {{- with .Values.affinity }} affinity: {{- toYaml . | nindent 8 }} {{- end }} {{- with .Values.tolerations }} tolerations: {{- toYaml . | nindent 8 }} {{- end }}