diff --git a/charts/flagger/README.md b/charts/flagger/README.md index fc993132..6af12918 100644 --- a/charts/flagger/README.md +++ b/charts/flagger/README.md @@ -74,34 +74,35 @@ The following tables lists the configurable parameters of the Flagger chart and Parameter | Description | Default --- | --- | --- -`image.repository` | image repository | `weaveworks/flagger` -`image.tag` | image tag | `` -`image.pullPolicy` | image pull policy | `IfNotPresent` -`prometheus.install` | if `true`, installs Prometheus configured to scrape all pods in the custer including the App Mesh sidecar | `false` +`image.repository` | Image repository | `weaveworks/flagger` +`image.tag` | Image tag | `` +`image.pullPolicy` | Image pull policy | `IfNotPresent` +`prometheus.install` | If `true`, installs Prometheus configured to scrape all pods in the custer including the App Mesh sidecar | `false` `metricsServer` | Prometheus URL, used when `prometheus.install` is `false` | `http://prometheus.istio-system:9090` -`selectorLabels` | list of labels that Flagger uses to create pod selectors | `app,name,app.kubernetes.io/name` +`selectorLabels` | List of labels that Flagger uses to create pod selectors | `app,name,app.kubernetes.io/name` +`configTracking.enabled` | If `true`, flagger will track changes in Secrets and ConfigMaps referenced in the target deployment | `true` +`eventWebhook` | If set, Flagger will publish events to the given webhook | None `slack.url` | Slack incoming webhook | None `slack.channel` | Slack channel | None `slack.user` | Slack username | `flagger` -`eventWebhook` | If set, Flagger will publish events to the given webhook | None `msteams.url` | Microsoft Teams incoming webhook | None -`podMonitor.enabled` | if `true`, create a PodMonitor for [monitoring the metrics](https://docs.flagger.app/usage/monitoring#metrics) | `false` -`podMonitor.namespace` | the namespace where the PodMonitor is created | the same namespace -`podMonitor.interval` | interval at which metrics should be scraped | `15s` -`podMonitor.podMonitor` | additional labels to add to the PodMonitor | `{}` -`leaderElection.enabled` | leader election must be enabled when running more than one replica | `false` -`leaderElection.replicaCount` | number of replicas | `1` -`ingressAnnotationsPrefix` | annotations prefix for ingresses | `custom.ingress.kubernetes.io` -`rbac.create` | if `true`, create and use RBAC resources | `true` +`podMonitor.enabled` | If `true`, create a PodMonitor for [monitoring the metrics](https://docs.flagger.app/usage/monitoring#metrics) | `false` +`podMonitor.namespace` | Namespace where the PodMonitor is created | the same namespace +`podMonitor.interval` | Interval at which metrics should be scraped | `15s` +`podMonitor.podMonitor` | Additional labels to add to the PodMonitor | `{}` +`leaderElection.enabled` | If `true`, Flagger will run in HA mode | `false` +`leaderElection.replicaCount` | Number of replicas | `1` +`ingressAnnotationsPrefix` | Annotations prefix for ingresses | `custom.ingress.kubernetes.io` +`rbac.create` | If `true`, create and use RBAC resources | `true` `rbac.pspEnabled` | If `true`, create and use a restricted pod security policy | `false` -`crd.create` | if `true`, create Flagger's CRDs | `true` -`resources.requests/cpu` | pod CPU request | `10m` -`resources.requests/memory` | pod memory request | `32Mi` -`resources.limits/cpu` | pod CPU limit | `1000m` -`resources.limits/memory` | pod memory limit | `512Mi` -`affinity` | node/pod affinities | None -`nodeSelector` | node labels for pod assignment | `{}` -`tolerations` | list of node taints to tolerate | `[]` +`crd.create` | If `true`, create Flagger's CRDs | `true` +`resources.requests/cpu` | Pod CPU request | `10m` +`resources.requests/memory` | Pod memory request | `32Mi` +`resources.limits/cpu` | Pod CPU limit | `1000m` +`resources.limits/memory` | Pod memory limit | `512Mi` +`affinity` | Node/pod affinities | None +`nodeSelector` | Node labels for pod assignment | `{}` +`tolerations` | List of node taints to tolerate | `[]` Specify each parameter using the `--set key=value[,key=value]` argument to `helm upgrade`. For example, diff --git a/charts/flagger/templates/deployment.yaml b/charts/flagger/templates/deployment.yaml index 31d5b423..5941d8fe 100644 --- a/charts/flagger/templates/deployment.yaml +++ b/charts/flagger/templates/deployment.yaml @@ -9,8 +9,10 @@ metadata: app.kubernetes.io/instance: {{ .Release.Name }} spec: replicas: {{ .Values.leaderElection.replicaCount }} + {{- if eq .Values.leaderElection.enabled false }} strategy: type: Recreate + {{- end }} selector: matchLabels: app.kubernetes.io/name: {{ template "flagger.name" . }} @@ -64,6 +66,9 @@ spec: {{- if .Values.selectorLabels }} - -selector-labels={{ .Values.selectorLabels }} {{- end }} + {{- if .Values.configTracking }} + - -enable-config-tracking={{ .Values.configTracking.enabled }} + {{- end }} {{- if .Values.namespace }} - -namespace={{ .Values.namespace }} {{- end }} diff --git a/charts/flagger/values.yaml b/charts/flagger/values.yaml index e03d6882..826c551a 100644 --- a/charts/flagger/values.yaml +++ b/charts/flagger/values.yaml @@ -23,15 +23,19 @@ namespace: "" # defaults to: app,name,app.kubernetes.io/name selectorLabels: "" +# when enabled, flagger will track changes in Secrets and ConfigMaps referenced in the target deployment (enabled by default) +configTracking: + enabled: true + +# when specified, flagger will publish events to the provided webhook +eventWebhook: "" + slack: user: flagger channel: # incoming webhook https://api.slack.com/incoming-webhooks url: -# when specified, flagger will publish events to the provided webhook -eventWebhook: "" - msteams: # MS Teams incoming webhook URL url: @@ -91,5 +95,5 @@ nodeSelector: {} tolerations: [] prometheus: - # to be used with AppMesh or nginx ingress + # to be used with ingress controllers install: false