[Webservice] Support overriding ingress provider per Webservice deployment
What does this MR do?
Rearranges the "default" logic so that the ingress provider annotation specified on the Webservice Ingress deployment can properly override the global default provider value.
Moves this logic into a template that can be called from all of the Ingress templates.
Also removes the check before setting the annotation that would confirm that there was a global ingress provider value set, because the top-level values.yaml sets a default (meaning the value is always set).
Related issues
Closes #2930 (closed)
Testing
# ./build/test.values.yaml
global:
ingress:
provider: global-provider
gitlab:
webservice:
deployments:
default:
ingress:
path: /
provider: webservice-provider
$ helm template test . -f build/test.values.yaml --set certmanager-issuer.email=no@no.com --show-only charts/gitlab/charts/webservice/templates/ingress.yaml | grep kubernetes.io/ingress.provider
kubernetes.io/ingress.provider: webservice-provider
Confirm that the webservice-provider
annotation is set, rather than global-provider
.
Specs
Checklist
See Definition of done.
For anything in this list which will not be completed, please provide a reason in the MR discussion.
Required
-
Merge Request Title and Description are up to date, accurate, and descriptive -
MR targeting the appropriate branch -
MR has a green pipeline on GitLab.com
Expected (please provide an explanation if not completing)
-
Test plan indicating conditions for success has been posted and passes -
Documentation created/updated -
Tests added -
Integration tests added to GitLab QA -
Equivalent MR/issue for omnibus-gitlab opened
Closes #2930 (closed)
Edited by Mitchell Nielsen