From cfb54ec03f6895fa6c6e7926d6d87b7e227ae572 Mon Sep 17 00:00:00 2001 From: Ganesh S Date: Thu, 7 Sep 2023 23:05:48 -0700 Subject: [PATCH 1/3] Create 2905.txt --- .changelog/2905.txt | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 .changelog/2905.txt diff --git a/.changelog/2905.txt b/.changelog/2905.txt new file mode 100644 index 0000000000..c40135215b --- /dev/null +++ b/.changelog/2905.txt @@ -0,0 +1,3 @@ +```release-note:bug +audit-log: fix parsing error for some audit log configuration fields fail with uncovertible string to integer errors. +``` From 6f6304c2e707616ef316725ee9aa471e4630e277 Mon Sep 17 00:00:00 2001 From: Ganesh S Date: Thu, 7 Sep 2023 23:06:22 -0700 Subject: [PATCH 2/3] Update server-config-configmap.yaml --- charts/consul/templates/server-config-configmap.yaml | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/charts/consul/templates/server-config-configmap.yaml b/charts/consul/templates/server-config-configmap.yaml index f4f787cb24..28cd522f88 100644 --- a/charts/consul/templates/server-config-configmap.yaml +++ b/charts/consul/templates/server-config-configmap.yaml @@ -190,16 +190,7 @@ data: "sink": { {{- range $index, $element := .Values.server.auditLogs.sinks }} {{- if ne $index 0 }},{{end}} - "{{ $element.name }}": { - {{- $firstKeyValuePair := false }} - {{- range $k, $v := $element }} - {{- if ne $k "name" }} - {{- if ne $firstKeyValuePair false }},{{end}} - {{- $firstKeyValuePair = true }} - "{{ $k }}": "{{ $v }}" - {{- end }} - {{- end }} - } + "{{ get $element "name" }}": {{ omit $element "name" | toJson }} {{- end }} } } From 48c5c343c30472a8449ed6386845f86972ebd20d Mon Sep 17 00:00:00 2001 From: Ganesh S Date: Thu, 7 Sep 2023 23:09:58 -0700 Subject: [PATCH 3/3] Update server-config-configmap.bats --- .../test/unit/server-config-configmap.bats | 27 +++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/charts/consul/test/unit/server-config-configmap.bats b/charts/consul/test/unit/server-config-configmap.bats index ad1c79d248..0468d8356f 100755 --- a/charts/consul/test/unit/server-config-configmap.bats +++ b/charts/consul/test/unit/server-config-configmap.bats @@ -1020,6 +1020,8 @@ load _helpers --set 'server.auditLogs.sinks[0].format=json' \ --set 'server.auditLogs.sinks[0].delivery_guarantee=best-effort' \ --set 'server.auditLogs.sinks[0].rotate_duration=24h' \ + --set 'server.auditLogs.sinks[0].rotate_max_files=20' \ + --set 'server.auditLogs.sinks[0].rotate_bytes=12455355' \ --set 'server.auditLogs.sinks[0].path=/tmp/audit.json' \ . | tee /dev/stderr | yq -r '.data["audit-logging.json"]' | tee /dev/stderr) @@ -1032,6 +1034,12 @@ load _helpers local actual=$(echo $object | jq -r .audit.sink.MySink.rotate_duration | tee /dev/stderr) [ "${actual}" = "24h" ] + + local actual=$(echo $object | jq -r .audit.sink.MySink.rotate_max_files | tee /dev/stderr) + [ ${actual} = 20 ] + + local actual=$(echo $object | jq -r .audit.sink.MySink.rotate_bytes | tee /dev/stderr) + [ ${actual} = 12455355 ] } @test "server/ConfigMap: server.auditLogs is enabled with 1 sink input object and it does not contain the name attribute" { @@ -1043,6 +1051,8 @@ load _helpers --set 'server.auditLogs.sinks[0].name=MySink' \ --set 'server.auditLogs.sinks[0].type=file' \ --set 'server.auditLogs.sinks[0].format=json' \ + --set 'server.auditLogs.sinks[0].rotate_max_files=20' \ + --set 'server.auditLogs.sinks[0].rotate_bytes=12455355' \ --set 'server.auditLogs.sinks[0].delivery_guarantee=best-effort' \ --set 'server.auditLogs.sinks[0].rotate_duration=24h' \ --set 'server.auditLogs.sinks[0].path=/tmp/audit.json' \ @@ -1064,19 +1074,23 @@ load _helpers --set 'server.auditLogs.sinks[0].delivery_guarantee=best-effort' \ --set 'server.auditLogs.sinks[0].rotate_duration=24h' \ --set 'server.auditLogs.sinks[0].path=/tmp/audit.json' \ + --set 'server.auditLogs.sinks[0].rotate_max_files=15' \ + --set 'server.auditLogs.sinks[0].rotate_bytes=12445' \ --set 'server.auditLogs.sinks[1].name=MySink2' \ --set 'server.auditLogs.sinks[1].type=file' \ --set 'server.auditLogs.sinks[1].format=json' \ --set 'server.auditLogs.sinks[1].delivery_guarantee=best-effort' \ - --set 'server.auditLogs.sinks[1].rotate_max_files=15' \ --set 'server.auditLogs.sinks[1].rotate_duration=24h' \ --set 'server.auditLogs.sinks[1].path=/tmp/audit-2.json' \ + --set 'server.auditLogs.sinks[1].rotate_max_files=25' \ + --set 'server.auditLogs.sinks[1].rotate_bytes=152445' \ --set 'server.auditLogs.sinks[2].name=MySink3' \ --set 'server.auditLogs.sinks[2].type=file' \ --set 'server.auditLogs.sinks[2].format=json' \ --set 'server.auditLogs.sinks[2].delivery_guarantee=best-effort' \ --set 'server.auditLogs.sinks[2].rotate_max_files=20' \ --set 'server.auditLogs.sinks[2].rotate_duration=18h' \ + --set 'server.auditLogs.sinks[2].rotate_bytes=12445' \ --set 'server.auditLogs.sinks[2].path=/tmp/audit-3.json' \ . | tee /dev/stderr | yq -r '.data["audit-logging.json"]' | tee /dev/stderr) @@ -1087,6 +1101,9 @@ load _helpers local actual=$(echo $object | jq -r .audit.sink.MySink3.path | tee /dev/stderr) [ "${actual}" = "/tmp/audit-3.json" ] + local actual=$(echo $object | jq -r .audit.sink.MySink1.rotate_max_files | tee /dev/stderr) + [ ${actual} = 15 ] + local actual=$(echo $object | jq -r .audit.sink.MySink2.path | tee /dev/stderr) [ "${actual}" = "/tmp/audit-2.json" ] @@ -1099,11 +1116,17 @@ load _helpers local actual=$(echo $object | jq -r .audit.sink.MySink2.rotate_duration | tee /dev/stderr) [ "${actual}" = "24h" ] + local actual=$(echo $object | jq -r .audit.sink.MySink2.rotate_bytes | tee /dev/stderr) + [ ${actual} = 152445 ] + local actual=$(echo $object | jq -r .audit.sink.MySink1.format | tee /dev/stderr) [ "${actual}" = "json" ] local actual=$(echo $object | jq -r .audit.sink.MySink3.type | tee /dev/stderr) [ "${actual}" = "file" ] + + local actual=$(echo $object | jq -r .audit.sink.MySink3.rotate_max_files | tee /dev/stderr) + [ ${actual} = 20 ] } @test "server/ConfigMap: server.logLevel is empty" { @@ -1125,4 +1148,4 @@ load _helpers yq -r '.data["server.json"]' | jq -r .log_level | tee /dev/stderr) [ "${configmap}" = "DEBUG" ] -} \ No newline at end of file +}