Skip to content

Commit f2d9056

Browse files
committed
WIP: Adding unittests for secret functions
Signed-off-by: Pete Wall <[email protected]>
1 parent 267caf9 commit f2d9056

20 files changed

+93
-14
lines changed

charts/k8s-monitoring/Chart.lock

+1-1
Original file line numberDiff line numberDiff line change
@@ -39,4 +39,4 @@ dependencies:
3939
repository: https://grafana.github.io/helm-charts
4040
version: 0.9.2
4141
digest: sha256:f5738b270a715d0fd122f5db19a928aceb4470a21314366cd91b8535fbcdbbee
42-
generated: "2024-11-07T09:04:36.742727-06:00"
42+
generated: "2024-11-07T09:59:57.476552-06:00"
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

charts/k8s-monitoring/docs/examples/auth/embedded-secrets/alloy-logs.alloy

+1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

charts/k8s-monitoring/docs/examples/auth/embedded-secrets/alloy-metrics.alloy

+2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

charts/k8s-monitoring/docs/examples/auth/embedded-secrets/alloy-receiver.alloy

+7
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

charts/k8s-monitoring/docs/examples/auth/embedded-secrets/output.yaml

+10
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

charts/k8s-monitoring/templates/destinations/_destination_loki.tpl

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ loki.write {{ include "helper.alloy_name" .name | quote }} {
1212
{{- else }}
1313
url = {{ .url | quote }}
1414
{{- end }}
15-
{{- if eq (include "secrets.usesKubernetesSecret" .) "true" }}
15+
{{- if eq (include "secrets.usesSecret" (dict "object" . "key" "tenantId")) "true" }}
1616
tenant_id = {{ include "secrets.read" (dict "object" . "key" "tenantId" "nonsensitive" true) }}
1717
{{- end }}
1818
{{- if or .extraHeaders .extraHeadersFrom }}

charts/k8s-monitoring/templates/destinations/_destination_otlp.tpl

+4-4
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ otelcol.exporter.otlphttp {{ include "helper.alloy_name" .name | quote }} {
7171
auth = otelcol.auth.bearer.{{ include "helper.alloy_name" .name }}.handler
7272
{{- end }}
7373
headers = {
74-
{{- if eq (include "secrets.usesKubernetesSecret" .) "true" }}
74+
{{- if eq (include "secrets.usesSecret" (dict "object" . "key" "tenantId")) "true" }}
7575
"X-Scope-OrgID" = {{ include "secrets.read" (dict "object" . "key" "tenantId" "nonsensitive" true) }},
7676
{{- end }}
7777
{{- range $key, $value := .extraHeaders }}
@@ -92,13 +92,13 @@ otelcol.exporter.otlphttp {{ include "helper.alloy_name" .name | quote }} {
9292
tls {
9393
insecure = {{ .tls.insecure | default false }}
9494
insecure_skip_verify = {{ .tls.insecureSkipVerify | default false }}
95-
{{- if eq (include "secrets.usesKubernetesSecret" .) "true" }}
95+
{{- if eq (include "secrets.usesSecret" (dict "object" . "key" "tls.ca")) "true" }}
9696
ca_pem = {{ include "secrets.read" (dict "object" . "key" "tls.ca" "nonsensitive" true) }}
9797
{{- end }}
98-
{{- if eq (include "secrets.usesKubernetesSecret" .) "true" }}
98+
{{- if eq (include "secrets.usesSecret" (dict "object" . "key" "tls.cert")) "true" }}
9999
cert_pem = {{ include "secrets.read" (dict "object" . "key" "tls.cert" "nonsensitive" true) }}
100100
{{- end }}
101-
{{- if eq (include "secrets.usesKubernetesSecret" .) "true" }}
101+
{{- if eq (include "secrets.usesSecret" (dict "object" . "key" "tls.key")) "true" }}
102102
key_pem = {{ include "secrets.read" (dict "object" . "key" "tls.key") }}
103103
{{- end }}
104104
}

charts/k8s-monitoring/templates/destinations/_destination_prometheus.tpl

+3-3
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ prometheus.remote_write {{ include "helper.alloy_name" .name | quote }} {
1414
{{- end }}
1515
headers = {
1616
{{- if ne (include "secrets.authType" .) "sigv4" }}
17-
{{- if eq (include "secrets.usesKubernetesSecret" .) "true" }}
17+
{{- if eq (include "secrets.usesSecret" (dict "object" . "key" "tenantId")) "true" }}
1818
"X-Scope-OrgID" = {{ include "secrets.read" (dict "object" . "key" "tenantId" "nonsensitive" true) }},
1919
{{- end }}
2020
{{- end }}
@@ -57,10 +57,10 @@ prometheus.remote_write {{ include "helper.alloy_name" .name | quote }} {
5757
{{- if eq (include "secrets.usesSecret" (dict "object" . "key" "tls.ca")) "true" }}
5858
ca_pem = {{ include "secrets.read" (dict "object" . "key" "tls.ca" "nonsensitive" true) }}
5959
{{- end }}
60-
{{- if eq (include "secrets.usesKubernetesSecret" .) "true" }}
60+
{{- if eq (include "secrets.usesSecret" (dict "object" . "key" "tls.cert")) "true" }}
6161
cert_pem = {{ include "secrets.read" (dict "object" . "key" "tls.cert" "nonsensitive" true) }}
6262
{{- end }}
63-
{{- if eq (include "secrets.usesKubernetesSecret" .) "true" }}
63+
{{- if eq (include "secrets.usesSecret" (dict "object" . "key" "tls.key")) "true" }}
6464
key_pem = {{ include "secrets.read" (dict "object" . "key" "tls.key") }}
6565
{{- end }}
6666
}

charts/k8s-monitoring/templates/destinations/_destination_pyroscope.tpl

+4-4
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ pyroscope.write {{ include "helper.alloy_name" .name | quote }} {
99
url = {{ .url | quote }}
1010
{{- end }}
1111
headers = {
12-
{{- if eq (include "secrets.usesKubernetesSecret" .) "true" }}
12+
{{- if eq (include "secrets.usesSecret" (dict "object" . "key" "tenantId")) "true" }}
1313
"X-Scope-OrgID" = {{ include "secrets.read" (dict "object" . "key" "tenantId" "nonsensitive" true) }},
1414
{{- end }}
1515
{{- range $key, $value := .extraHeaders }}
@@ -32,13 +32,13 @@ pyroscope.write {{ include "helper.alloy_name" .name | quote }} {
3232
{{- if .tls }}
3333
tls_config {
3434
insecure_skip_verify = {{ .tls.insecureSkipVerify | default false }}
35-
{{- if eq (include "secrets.usesKubernetesSecret" .) "true" }}
35+
{{- if eq (include "secrets.usesSecret" (dict "object" . "key" "tls.ca")) "true" }}
3636
ca_pem = {{ include "secrets.read" (dict "object" . "key" "tls.ca" "nonsensitive" true) }}
3737
{{- end }}
38-
{{- if eq (include "secrets.usesKubernetesSecret" .) "true" }}
38+
{{- if eq (include "secrets.usesSecret" (dict "object" . "key" "tls.cert")) "true" }}
3939
cert_pem = {{ include "secrets.read" (dict "object" . "key" "tls.cert" "nonsensitive" true) }}
4040
{{- end }}
41-
{{- if eq (include "secrets.usesKubernetesSecret" .) "true" }}
41+
{{- if eq (include "secrets.usesSecret" (dict "object" . "key" "tls.key")) "true" }}
4242
key_pem = {{ include "secrets.read" (dict "object" . "key" "tls.key") }}
4343
{{- end }}
4444
}

charts/k8s-monitoring/templates/secrets/_helpers.tpl

+2-1
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,9 @@
88
{{/* Inputs: . (user of the secret, needs name, secret, auth) */}}
99
{{- define "secrets.secretType" }}
1010
{{- if hasKey . "secret" }}
11-
{{- if .secret.embed -}}embedded
11+
{{- if eq .secret.embed true -}}embedded
1212
{{- else if eq .secret.create false -}}external
13+
{{- else }}create
1314
{{- end }}
1415
{{- else -}}
1516
create
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
{{- if eq .Values.testing "true" }}
2+
---
3+
apiVersion: v1
4+
kind: ConfigMap
5+
metadata:
6+
name: test-secrets-authType
7+
data:
8+
testEmpty: {{ include "secrets.authType" dict | quote }}
9+
testEmptyAuth: {{ include "secrets.authType" (dict "auth" (dict)) | quote }}
10+
testEmptyType: {{ include "secrets.authType" (dict "auth" (dict "type" "")) | quote }}
11+
testAuthTypeBasic: {{ include "secrets.authType" (dict "auth" (dict "type" "basic")) | quote }}
12+
13+
---
14+
apiVersion: v1
15+
kind: ConfigMap
16+
metadata:
17+
name: test-secrets-secretType
18+
data:
19+
testEmpty: {{ include "secrets.secretType" dict | quote }}
20+
testEmptySecret: {{ include "secrets.secretType" (dict "secret" (dict)) | quote }}
21+
testEmbeddedTrue: {{ include "secrets.secretType" (dict "secret" (dict "embed" true)) | quote }}
22+
testEmbeddedFalse: {{ include "secrets.secretType" (dict "secret" (dict "embed" false)) | quote }}
23+
testCreateTrue: {{ include "secrets.secretType" (dict "secret" (dict "create" true)) | quote }}
24+
testCreateFalse: {{ include "secrets.secretType" (dict "secret" (dict "create" false)) | quote }}
25+
testBothTrue: {{ include "secrets.secretType" (dict "secret" (dict "create" true "embed" true)) | quote }}
26+
testBothFalse: {{ include "secrets.secretType" (dict "secret" (dict "create" false "embed" false)) | quote }}
27+
testCreateTrueEmbedFalse: {{ include "secrets.secretType" (dict "secret" (dict "create" true "embed" false)) | quote }}
28+
testCreateFalseEmbedTrue: {{ include "secrets.secretType" (dict "secret" (dict "create" false "embed" true)) | quote }}
29+
{{- end }}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# yamllint disable rule:document-start rule:line-length rule:trailing-spaces
2+
suite: Secret functions unit tests
3+
templates:
4+
- test/secrets.yaml
5+
tests:
6+
- it: secrets.authType works appropriately
7+
set:
8+
testing: "true"
9+
asserts:
10+
- {equal: {path: "data.testEmpty", value: "none" }, documentIndex: 0 }
11+
- {equal: {path: "data.testEmptyAuth", value: "none" }, documentIndex: 0 }
12+
- {equal: {path: "data.testEmptyType", value: "none" }, documentIndex: 0 }
13+
- {equal: {path: "data.testAuthTypeBasic", value: "basic" }, documentIndex: 0 }
14+
15+
- it: secrets.secretType works appropriately
16+
set:
17+
testing: "true"
18+
asserts:
19+
- {equal: {path: "data.testEmpty", value: "create" }, documentIndex: 1 }
20+
- {equal: {path: "data.testEmptySecret", value: "create" }, documentIndex: 1 }
21+
- {equal: {path: "data.testEmbeddedTrue", value: "embedded" }, documentIndex: 1 }
22+
- {equal: {path: "data.testEmbeddedFalse", value: "create" }, documentIndex: 1 }
23+
- {equal: {path: "data.testCreateTrue", value: "create" }, documentIndex: 1 }
24+
- {equal: {path: "data.testCreateFalse", value: "external" }, documentIndex: 1 }
25+
- {equal: {path: "data.testBothTrue", value: "embedded" }, documentIndex: 1 }
26+
- {equal: {path: "data.testBothFalse", value: "external" }, documentIndex: 1 }
27+
- {equal: {path: "data.testCreateTrueEmbedFalse", value: "create" }, documentIndex: 1 }
28+
- {equal: {path: "data.testCreateFalseEmbedTrue", value: "embedded" }, documentIndex: 1 }
29+

0 commit comments

Comments
 (0)