UNCLASSIFIED - NO CUI

Update secret.yaml logic to support Match criteria prefix and equality

authservice filter chain Match logic supports both prefix and equality, however the existing authservice P1 Helm chart only supports prefix.

Replacing secret.yaml existing Lines 54-62:

          "match": {
            {{- if .match }}
            "header": "{{ .match.header | default $.Values.global.match.header }}",
            "prefix": "{{ .match.prefix | default $.Values.global.match.prefix }}"
            {{- else }}
            "header": "{{ $.Values.global.match.header }}",
            "prefix": "{{ $.Values.global.match.prefix }}"
            {{- end }}
          },

With:

          "match": {
          {{- if .match }}
            {{- $keynames := .match -}}
            {{- range $k1, $v1 := $v.match }}
            {{- if or (eq $k1 "header") (eq $k1 "equality") (eq $k1 "prefix") }}
            {{ $k1 | quote }}: {{ $v1 | quote }}{{ if ne $k1 ( last (keys $keynames | sortAlpha) ) }},{{ end }}
            {{- else }}
            {{ fail "chain match criteria must be prefix or equality" }}
            {{- end }}
            {{- end }}
          {{- else }}
            "header": "{{ $.Values.global.match.header }}",
            "prefix": "{{ $.Values.global.match.prefix }}"
          {{- end }}
          },

Would allow for use of both prefix and equality.

Edited by Charlie Inglese