contour
contour copied to clipboard
Support Gateway.spec.infrastructure field (experimental)
Please describe the problem you have [A clear, concise, description of the problem you are facing. What is the problem that feature X would solve for you?] Enhance gateway controller to respect gateway.spec.infrastructure field so customer could change ContourDeployment for specific Gateway without impacting all other Gateways referencing the same GatewayClass
Definition of infrastructure
Related TEP https://gateway-api.sigs.k8s.io/geps/gep-1867/
Related discussion here https://github.com/projectcontour/contour/issues/5256#issuecomment-1885971797
It gives flexibility for user to only change infra config of single Gateway without having to change the parameterRef in GatewayClass thus impacting all Gateway referencing this GatewayClass
Motivation @skriss shared concerns about adding changes to ContourDeployment in GatewayClass will cause massive rollout of all Gateway object referencing it https://github.com/projectcontour/contour/pull/5302#issuecomment-1601579805
Expected Behavior Option 1 add a field to ContourDeployment to tell whether the gatewayProvisioner should generate a copy of ContourDeployment on whenever a gateway is generated, and referencing that gateway to the new ContourDeployment
type ContourDeployment struct{ autoGenerateConfig bool } This way user can just modify the ContourDeployment associated with the current Gateway if they need to modify contour, without impacting other Gateway referencing the same gatewayClass.
Option 2
keep current ContourDeployment structure, we don't automatically create ContourDeployment for Gateway, but change the way gatewayController reconcile, if there is infrastructure field in Gateway, let's say ContourDeployment2, which is different from ContourDeployment1 referenced in GatewayClass parameterRef, Gateway provisioner should respect ContourDeployment2 first, if there are fields in ContourDeployment1 not in ContourDeployment2, then we can decide either to inherit those or just ignore them.
We can discuss in the other issue later
Option ... TBD
Hey @lubronzhan! Thanks for opening your first issue. We appreciate your contribution and welcome you to our community! We are glad to have you here and to have your input on Contour. You can also join us on our mailing list and in our channel in the Kubernetes Slack Workspace
The Contour project currently lacks enough contributors to adequately respond to all Issues.
This bot triages Issues according to the following rules:
- After 60d of inactivity, lifecycle/stale is applied
- After 30d of inactivity since lifecycle/stale was applied, the Issue is closed
You can:
- Mark this Issue as fresh by commenting
- Close this Issue
- Offer to help out with triage
Please send feedback to the #contour channel in the Kubernetes Slack
The Contour project currently lacks enough contributors to adequately respond to all Issues.
This bot triages Issues according to the following rules:
- After 60d of inactivity, lifecycle/stale is applied
- After 30d of inactivity since lifecycle/stale was applied, the Issue is closed
You can:
- Mark this Issue as fresh by commenting
- Close this Issue
- Offer to help out with triage
Please send feedback to the #contour channel in the Kubernetes Slack