@@ -86,3 +86,42 @@ Default root ingress path that excludes reserved prefixes and versioned prefixes
8686{{- $root := . -}}
8787/(?!api(?:/| $ )| schema(?:/| $ )| export(?:/| $ )| sample(?:/| $ )| {{ include " chart.ingress.semverSegmentRegex" $root | trim }}(?:/| $ ))(. *)
8888{{- end }}
89+
90+ {{/*
91+ Build ingress annotations for rewrite-based ingresses.
92+ Modes:
93+ - community: ingress-nginx annotations only
94+ - f5: F5 NGINX Ingress Controller annotations only
95+ - both: emit both annotation families
96+ User-provided ingress.annotations override chart defaults.
97+ */ }}
98+ {{- define " chart.ingress.annotations.rewrite" -}}
99+ {{- $root := .root -}}
100+ {{- $target := .target -}}
101+ {{- $mode := default " both" $root .Values.ingress.annotationMode -}}
102+ {{- $defaults := dict -}}
103+ {{- if or (eq $mode " community" ) (eq $mode " both" ) -}}
104+ {{- $_ := set $defaults " nginx.ingress.kubernetes.io/rewrite-target" $target -}}
105+ {{- $_ := set $defaults " nginx.ingress.kubernetes.io/use-regex" " true" -}}
106+ {{- end -}}
107+ {{- if or (eq $mode " f5" ) (eq $mode " both" ) -}}
108+ {{- $_ := set $defaults " nginx.org/path-regex" " case_sensitive" -}}
109+ {{- $_ := set $defaults " nginx.org/rewrite-target" $target -}}
110+ {{- end -}}
111+ {{- toYaml (mergeOverwrite (dict) $defaults ($root .Values.ingress.annotations | default dict)) -}}
112+ {{- end }}
113+
114+ {{/*
115+ Build ingress annotations for doc ingress.
116+ Only ingress-nginx needs an explicit use-regex=false default.
117+ User-provided ingress.annotations override chart defaults.
118+ */ }}
119+ {{- define " chart.ingress.annotations.doc" -}}
120+ {{- $root := . -}}
121+ {{- $mode := default " both" $root .Values.ingress.annotationMode -}}
122+ {{- $defaults := dict -}}
123+ {{- if or (eq $mode " community" ) (eq $mode " both" ) -}}
124+ {{- $_ := set $defaults " nginx.ingress.kubernetes.io/use-regex" " false" -}}
125+ {{- end -}}
126+ {{- toYaml (mergeOverwrite (dict) $defaults ($root .Values.ingress.annotations | default dict)) -}}
127+ {{- end }}
0 commit comments