radius-project / radius

Radius is a cloud-native, portable application platform that makes app development easier for teams building cloud-native apps.
https://radapp.io
Apache License 2.0
1.5k stars 97 forks source link

Contour deployment should allow for additional customization #6369

Open infbase opened 2 years ago

infbase commented 2 years ago

Overview of feature request Contour deployment should allow for additional customization so that it works in clusters with additional constraints or existing configurations.

Additional context Examples of additional configurations that must be supported (as helm values):

If external load balancers are blocked in AKS (via Azure Policy or Gatekeeper for instance) the load balancer must be annotated to use the internal LB:

envoy:
  service:
    annotations:
        "service.beta.kubernetes.io/azure-load-balancer-internal": "true"

Not being able to set this results in rad env init kubernetes failing in these clusters.

If other ingress controllers exist in the cluster, Contour should not be automatically set to default as that may have an impact on existing services:

contour:
  ingressClass:
    default: false

AB#6986

AB#9690

infbase commented 3 months ago

Current additional annotations needed on the LoadBalancer service, in our case:

    service.beta.kubernetes.io/azure-load-balancer-health-probe-request-path: /healthz
    service.beta.kubernetes.io/azure-load-balancer-internal: "true"
    service.beta.kubernetes.io/azure-load-balancer-internal-subnet: xxx