| # SPDX-FileCopyrightText: 2020-present Open Networking Foundation <info@opennetworking.org> |
| # |
| # SPDX-License-Identifier: Apache-2.0 |
| |
| apiVersion: apps/v1 |
| kind: Deployment |
| metadata: |
| name: {{ template "prom-label-proxy.fullname" . }} |
| namespace: {{ .Release.Namespace }} |
| labels: |
| name: {{ template "prom-label-proxy.fullname" . }} |
| spec: |
| replicas: {{ .Values.replicaCount }} |
| selector: |
| matchLabels: |
| {{- include "prom-label-proxy.selectorLabels" . | nindent 6 }} |
| template: |
| metadata: |
| labels: |
| name: {{ template "prom-label-proxy.fullname" . }} |
| {{- include "prom-label-proxy.selectorLabels" . | nindent 8 }} |
| spec: |
| {{- with .Values.imagePullSecrets }} |
| imagePullSecrets: |
| {{- toYaml . | nindent 6 }} |
| {{- end }} |
| securityContext: |
| {{- toYaml .Values.podSecurityContext | nindent 8 }} |
| containers: |
| - name: {{ .Chart.Name }} |
| image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" |
| imagePullPolicy: {{ .Values.image.pullPolicy }} |
| env: |
| - name: POD_NAMESPACE |
| valueFrom: |
| fieldRef: |
| fieldPath: metadata.namespace |
| - name: POD_NAME |
| valueFrom: |
| fieldRef: |
| fieldPath: metadata.name |
| - name: POD_IP |
| valueFrom: |
| fieldRef: |
| fieldPath: status.podIP |
| - name: NODE_NAME |
| valueFrom: |
| fieldRef: |
| fieldPath: spec.nodeName |
| - name: OIDC_SERVER_URL |
| value: {{ .Values.config.openidc.issuer }} |
| args: |
| [ |
| "-label={{ .Values.config.label }}", |
| "-admingroup={{ .Values.config.admingroup }}", |
| "-upstream={{ tpl .Values.config.upstream . }}", |
| "-insecure-listen-address=0.0.0.0:{{ .Values.config.http.port }}", |
| "-config_address=$(POD_IP):{{ .Values.config.gnmi.port }}", |
| "-onos_config_url={{ .Values.config.onos_config_url }}", |
| "-key=/etc/prom-label-proxy/certs/tls.key", |
| "-cert=/etc/prom-label-proxy/certs/tls.crt", |
| "-ca=/etc/prom-label-proxy/certs/tls.cacert" ] |
| ports: |
| - name: http |
| containerPort: {{ .Values.config.http.port }} |
| - name: gnmi |
| containerPort: {{ .Values.config.gnmi.port }} |
| readinessProbe: |
| tcpSocket: |
| port: {{ .Values.config.http.port }} |
| initialDelaySeconds: 5 |
| periodSeconds: 10 |
| livenessProbe: |
| tcpSocket: |
| port: {{ .Values.config.http.port }} |
| initialDelaySeconds: 15 |
| periodSeconds: 20 |
| volumeMounts: |
| - name: secret |
| mountPath: /etc/prom-label-proxy/certs |
| readOnly: true |
| volumes: |
| - name: secret |
| secret: |
| secretName: {{ template "prom-label-proxy.fullname" . }}-secret |