flagger
flagger copied to clipboard
Support: Multiple Contour Ingress controllers not supported
Describe the bug
Currently have multiple contour ingress controllers, internal and external deployed using the contour helm chart with 2 different ingress classes defined. Flagger using contour mesh provider (ingress) currently has the limitation of only defining 1 ingress class name in flagger for the canary to create the relevant httpproxy as defined in code below: (https://github.com/fluxcd/flagger/blob/e6c740d917bdb3da5163bdef41b66ce8d20f31bf/pkg/router/contour.go)
To Reproduce
- Deploy 2 Contour ingress controllers with different ingresscalss names.
- Deploy Flagger with mesh provider= contour and ingressclass= ""
- Deploy 2 instances of test application linked to each ingress class
- Deploy Flagger Canary
Note this will only work for the one instance of the application
Expected behavior
- The ability to define the ingressclass name as part of the canary instead of the flagger deployment to create the httpproxy. 2.OR the ability to pre define the httppproxy manually to be used by the canary
Additional context
- Flagger version: 1.13.0
- Kubernetes version: 1.22
- Service Mesh provider: -
- Ingress provider: Contour