Skip to content

Commit baf8718

Browse files
committed
feat(envs): extra env configs for the report container
Indentations of list entries (e.g. envs) are also adjusted to be consistent with other templates.
1 parent 958e8db commit baf8718

File tree

5 files changed

+186
-91
lines changed

5 files changed

+186
-91
lines changed

charts/cryostat/README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,9 @@ certificate issuance and rotation.
136136
| `reports.resources.requests.cpu` | CPU resource request for each Pod in the Report Generator Deployment. | `500m` |
137137
| `reports.resources.requests.memory` | Memory resource request for each Pod in the Report Generator Deployment. | `512Mi` |
138138
| `reports.securityContext` | Security Context for the Report Generator containers. Defaults to meet "restricted" [Pod Security Standard](https://kubernetes.io/docs/concepts/security/pod-security-standards/#restricted). See: [SecurityContext](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#security-context-1) | `{}` |
139+
| `reports.config.extra` | Extra configurations for the Report Generator container | |
140+
| `reports.config.extra.envVars` | Extra environment variables for the Report Generator container. See: [Define Environment Variables](https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/) | `[]` |
141+
| `reports.config.extra.envSources` | Sources for extra variables for the Report Generator container. See: [Define Environment Variables From ConfigMap](https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-configmap/#configure-all-key-value-pairs-in-a-configmap-as-container-environment-variables) | `[]` |
139142
| `reports.nodeSelector` | Node Selector for the Report Generator Pods. See: [NodeSelector](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling) | `{}` |
140143
| `reports.tolerations` | Tolerations for the Report Generator Pods. See: [Tolerations](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling) | `[]` |
141144
| `reports.affinity` | Affinity for the Report Generator Pods. See: [Affinity](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling) | `{}` |

charts/cryostat/templates/reports_deployment.yaml

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -43,13 +43,20 @@ spec:
4343
image: "{{ (.Values.reports).image.repository }}:{{ (.Values.reports).image.tag }}"
4444
imagePullPolicy: {{ (.Values.reports).image.pullPolicy }}
4545
env:
46-
- name: QUARKUS_HTTP_PORT
47-
value: "{{ .Values.reports.service.httpPort }}"
48-
- name: QUARKUS_LOG_LEVEL
49-
value: {{ .Values.reports.debug.log.level }}
46+
- name: QUARKUS_HTTP_PORT
47+
value: "{{ .Values.reports.service.httpPort }}"
48+
- name: QUARKUS_LOG_LEVEL
49+
value: {{ .Values.reports.debug.log.level }}
50+
{{- with (.Values.reports.config).extra.envVars }}
51+
{{- toYaml . | nindent 10 }}
52+
{{- end }}
53+
{{- with (.Values.reports.config).extra.envSources }}
54+
envFrom:
55+
{{- toYaml . | nindent 10 }}
56+
{{- end }}
5057
ports:
51-
- containerPort: {{ .Values.reports.service.httpPort }}
52-
protocol: TCP
58+
- containerPort: {{ .Values.reports.service.httpPort }}
59+
protocol: TCP
5360
startupProbe:
5461
httpGet:
5562
path: "/health"

charts/cryostat/tests/reports_deployment_test.yaml

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -314,3 +314,59 @@ tests:
314314
value:
315315
alice: bob
316316
foo: bar
317+
318+
- it: should set extra env vars and env sources
319+
set:
320+
reports:
321+
replicas: 1
322+
config:
323+
extra:
324+
envVars:
325+
- name: FOO
326+
value: "bar"
327+
- name: ANOTHER_FOO
328+
valueFrom:
329+
configMapKeyRef:
330+
name: myconfigmap
331+
key: another_foo
332+
optional: true
333+
- name: FOO_SECRET
334+
valueFrom:
335+
secretKeyRef:
336+
name: mysecret
337+
key: foo_secret
338+
optional: false
339+
envSources:
340+
- secretRef:
341+
name: sercret-special-config
342+
optional: false
343+
- configMapRef:
344+
name: cm-special-config
345+
optional: false
346+
asserts:
347+
- equal:
348+
path: spec.template.spec.containers[?(@.name=='cryostat-reports')].env[?(@.name=='FOO')].value
349+
value: "bar"
350+
- equal:
351+
path: spec.template.spec.containers[?(@.name=='cryostat-reports')].env[?(@.name=='ANOTHER_FOO')].valueFrom
352+
value:
353+
configMapKeyRef:
354+
name: "myconfigmap"
355+
key: "another_foo"
356+
optional: true
357+
- equal:
358+
path: spec.template.spec.containers[?(@.name=='cryostat-reports')].env[?(@.name=='FOO_SECRET')].valueFrom
359+
value:
360+
secretKeyRef:
361+
name: "mysecret"
362+
key: "foo_secret"
363+
optional: false
364+
- equal:
365+
path: spec.template.spec.containers[?(@.name=='cryostat-reports')].envFrom
366+
value:
367+
- secretRef:
368+
name: sercret-special-config
369+
optional: false
370+
- configMapRef:
371+
name: cm-special-config
372+
optional: false

0 commit comments

Comments
 (0)