diff --git a/.changelog/3184.txt b/.changelog/3184.txt new file mode 100644 index 0000000000..4e1abf0f35 --- /dev/null +++ b/.changelog/3184.txt @@ -0,0 +1,3 @@ +```release-note:bug +consul-telemetry-collector: fix args to consul-dataplane when global.acls.manageSystemACLs +``` \ No newline at end of file diff --git a/charts/consul/templates/telemetry-collector-deployment.yaml b/charts/consul/templates/telemetry-collector-deployment.yaml index 396cc147ab..780884f999 100644 --- a/charts/consul/templates/telemetry-collector-deployment.yaml +++ b/charts/consul/templates/telemetry-collector-deployment.yaml @@ -287,13 +287,12 @@ spec: - -login-auth-method={{ template "consul.fullname" . }}-k8s-auth-method {{- if .Values.global.enableConsulNamespaces }} {{- if .Values.syncCatalog.consulNamespaces.mirroringK8S }} - - -login-namespace="default" + - -login-namespace=default {{- else }} - -login-namespace={{ .Values.syncCatalog.consulNamespaces.consulDestinationNamespace }} {{- end }} {{- end }} {{- if .Values.global.adminPartitions.enabled }} - - foo - -login-partition={{ .Values.global.adminPartitions.name }} {{- end }} {{- end }} diff --git a/charts/consul/templates/telemetry-collector-v2-deployment.yaml b/charts/consul/templates/telemetry-collector-v2-deployment.yaml index a88277f3b2..86b4edf159 100644 --- a/charts/consul/templates/telemetry-collector-v2-deployment.yaml +++ b/charts/consul/templates/telemetry-collector-v2-deployment.yaml @@ -275,13 +275,12 @@ spec: - -login-auth-method={{ template "consul.fullname" . }}-k8s-auth-method {{- if .Values.global.enableConsulNamespaces }} {{- if .Values.syncCatalog.consulNamespaces.mirroringK8S }} - - -login-namespace="default" + - -login-namespace=default {{- else }} - -login-namespace={{ .Values.syncCatalog.consulNamespaces.consulDestinationNamespace }} {{- end }} {{- end }} {{- if .Values.global.adminPartitions.enabled }} - - foo - -login-partition={{ .Values.global.adminPartitions.name }} {{- end }} {{- end }} diff --git a/charts/consul/test/unit/telemetry-collector-deployment.bats b/charts/consul/test/unit/telemetry-collector-deployment.bats index 432200541b..60b87961b5 100755 --- a/charts/consul/test/unit/telemetry-collector-deployment.bats +++ b/charts/consul/test/unit/telemetry-collector-deployment.bats @@ -1212,4 +1212,40 @@ MIICFjCCAZsCCQCdwLtdjbzlYzAKBggqhkjOPQQDAjB0MQswCQYDVQQGEwJDQTEL' \ --set 'ui.enabled=false' \ --set 'global.experiments[0]=resource-apis' \ . -} \ No newline at end of file +} + +#-------------------------------------------------------------------- +# Namespaces + +@test "telemetryCollector/Deployment: namespace flags when mirroringK8S" { + cd `chart_dir` + local object=$(helm template \ + -s templates/telemetry-collector-deployment.yaml \ + --set 'telemetryCollector.enabled=true' \ + --set 'telemetryCollector.image=bar' \ + --set 'global.enableConsulNamespaces=true' \ + --set 'global.acls.manageSystemACLs=true' \ + --set 'syncCatalog.consulNamespaces.mirroringK8S=true' \ + . | tee /dev/stderr | + yq -r '.spec.template.spec' | tee /dev/stderr) + + local actual=$(echo $object | jq -r '.containers[1].args | any(contains("-login-namespace=default"))' | tee /dev/stderr) + [ "${actual}" = 'true' ] +} + +@test "telemetryCollector/Deployment: namespace flags when syncCatalog" { + cd `chart_dir` + local object=$(helm template \ + -s templates/telemetry-collector-deployment.yaml \ + --set 'telemetryCollector.enabled=true' \ + --set 'telemetryCollector.image=bar' \ + --set 'global.enableConsulNamespaces=true' \ + --set 'global.acls.manageSystemACLs=true' \ + --set 'syncCatalog.consulNamespaces.mirroringK8S=false' \ + --set 'syncCatalog.consulNamespaces.consulDestinationNamespace=fakenamespace' \ + . | tee /dev/stderr | + yq -r '.spec.template.spec.containers' | tee /dev/stderr) + + local actual=$(echo $object | jq -r '.[1].args | any(contains("-login-namespace=fakenamespace"))' | tee /dev/stderr) + [ "${actual}" = 'true' ] +} diff --git a/charts/consul/test/unit/telemetry-collector-v2-deployment.bats b/charts/consul/test/unit/telemetry-collector-v2-deployment.bats index f1d5de2597..a53882731c 100755 --- a/charts/consul/test/unit/telemetry-collector-v2-deployment.bats +++ b/charts/consul/test/unit/telemetry-collector-v2-deployment.bats @@ -1348,3 +1348,43 @@ MIICFjCCAZsCCQCdwLtdjbzlYzAKBggqhkjOPQQDAjB0MQswCQYDVQQGEwJDQTEL' \ --set 'telemetryCollector.image=bar' \ . } + +#-------------------------------------------------------------------- +# Namespaces + +@test "telemetryCollector/Deployment(V2): namespace flags when mirroringK8S" { + cd `chart_dir` + local object=$(helm template \ + -s templates/telemetry-collector-v2-deployment.yaml \ + --set 'ui.enabled=false' \ + --set 'global.experiments[0]=resource-apis' \ + --set 'telemetryCollector.enabled=true' \ + --set 'telemetryCollector.image=bar' \ + --set 'global.enableConsulNamespaces=true' \ + --set 'global.acls.manageSystemACLs=true' \ + --set 'syncCatalog.consulNamespaces.mirroringK8S=true' \ + . | tee /dev/stderr | + yq -r '.spec.template.spec' | tee /dev/stderr) + + local actual=$(echo $object | jq -r '.containers[1].args | any(contains("-login-namespace=default"))' | tee /dev/stderr) + [ "${actual}" = 'true' ] +} + +@test "telemetryCollector/Deployment(V2): namespace flags when syncCatalog" { + cd `chart_dir` + local object=$(helm template \ + -s templates/telemetry-collector-v2-deployment.yaml \ + --set 'ui.enabled=false' \ + --set 'global.experiments[0]=resource-apis' \ + --set 'telemetryCollector.enabled=true' \ + --set 'telemetryCollector.image=bar' \ + --set 'global.enableConsulNamespaces=true' \ + --set 'global.acls.manageSystemACLs=true' \ + --set 'syncCatalog.consulNamespaces.mirroringK8S=false' \ + --set 'syncCatalog.consulNamespaces.consulDestinationNamespace=fakenamespace' \ + . | tee /dev/stderr | + yq -r '.spec.template.spec.containers' | tee /dev/stderr) + + local actual=$(echo $object | jq -r '.[1].args | any(contains("-login-namespace=fakenamespace"))' | tee /dev/stderr) + [ "${actual}" = 'true' ] +}