apiVersion: apps/v1 kind: Deployment metadata: namespace: {{ .Values.namespace }} name: {{ include "flagd.fullname" . }} labels: app.kubernetes.io/component: flagd app.kubernetes.io/part-of: opentelemetry-demo opentelemetry.io/name: {{ .Values.namespace }}-{{ include "flagd.fullname" . }} {{- include "flagd.labels" . | nindent 4 }} spec: replicas: {{ .Values.opentelemetryDemoFlagd.replicas }} revisionHistoryLimit: {{ .Values.opentelemetryDemoFlagd.revisionHistoryLimit }} selector: matchLabels: opentelemetry.io/name: {{ .Values.namespace }}-{{ include "flagd.fullname" . }} {{- include "flagd.selectorLabels" . | nindent 6 }} template: metadata: labels: app.kubernetes.io/component: flagd app.kubernetes.io/instance: opentelemetry-demo app.kubernetes.io/name: {{ .Values.namespace }}-{{ include "flagd.fullname" . }} opentelemetry.io/name: {{ .Values.namespace }}-{{ include "flagd.fullname" . }} {{- include "flagd.selectorLabels" . | nindent 8 }} spec: containers: - command: - /flagd-build - start - --uri - file:./etc/flagd/demo.flagd.json env: - name: OTEL_SERVICE_NAME valueFrom: fieldRef: apiVersion: v1 fieldPath: metadata.labels['app.kubernetes.io/component'] - name: OTEL_COLLECTOR_NAME value: {{ quote .Values.opentelemetryDemoFlagd.flagd.env.otelCollectorName }} - name: OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE value: {{ quote .Values.opentelemetryDemoFlagd.flagd.env.otelExporterOtlpMetricsTemporalityPreference }} - name: FLAGD_METRICS_EXPORTER value: {{ quote .Values.opentelemetryDemoFlagd.flagd.env.flagdMetricsExporter }} - name: FLAGD_OTEL_COLLECTOR_URI value: {{ quote .Values.opentelemetryDemoFlagd.flagd.env.flagdOtelCollectorUri }} - name: OTEL_RESOURCE_ATTRIBUTES value: {{ quote .Values.opentelemetryDemoFlagd.flagd.env.otelResourceAttributes }} - name: KUBERNETES_CLUSTER_DOMAIN value: {{ quote .Values.kubernetesClusterDomain }} image: {{ .Values.opentelemetryDemoFlagd.flagd.image.repository }}:{{ .Values.opentelemetryDemoFlagd.flagd.image.tag | default .Chart.AppVersion }} imagePullPolicy: {{ .Values.opentelemetryDemoFlagd.flagd.imagePullPolicy }} name: flagd ports: - containerPort: 8013 name: service resources: {{- toYaml .Values.opentelemetryDemoFlagd.flagd.resources | nindent 10 }} volumeMounts: - mountPath: /etc/flagd name: config-rw - env: - name: OTEL_SERVICE_NAME valueFrom: fieldRef: apiVersion: v1 fieldPath: metadata.labels['app.kubernetes.io/component'] - name: OTEL_COLLECTOR_NAME value: {{ quote .Values.opentelemetryDemoFlagd.flagdui.env.otelCollectorName }} - name: OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE value: {{ quote .Values.opentelemetryDemoFlagd.flagdui.env.otelExporterOtlpMetricsTemporalityPreference }} - name: FLAGD_METRICS_EXPORTER value: {{ quote .Values.opentelemetryDemoFlagd.flagdui.env.flagdMetricsExporter }} - name: OTEL_EXPORTER_OTLP_ENDPOINT value: {{ quote .Values.opentelemetryDemoFlagd.flagdui.env.otelExporterOtlpEndpoint }} - name: OTEL_RESOURCE_ATTRIBUTES value: {{ quote .Values.opentelemetryDemoFlagd.flagdui.env.otelResourceAttributes }} - name: KUBERNETES_CLUSTER_DOMAIN value: {{ quote .Values.kubernetesClusterDomain }} - name: SECRET_KEY_BASE value: {{ quote .Values.opentelemetryDemoFlagd.flagdui.env.secretKeyBase }} image: {{ .Values.opentelemetryDemoFlagd.flagdui.image.repository }}:{{ .Values.opentelemetryDemoFlagd.flagdui.image.tag | default .Chart.AppVersion }} imagePullPolicy: {{ .Values.opentelemetryDemoFlagd.flagdui.imagePullPolicy }} name: flagdui ports: - containerPort: 4000 name: service resources: {{- toYaml .Values.opentelemetryDemoFlagd.flagdui.resources | nindent 10 }} volumeMounts: - mountPath: /app/data name: config-rw initContainers: - command: - sh - -c - cp /config-ro/demo.flagd.json /config-rw/demo.flagd.json && cat /config-rw/demo.flagd.json env: - name: KUBERNETES_CLUSTER_DOMAIN value: {{ quote .Values.kubernetesClusterDomain }} image: {{ .Values.opentelemetryDemoFlagd.initConfig.image.repository }}:{{ .Values.opentelemetryDemoFlagd.initConfig.image.tag | default .Chart.AppVersion }} name: init-config resources: {} volumeMounts: - mountPath: /config-ro name: config-ro - mountPath: /config-rw name: config-rw serviceAccountName: {{ .Values.serviceAccount.name }} volumes: - emptyDir: {} name: config-rw - configMap: name: {{ include "flagd.fullname" . }}-config name: config-ro