From 959562eb4e13a681459d704bfd8087330500ecf0 Mon Sep 17 00:00:00 2001 From: Mara Furland Date: Fri, 20 Feb 2026 11:38:23 -0500 Subject: [PATCH] List valid mesh providers in CRD and help docs the list of values was incomplete in the cli help, the flagger chart, and was not present as an enum in the CRD Signed-off-by: Mara Furland --- artifacts/flagger/crd.yaml | 20 ++++++++++++++++++++ charts/flagger/crds/crd.yaml | 20 ++++++++++++++++++++ charts/flagger/values.yaml | 2 +- cmd/flagger/main.go | 2 +- kustomize/base/flagger/crd.yaml | 20 ++++++++++++++++++++ 5 files changed, 62 insertions(+), 2 deletions(-) diff --git a/artifacts/flagger/crd.yaml b/artifacts/flagger/crd.yaml index e138b66d4..4baf9c609 100644 --- a/artifacts/flagger/crd.yaml +++ b/artifacts/flagger/crd.yaml @@ -85,6 +85,26 @@ spec: provider: description: Traffic managent provider type: string + enum: + - apisix + - appmesh + - appmesh:v1beta2 + - contour + - gatewayapi:v1 + - gatewayapi:v1beta1 + - gloo + - istio + - knative + - kubernetes + - kuma + - linkerd + - nginx + - osm + - skipper + - smi:v1alpha1 + - smi:v1alpha2 + - smi:v1alpha3 + - traefik metricsServer: description: Prometheus URL type: string diff --git a/charts/flagger/crds/crd.yaml b/charts/flagger/crds/crd.yaml index e138b66d4..4baf9c609 100644 --- a/charts/flagger/crds/crd.yaml +++ b/charts/flagger/crds/crd.yaml @@ -85,6 +85,26 @@ spec: provider: description: Traffic managent provider type: string + enum: + - apisix + - appmesh + - appmesh:v1beta2 + - contour + - gatewayapi:v1 + - gatewayapi:v1beta1 + - gloo + - istio + - knative + - kubernetes + - kuma + - linkerd + - nginx + - osm + - skipper + - smi:v1alpha1 + - smi:v1alpha2 + - smi:v1alpha3 + - traefik metricsServer: description: Prometheus URL type: string diff --git a/charts/flagger/values.yaml b/charts/flagger/values.yaml index dbc9fc017..b274b9cb3 100644 --- a/charts/flagger/values.yaml +++ b/charts/flagger/values.yaml @@ -32,7 +32,7 @@ serviceMonitor: # Set labels for the ServiceMonitor, use this to define your scrape label for Prometheus Operator # labels: -# accepted values are kubernetes, istio, linkerd, appmesh, contour, nginx, gloo, skipper, traefik, apisix +# accepted values are apisix, appmesh, appmesh:v1beta2, contour, gatewayapi:v1, gatewayapi:v1beta1, gloo, istio, knative, kubernetes, kuma, linkerd, nginx, osm, skipper, smi:v1alpha1, smi:v1alpha2, smi:v1alpha3, traefik meshProvider: "" # single namespace restriction diff --git a/cmd/flagger/main.go b/cmd/flagger/main.go index fa7bb1a94..2031c506f 100644 --- a/cmd/flagger/main.go +++ b/cmd/flagger/main.go @@ -112,7 +112,7 @@ func init() { flag.BoolVar(&zapReplaceGlobals, "zap-replace-globals", false, "Whether to change the logging level of the global zap logger.") flag.StringVar(&zapEncoding, "zap-encoding", "json", "Zap logger encoding.") flag.StringVar(&namespace, "namespace", "", "Namespace that flagger would watch canary object.") - flag.StringVar(&meshProvider, "mesh-provider", "istio", "Service mesh provider, can be istio, linkerd, appmesh, contour, knative, gloo, nginx, skipper, traefik, apisix, osm or kuma.") + flag.StringVar(&meshProvider, "mesh-provider", "istio", "Service mesh provider, can be apisix, appmesh, appmesh:v1beta2, contour, gatewayapi:v1, gatewayapi:v1beta1, gloo, istio, knative, kubernetes, kuma, linkerd, nginx, osm, skipper, smi:v1alpha1, smi:v1alpha2, smi:v1alpha3, or traefik.") flag.StringVar(&selectorLabels, "selector-labels", "app,name,app.kubernetes.io/name", "List of pod labels that Flagger uses to create pod selectors.") flag.StringVar(&ingressAnnotationsPrefix, "ingress-annotations-prefix", "nginx.ingress.kubernetes.io", "Annotations prefix for NGINX ingresses.") flag.StringVar(&ingressClass, "ingress-class", "", "Ingress class used for annotating HTTPProxy objects.") diff --git a/kustomize/base/flagger/crd.yaml b/kustomize/base/flagger/crd.yaml index e138b66d4..4baf9c609 100644 --- a/kustomize/base/flagger/crd.yaml +++ b/kustomize/base/flagger/crd.yaml @@ -85,6 +85,26 @@ spec: provider: description: Traffic managent provider type: string + enum: + - apisix + - appmesh + - appmesh:v1beta2 + - contour + - gatewayapi:v1 + - gatewayapi:v1beta1 + - gloo + - istio + - knative + - kubernetes + - kuma + - linkerd + - nginx + - osm + - skipper + - smi:v1alpha1 + - smi:v1alpha2 + - smi:v1alpha3 + - traefik metricsServer: description: Prometheus URL type: string