From 8baf0d4465e8784fdd0c769d3db000e221e1aab9 Mon Sep 17 00:00:00 2001 From: stephen-harris <54176138+stephen-harris@users.noreply.github.com> Date: Thu, 21 Jan 2021 17:48:29 +0000 Subject: [PATCH 01/18] Feat(argo-rollouts): Update argo-rollouts to v0.10.2 (#538) * feat(argo-rollouts): Update argo-rollouts to v0.10.2 Signed-off-by: Stephen Harris * chore: apiextensions.k8s.io/v1beta1 CustomResourceDefinition is deprecated in favor of apiextensions.k8s.io/v1 CustomResourceDefinition Signed-off-by: Stephen Harris --- charts/argo-rollouts/Chart.yaml | 4 +- charts/argo-rollouts/README.md | 4 +- .../argo-rollouts-aggregate-roles.yaml | 8 + .../templates/argo-rollouts-clusterrole.yaml | 138 +++++++++--------- .../templates/argo-rollouts-deployment.yaml | 12 +- .../templates/argo-rollouts-role.yaml | 131 ++++++++++------- .../templates/crds/analysis-run-crd.yaml | 31 +++- .../templates/crds/analysis-template-crd.yaml | 31 +++- .../crds/cluster-analysis-template-crd.yaml | 31 +++- .../templates/crds/experiment-crd.yaml | 13 +- .../templates/crds/rollout-crd.yaml | 87 ++++++++++- charts/argo-rollouts/values.yaml | 2 +- 12 files changed, 343 insertions(+), 149 deletions(-) diff --git a/charts/argo-rollouts/Chart.yaml b/charts/argo-rollouts/Chart.yaml index 2acfa9cc..eed61c87 100644 --- a/charts/argo-rollouts/Chart.yaml +++ b/charts/argo-rollouts/Chart.yaml @@ -1,8 +1,8 @@ apiVersion: v1 -appVersion: "0.9.1" +appVersion: "0.10.2" description: A Helm chart for Argo Rollouts name: argo-rollouts -version: 0.3.10 +version: 0.4.0 icon: https://raw.githubusercontent.com/argoproj/argo/master/argo.png home: https://github.com/argoproj/argo-helm maintainers: diff --git a/charts/argo-rollouts/README.md b/charts/argo-rollouts/README.md index 37ea661b..38bef6ea 100644 --- a/charts/argo-rollouts/README.md +++ b/charts/argo-rollouts/README.md @@ -2,7 +2,7 @@ Argo Rollouts Chart ============= A Helm chart for Argo Rollouts, progressive delivery for Kubernetes. -Current chart version is `0.3.7` +Current chart version is `0.4.0` Source code can be found [here](https://github.com/argoproj/argo-rollouts) @@ -33,7 +33,7 @@ $ helm install --name my-release argo/argo-rollouts | controller.component | string | `"rollouts-controller"` | | | controller.image.pullPolicy | string | `"IfNotPresent"` | | | controller.image.repository | string | `"argoproj/argo-rollouts"` | | -| controller.image.tag | string | `"v0.8.0"` | | +| controller.image.tag | string | `"v0.10.2"` | | | controller.name | string | `"argo-rollouts"` | | | controller.resources | Resource limits and requests for the controller pods. | `{}` | | controller.tolerations | [Tolerations for use with node taints](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/) | `[]` | diff --git a/charts/argo-rollouts/templates/argo-rollouts-aggregate-roles.yaml b/charts/argo-rollouts/templates/argo-rollouts-aggregate-roles.yaml index 2cc55d1f..715aa001 100644 --- a/charts/argo-rollouts/templates/argo-rollouts-aggregate-roles.yaml +++ b/charts/argo-rollouts/templates/argo-rollouts-aggregate-roles.yaml @@ -13,8 +13,10 @@ rules: - argoproj.io resources: - rollouts + - rollouts/scale - experiments - analysistemplates + - clusteranalysistemplates - analysisruns verbs: - get @@ -36,8 +38,11 @@ rules: - argoproj.io resources: - rollouts + - rollouts/scale + - rollouts/status - experiments - analysistemplates + - clusteranalysistemplates - analysisruns verbs: - create @@ -64,8 +69,11 @@ rules: - argoproj.io resources: - rollouts + - rollouts/scale + - rollouts/status - experiments - analysistemplates + - clusteranalysistemplates - analysisruns verbs: - create diff --git a/charts/argo-rollouts/templates/argo-rollouts-clusterrole.yaml b/charts/argo-rollouts/templates/argo-rollouts-clusterrole.yaml index abc1a113..b9595710 100644 --- a/charts/argo-rollouts/templates/argo-rollouts-clusterrole.yaml +++ b/charts/argo-rollouts/templates/argo-rollouts-clusterrole.yaml @@ -8,6 +8,43 @@ metadata: app.kubernetes.io/name: {{ .Release.Name }}-clusterrole app.kubernetes.io/part-of: {{ .Release.Name }} rules: +- apiGroups: + - argoproj.io + resources: + - rollouts + - rollouts/status + - rollouts/finalizers + verbs: + - get + - list + - watch + - update + - patch +- apiGroups: + - argoproj.io + resources: + - analysisruns + - analysisruns/finalizers + - experiments + - experiments/finalizers + verbs: + - create + - get + - list + - watch + - update + - patch + - delete +- apiGroups: + - argoproj.io + resources: + - analysistemplates + - clusteranalysistemplates + verbs: + - get + - list + - watch +# replicaset access needed for managing ReplicaSets - apiGroups: - apps resources: @@ -20,6 +57,7 @@ rules: - update - patch - delete +# services patch needed to update selector of canary/stable/active/preview services - apiGroups: - "" resources: @@ -29,59 +67,52 @@ rules: - list - watch - patch +# secret read access to run analysis templates which reference secrets - apiGroups: - - "" + - "" resources: - - secrets - verbs: - - get - - list - - watch -- apiGroups: - - argoproj.io - resources: - - rollouts + - secrets verbs: - get - list - watch +# pod list/update needed for updating ephemeral data +- apiGroups: + - "" + resources: + - pods + verbs: + - list + - update +# pods eviction needed for restart +- apiGroups: + - "" + resources: + - pods/eviction + verbs: + - create +# event write needed for emitting events +- apiGroups: + - "" + resources: + - events + verbs: + - create - update - patch +# ingress patch needed for managing ingress annotations, create needed for nginx canary - apiGroups: - - argoproj.io + - networking.k8s.io + - extensions resources: - - rollouts/finalizers - verbs: - - update -- apiGroups: - - argoproj.io - resources: - - analysisruns - - experiments + - ingresses verbs: - create - get - list - watch - - update - patch - - delete -- apiGroups: - - argoproj.io - resources: - - analysisruns/finalizers - - experiments/finalizers - verbs: - - update -- apiGroups: - - argoproj.io - resources: - - analysistemplates - - clusteranalysistemplates - verbs: - - get - - list - - watch +# job access needed for analysis template job metrics - apiGroups: - batch resources: @@ -94,24 +125,7 @@ rules: - update - patch - delete -- apiGroups: - - extensions - resources: - - ingresses - verbs: - - create - - get - - list - - watch - - patch -- apiGroups: - - "" - resources: - - events - verbs: - - create - - update - - patch +# virtualservice access needed for using the Istio provider - apiGroups: - networking.istio.io resources: @@ -121,6 +135,7 @@ rules: - get - update - list +# trafficsplit access needed for using the SMI provider - apiGroups: - split.smi-spec.io resources: @@ -131,17 +146,4 @@ rules: - get - update - patch -- apiGroups: - - "" - resources: - - pods - verbs: - - list - - delete -- apiGroups: - - "*" - resources: - - "*/finalizers" - verbs: - - "*" {{- end }} diff --git a/charts/argo-rollouts/templates/argo-rollouts-deployment.yaml b/charts/argo-rollouts/templates/argo-rollouts-deployment.yaml index c2c2df64..b78b1402 100644 --- a/charts/argo-rollouts/templates/argo-rollouts-deployment.yaml +++ b/charts/argo-rollouts/templates/argo-rollouts-deployment.yaml @@ -30,14 +30,13 @@ spec: {{- end }} serviceAccountName: {{ .Values.serviceAccount.name }} containers: - - command: - - "/bin/rollouts-controller" image: "{{ .Values.controller.image.repository }}:{{ .Values.controller.image.tag }}" + {{- if not .Values.clusterInstall }} + args: + - --namespaced + {{- end }} imagePullPolicy: {{ .Values.controller.image.pullPolicy }} name: {{ .Values.controller.name }} - volumeMounts: - - name: tmp - mountPath: /tmp resources: {{- toYaml .Values.controller.resources | nindent 10 }} {{- if .Values.controller.nodeSelector }} @@ -52,8 +51,5 @@ spec: affinity: {{- toYaml .Values.controller.affinity | nindent 8 }} {{- end }} - volumes: - - name: tmp - emptyDir: {} strategy: type: Recreate diff --git a/charts/argo-rollouts/templates/argo-rollouts-role.yaml b/charts/argo-rollouts/templates/argo-rollouts-role.yaml index dee6f168..4c80d507 100644 --- a/charts/argo-rollouts/templates/argo-rollouts-role.yaml +++ b/charts/argo-rollouts/templates/argo-rollouts-role.yaml @@ -7,6 +7,43 @@ metadata: app.kubernetes.io/name: {{ .Release.Name }}-role app.kubernetes.io/part-of: {{ .Release.Name }} rules: +- apiGroups: + - argoproj.io + resources: + - rollouts + - rollouts/status + - rollouts/finalizers + verbs: + - get + - list + - watch + - update + - patch +- apiGroups: + - argoproj.io + resources: + - analysisruns + - analysisruns/finalizers + - experiments + - experiments/finalizers + verbs: + - create + - get + - list + - watch + - update + - patch + - delete +- apiGroups: + - argoproj.io + resources: + - analysistemplates + - clusteranalysistemplates + verbs: + - get + - list + - watch +# replicaset access needed for managing ReplicaSets - apiGroups: - apps resources: @@ -19,6 +56,7 @@ rules: - update - patch - delete +# services patch needed to update selector of canary/stable/active/preview services - apiGroups: - "" resources: @@ -28,59 +66,52 @@ rules: - list - watch - patch +# secret read access to run analysis templates which reference secrets - apiGroups: - - "" + - "" resources: - - secrets - verbs: - - get - - list - - watch -- apiGroups: - - argoproj.io - resources: - - rollouts + - secrets verbs: - get - list - watch +# pod list/update needed for updating ephemeral data +- apiGroups: + - "" + resources: + - pods + verbs: + - list + - update +# pods eviction needed for restart +- apiGroups: + - "" + resources: + - pods/eviction + verbs: + - create +# event write needed for emitting events +- apiGroups: + - "" + resources: + - events + verbs: + - create - update - patch +# ingress patch needed for managing ingress annotations, create needed for nginx canary - apiGroups: - - argoproj.io + - networking.k8s.io + - extensions resources: - - rollouts/finalizers - verbs: - - update -- apiGroups: - - argoproj.io - resources: - - analysisruns - - experiments + - ingresses verbs: - create - get - list - watch - - update - patch - - delete -- apiGroups: - - argoproj.io - resources: - - analysisruns/finalizers - - experiments/finalizers - verbs: - - update -- apiGroups: - - argoproj.io - resources: - - analysistemplates - - clusteranalysistemplates - verbs: - - get - - list - - watch +# job access needed for analysis template job metrics - apiGroups: - batch resources: @@ -93,28 +124,24 @@ rules: - update - patch - delete +# virtualservice access needed for using the Istio provider - apiGroups: - - extensions + - networking.istio.io resources: - - ingresses + - virtualservices verbs: - - create - - get - - list - watch - - patch + - get + - update + - list +# trafficsplit access needed for using the SMI provider - apiGroups: - - "" + - split.smi-spec.io resources: - - events + - trafficsplits verbs: - create + - watch + - get - update - patch -- apiGroups: - - "" - resources: - - pods - verbs: - - list - - delete diff --git a/charts/argo-rollouts/templates/crds/analysis-run-crd.yaml b/charts/argo-rollouts/templates/crds/analysis-run-crd.yaml index 3a4caef4..e5a78219 100644 --- a/charts/argo-rollouts/templates/crds/analysis-run-crd.yaml +++ b/charts/argo-rollouts/templates/crds/analysis-run-crd.yaml @@ -1,9 +1,9 @@ {{- if .Values.installCRDs }} -apiVersion: apiextensions.k8s.io/v1beta1 +apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.2.5 + controller-gen.kubebuilder.io/version: v0.4.0 name: analysisruns.argoproj.io spec: additionalPrinterColumns: @@ -41,6 +41,13 @@ spec: type: string valueFrom: properties: + fieldRef: + properties: + fieldPath: + type: string + required: + - fieldPath + type: object secretKeyRef: properties: key: @@ -81,6 +88,15 @@ spec: type: string provider: properties: + datadog: + properties: + interval: + type: string + query: + type: string + required: + - query + type: object job: properties: metadata: @@ -2053,6 +2069,8 @@ spec: fsGroup: format: int64 type: integer + fsGroupChangePolicy: + type: string runAsGroup: format: int64 type: integer @@ -2679,6 +2697,15 @@ spec: - storageAccountName - threshold type: object + newRelic: + properties: + profile: + type: string + query: + type: string + required: + - query + type: object prometheus: properties: address: diff --git a/charts/argo-rollouts/templates/crds/analysis-template-crd.yaml b/charts/argo-rollouts/templates/crds/analysis-template-crd.yaml index c559fae1..7e67249d 100644 --- a/charts/argo-rollouts/templates/crds/analysis-template-crd.yaml +++ b/charts/argo-rollouts/templates/crds/analysis-template-crd.yaml @@ -1,9 +1,9 @@ {{- if .Values.installCRDs }} -apiVersion: apiextensions.k8s.io/v1beta1 +apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.2.5 + controller-gen.kubebuilder.io/version: v0.4.0 name: analysistemplates.argoproj.io spec: group: argoproj.io @@ -35,6 +35,13 @@ spec: type: string valueFrom: properties: + fieldRef: + properties: + fieldPath: + type: string + required: + - fieldPath + type: object secretKeyRef: properties: key: @@ -75,6 +82,15 @@ spec: type: string provider: properties: + datadog: + properties: + interval: + type: string + query: + type: string + required: + - query + type: object job: properties: metadata: @@ -2047,6 +2063,8 @@ spec: fsGroup: format: int64 type: integer + fsGroupChangePolicy: + type: string runAsGroup: format: int64 type: integer @@ -2673,6 +2691,15 @@ spec: - storageAccountName - threshold type: object + newRelic: + properties: + profile: + type: string + query: + type: string + required: + - query + type: object prometheus: properties: address: diff --git a/charts/argo-rollouts/templates/crds/cluster-analysis-template-crd.yaml b/charts/argo-rollouts/templates/crds/cluster-analysis-template-crd.yaml index 9a768072..4682d90c 100644 --- a/charts/argo-rollouts/templates/crds/cluster-analysis-template-crd.yaml +++ b/charts/argo-rollouts/templates/crds/cluster-analysis-template-crd.yaml @@ -1,9 +1,9 @@ {{- if .Values.installCRDs }} -apiVersion: apiextensions.k8s.io/v1beta1 +apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.2.5 + controller-gen.kubebuilder.io/version: v0.4.0 name: clusteranalysistemplates.argoproj.io spec: group: argoproj.io @@ -35,6 +35,13 @@ spec: type: string valueFrom: properties: + fieldRef: + properties: + fieldPath: + type: string + required: + - fieldPath + type: object secretKeyRef: properties: key: @@ -75,6 +82,15 @@ spec: type: string provider: properties: + datadog: + properties: + interval: + type: string + query: + type: string + required: + - query + type: object job: properties: metadata: @@ -2047,6 +2063,8 @@ spec: fsGroup: format: int64 type: integer + fsGroupChangePolicy: + type: string runAsGroup: format: int64 type: integer @@ -2673,6 +2691,15 @@ spec: - storageAccountName - threshold type: object + newRelic: + properties: + profile: + type: string + query: + type: string + required: + - query + type: object prometheus: properties: address: diff --git a/charts/argo-rollouts/templates/crds/experiment-crd.yaml b/charts/argo-rollouts/templates/crds/experiment-crd.yaml index bd435156..1133a9c8 100644 --- a/charts/argo-rollouts/templates/crds/experiment-crd.yaml +++ b/charts/argo-rollouts/templates/crds/experiment-crd.yaml @@ -1,9 +1,9 @@ {{- if .Values.installCRDs }} -apiVersion: apiextensions.k8s.io/v1beta1 +apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.2.5 + controller-gen.kubebuilder.io/version: v0.4.0 name: experiments.argoproj.io spec: additionalPrinterColumns: @@ -44,6 +44,13 @@ spec: type: string valueFrom: properties: + fieldRef: + properties: + fieldPath: + type: string + required: + - fieldPath + type: object secretKeyRef: properties: key: @@ -2031,6 +2038,8 @@ spec: fsGroup: format: int64 type: integer + fsGroupChangePolicy: + type: string runAsGroup: format: int64 type: integer diff --git a/charts/argo-rollouts/templates/crds/rollout-crd.yaml b/charts/argo-rollouts/templates/crds/rollout-crd.yaml index 18afb92b..74fb4ad9 100644 --- a/charts/argo-rollouts/templates/crds/rollout-crd.yaml +++ b/charts/argo-rollouts/templates/crds/rollout-crd.yaml @@ -1,9 +1,9 @@ {{- if .Values.installCRDs }} -apiVersion: apiextensions.k8s.io/v1beta1 +apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.2.5 + controller-gen.kubebuilder.io/version: v0.4.0 name: rollouts.argoproj.io spec: additionalPrinterColumns: @@ -16,13 +16,11 @@ spec: name: Current type: integer - JSONPath: .status.updatedReplicas - description: Total number of non-terminated pods targeted by this rollout that - have the desired template spec + description: Total number of non-terminated pods targeted by this rollout that have the desired template spec name: Up-to-date type: integer - JSONPath: .status.availableReplicas - description: Total number of available pods (ready for at least minReadySeconds) - targeted by this rollout + description: Total number of available pods (ready for at least minReadySeconds) targeted by this rollout name: Available type: integer group: argoproj.io @@ -39,6 +37,7 @@ spec: labelSelectorPath: .status.selector specReplicasPath: .spec.replicas statusReplicasPath: .status.HPAReplicas + status: {} validation: openAPIV3Schema: properties: @@ -125,6 +124,13 @@ spec: type: string valueFrom: properties: + fieldRef: + properties: + fieldPath: + type: string + required: + - fieldPath + type: object podTemplateHashValue: type: string type: object @@ -157,6 +163,13 @@ spec: type: string valueFrom: properties: + fieldRef: + properties: + fieldPath: + type: string + required: + - fieldPath + type: object podTemplateHashValue: type: string type: object @@ -205,6 +218,13 @@ spec: type: string valueFrom: properties: + fieldRef: + properties: + fieldPath: + type: string + required: + - fieldPath + type: object podTemplateHashValue: type: string type: object @@ -242,6 +262,17 @@ spec: requiredDuringSchedulingIgnoredDuringExecution: type: object type: object + canaryMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object canaryService: type: string maxSurge: @@ -254,6 +285,17 @@ spec: - type: integer - type: string x-kubernetes-int-or-string: true + stableMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object stableService: type: string steps: @@ -270,6 +312,13 @@ spec: type: string valueFrom: properties: + fieldRef: + properties: + fieldPath: + type: string + required: + - fieldPath + type: object podTemplateHashValue: type: string type: object @@ -305,6 +354,13 @@ spec: type: string valueFrom: properties: + fieldRef: + properties: + fieldPath: + type: string + required: + - fieldPath + type: object podTemplateHashValue: type: string type: object @@ -316,6 +372,8 @@ spec: type: boolean name: type: string + requiredForCompletion: + type: boolean templateName: type: string required: @@ -385,6 +443,17 @@ spec: - type: string x-kubernetes-int-or-string: true type: object + setCanaryScale: + properties: + matchTrafficWeight: + type: boolean + replicas: + format: int32 + type: integer + weight: + format: int32 + type: integer + type: object setWeight: format: int32 type: integer @@ -2367,6 +2436,8 @@ spec: fsGroup: format: int64 type: integer + fsGroupChangePolicy: + type: string runAsGroup: format: int64 type: integer @@ -2992,8 +3063,6 @@ spec: - name - status type: object - stableRS: - type: string type: object collisionCount: format: int32 @@ -3048,6 +3117,8 @@ spec: - startTime type: object type: array + promoteFull: + type: boolean readyReplicas: format: int32 type: integer diff --git a/charts/argo-rollouts/values.yaml b/charts/argo-rollouts/values.yaml index a488e6ec..4e11b693 100644 --- a/charts/argo-rollouts/values.yaml +++ b/charts/argo-rollouts/values.yaml @@ -13,7 +13,7 @@ controller: affinity: {} image: repository: argoproj/argo-rollouts - tag: v0.9.1 + tag: v0.10.2 pullPolicy: IfNotPresent resources: {} From 5e46d0eba0374c80156ea0e8ad470400e50457bb Mon Sep 17 00:00:00 2001 From: Alex Collins Date: Thu, 21 Jan 2021 10:55:51 -0800 Subject: [PATCH 02/18] enable stale bot --- .github/stale.yaml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 .github/stale.yaml diff --git a/.github/stale.yaml b/.github/stale.yaml new file mode 100644 index 00000000..d9f65632 --- /dev/null +++ b/.github/stale.yaml @@ -0,0 +1,17 @@ +# Number of days of inactivity before an issue becomes stale +daysUntilStale: 60 +# Number of days of inactivity before a stale issue is closed +daysUntilClose: 7 +# Issues with these labels will never be considered stale +exemptLabels: + - pinned + - security +# Label to use when marking an issue as stale +staleLabel: wontfix +# Comment to post when marking an issue as stale. Set to `false` to disable +markComment: > + This issue has been automatically marked as stale because it has not had + recent activity. It will be closed if no further activity occurs. Thank you + for your contributions. +# Comment to post when closing a stale issue. Set to `false` to disable +closeComment: false \ No newline at end of file From bb0e3e67c7df35eb75f5544c8fc3830fc6c94cbe Mon Sep 17 00:00:00 2001 From: Alex Collins Date: Fri, 22 Jan 2021 03:19:42 -0800 Subject: [PATCH 03/18] chore: Add/invite new code-owners (#551) * chore: Add/invite new code-owners * remove @vladlosev from argo-events --- CODEOWNERS | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/CODEOWNERS b/CODEOWNERS index 3fa1142c..0d75ccc8 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -1,13 +1,13 @@ # https://help.github.com/en/github/creating-cloning-and-archiving-repositories/about-code-owners # Argo Workflows -/charts/argo @benjaminws @stefansedich @paguos +/charts/argo @benjaminws @stefansedich @paguos @vladlosev @yann-soubeyrand # Argo CD -/charts/argo-cd @seanson @spencergilbert +/charts/argo-cd @seanson @spencergilbert @davidkarlsen @mr-sour @yann-soubeyrand # Argo Events -/charts/argo-events @jbehling +/charts/argo-events @jbehling @VaibhavPage # Argo Rollouts /charts/argo-rollouts @cabrinha From ef64e585fe90d88055f0cf052bfd74d863fcec73 Mon Sep 17 00:00:00 2001 From: Chulki Lee Date: Fri, 22 Jan 2021 20:23:36 +0900 Subject: [PATCH 04/18] fix(argo-cd): quote version annotation (#534) Signed-off-by: Chulki Lee Co-authored-by: David J. M. Karlsen --- charts/argo-cd/Chart.yaml | 2 +- charts/argo-cd/templates/dex/deployment.yaml | 4 ++-- charts/argo-cd/templates/redis/deployment.yaml | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/charts/argo-cd/Chart.yaml b/charts/argo-cd/Chart.yaml index 761255f0..025028e5 100644 --- a/charts/argo-cd/Chart.yaml +++ b/charts/argo-cd/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v1 appVersion: 1.7.6 description: A Helm chart for ArgoCD, a declarative, GitOps continuous delivery tool for Kubernetes. name: argo-cd -version: 2.11.2 +version: 2.11.3 home: https://github.com/argoproj/argo-helm icon: https://raw.githubusercontent.com/argoproj/argo/master/docs/assets/argo.png keywords: diff --git a/charts/argo-cd/templates/dex/deployment.yaml b/charts/argo-cd/templates/dex/deployment.yaml index 29802398..c595a014 100755 --- a/charts/argo-cd/templates/dex/deployment.yaml +++ b/charts/argo-cd/templates/dex/deployment.yaml @@ -10,7 +10,7 @@ metadata: app.kubernetes.io/managed-by: {{ .Release.Service }} app.kubernetes.io/part-of: argocd app.kubernetes.io/component: {{ .Values.dex.name }} - app.kubernetes.io/version: {{ .Values.dex.image.tag }} + app.kubernetes.io/version: {{ .Values.dex.image.tag | quote }} spec: selector: matchLabels: @@ -31,7 +31,7 @@ spec: app.kubernetes.io/managed-by: {{ .Release.Service }} app.kubernetes.io/part-of: argocd app.kubernetes.io/component: {{ .Values.dex.name }} - app.kubernetes.io/version: {{ .Values.dex.image.tag }} + app.kubernetes.io/version: {{ .Values.dex.image.tag | quote }} {{- if .Values.dex.podLabels }} {{- toYaml .Values.dex.podLabels | nindent 8 }} {{- end }} diff --git a/charts/argo-cd/templates/redis/deployment.yaml b/charts/argo-cd/templates/redis/deployment.yaml index 58934683..3ab7ac0c 100755 --- a/charts/argo-cd/templates/redis/deployment.yaml +++ b/charts/argo-cd/templates/redis/deployment.yaml @@ -11,7 +11,7 @@ metadata: app.kubernetes.io/managed-by: {{ .Release.Service }} app.kubernetes.io/part-of: argocd app.kubernetes.io/component: {{ .Values.redis.name }} - app.kubernetes.io/version: {{ .Values.redis.image.tag }} + app.kubernetes.io/version: {{ .Values.redis.image.tag | quote }} spec: selector: matchLabels: @@ -31,7 +31,7 @@ spec: app.kubernetes.io/managed-by: {{ .Release.Service }} app.kubernetes.io/part-of: argocd app.kubernetes.io/component: {{ .Values.redis.name }} - app.kubernetes.io/version: {{ .Values.redis.image.tag }} + app.kubernetes.io/version: {{ .Values.redis.image.tag | quote }} {{- if .Values.redis.podLabels }} {{- toYaml .Values.redis.podLabels | nindent 8 }} {{- end }} From 6b6254ef77d44a3185bda56aa229c0b2a7d7c161 Mon Sep 17 00:00:00 2001 From: Sergey Shaykhullin <46970457+sergeyshaykhullin@users.noreply.github.com> Date: Fri, 22 Jan 2021 14:47:08 +0300 Subject: [PATCH 05/18] fix(argo-rollouts): Fix critical deployment schema bug (#552) * Fix map -> array in containers Signed-off-by: sergeyshaykhullin * Bump chart version Signed-off-by: sergeyshaykhullin Co-authored-by: David J. M. Karlsen --- charts/argo-rollouts/Chart.yaml | 2 +- charts/argo-rollouts/templates/argo-rollouts-deployment.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/charts/argo-rollouts/Chart.yaml b/charts/argo-rollouts/Chart.yaml index eed61c87..a6f74059 100644 --- a/charts/argo-rollouts/Chart.yaml +++ b/charts/argo-rollouts/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v1 appVersion: "0.10.2" description: A Helm chart for Argo Rollouts name: argo-rollouts -version: 0.4.0 +version: 0.4.1 icon: https://raw.githubusercontent.com/argoproj/argo/master/argo.png home: https://github.com/argoproj/argo-helm maintainers: diff --git a/charts/argo-rollouts/templates/argo-rollouts-deployment.yaml b/charts/argo-rollouts/templates/argo-rollouts-deployment.yaml index b78b1402..dd04516a 100644 --- a/charts/argo-rollouts/templates/argo-rollouts-deployment.yaml +++ b/charts/argo-rollouts/templates/argo-rollouts-deployment.yaml @@ -30,7 +30,7 @@ spec: {{- end }} serviceAccountName: {{ .Values.serviceAccount.name }} containers: - image: "{{ .Values.controller.image.repository }}:{{ .Values.controller.image.tag }}" + - image: "{{ .Values.controller.image.repository }}:{{ .Values.controller.image.tag }}" {{- if not .Values.clusterInstall }} args: - --namespaced From a497e0ddaffd6b824f4ec88b331dd395abc49ed8 Mon Sep 17 00:00:00 2001 From: smcavallo Date: Mon, 25 Jan 2021 13:47:48 -0500 Subject: [PATCH 06/18] chore(argo): update argo to 2.12.5 (#554) * update argo to 2.12.5 Signed-off-by: smcavallo * updated Signed-off-by: smcavallo --- charts/argo/Chart.yaml | 4 ++-- charts/argo/values.yaml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/charts/argo/Chart.yaml b/charts/argo/Chart.yaml index 44c812c7..ee83daf9 100644 --- a/charts/argo/Chart.yaml +++ b/charts/argo/Chart.yaml @@ -1,8 +1,8 @@ apiVersion: v2 -appVersion: v2.12.3 +appVersion: v2.12.5 description: A Helm chart for Argo Workflows name: argo -version: 0.15.2 +version: 0.15.3 icon: https://raw.githubusercontent.com/argoproj/argo/master/docs/assets/argo.png home: https://github.com/argoproj/argo-helm maintainers: diff --git a/charts/argo/values.yaml b/charts/argo/values.yaml index b1491b14..a15938db 100644 --- a/charts/argo/values.yaml +++ b/charts/argo/values.yaml @@ -7,7 +7,7 @@ images: # Secrets with credentials to pull images from a private registry pullSecrets: [] # - name: argo-pull-secret - tag: v2.12.3 + tag: v2.12.5 crdVersion: v1alpha1 installCRD: true From 20b750a04533527c1e8faa331e17cb99a3a6ea10 Mon Sep 17 00:00:00 2001 From: Wylie Hobbs Date: Mon, 25 Jan 2021 23:36:53 -0700 Subject: [PATCH 07/18] fix(argo-cd): bump dex image for secretEnv in staticClients to work (#519) * Bump dex image for secretEnv in staticClients to work Signed-off-by: Wylie Hobbs * Bump chart again Signed-off-by: Wylie Hobbs --- charts/argo-cd/Chart.yaml | 2 +- charts/argo-cd/values.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/charts/argo-cd/Chart.yaml b/charts/argo-cd/Chart.yaml index 025028e5..127b6400 100644 --- a/charts/argo-cd/Chart.yaml +++ b/charts/argo-cd/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v1 appVersion: 1.7.6 description: A Helm chart for ArgoCD, a declarative, GitOps continuous delivery tool for Kubernetes. name: argo-cd -version: 2.11.3 +version: 2.11.4 home: https://github.com/argoproj/argo-helm icon: https://raw.githubusercontent.com/argoproj/argo/master/docs/assets/argo.png keywords: diff --git a/charts/argo-cd/values.yaml b/charts/argo-cd/values.yaml index 5331d96b..f665e173 100755 --- a/charts/argo-cd/values.yaml +++ b/charts/argo-cd/values.yaml @@ -195,7 +195,7 @@ dex: image: repository: quay.io/dexidp/dex - tag: v2.22.0 + tag: v2.26.0 imagePullPolicy: IfNotPresent initImage: repository: From cce87f5163a9c6eeaef885f1e70bf35c349a16b1 Mon Sep 17 00:00:00 2001 From: Lucas Bickel Date: Tue, 26 Jan 2021 18:03:14 +0100 Subject: [PATCH 08/18] fix(argo-cd): remove charts/argo-cd/charts/redis-ha/ from git tree (#539) * fix(argo-cd): remove charts/argo-cd/charts/redis-ha/ from git tree Signed-off-by: Lucas Bickel * fix(ci): unpack dep from tarball instead instead of git Signed-off-by: Lucas Bickel --- charts/argo-cd/Chart.yaml | 2 +- charts/argo-cd/charts/redis-ha/Chart.yaml | 21 - charts/argo-cd/charts/redis-ha/OWNERS | 6 - charts/argo-cd/charts/redis-ha/README.md | 230 ----------- .../redis-ha/ci/haproxy-enabled-values.yaml | 10 - .../charts/redis-ha/templates/NOTES.txt | 25 -- .../charts/redis-ha/templates/_configs.tpl | 275 ------------- .../charts/redis-ha/templates/_helpers.tpl | 83 ---- .../redis-ha/templates/redis-auth-secret.yaml | 12 - .../templates/redis-ha-announce-service.yaml | 41 -- .../templates/redis-ha-configmap.yaml | 25 -- .../redis-ha-exporter-script-configmap.yaml | 11 - .../redis-ha/templates/redis-ha-pdb.yaml | 15 - .../redis-ha/templates/redis-ha-role.yaml | 19 - .../templates/redis-ha-rolebinding.yaml | 19 - .../redis-ha/templates/redis-ha-service.yaml | 35 -- .../templates/redis-ha-serviceaccount.yaml | 12 - .../templates/redis-ha-servicemonitor.yaml | 35 -- .../templates/redis-ha-statefulset.yaml | 319 --------------- .../templates/redis-haproxy-deployment.yaml | 151 -------- .../templates/redis-haproxy-service.yaml | 42 -- .../redis-haproxy-serviceaccount.yaml | 12 - .../redis-haproxy-servicemonitor.yaml | 34 -- .../tests/test-redis-ha-configmap.yaml | 27 -- .../templates/tests/test-redis-ha-pod.yaml | 20 - charts/argo-cd/charts/redis-ha/values.yaml | 362 ------------------ scripts/publish.sh | 6 +- 27 files changed, 4 insertions(+), 1845 deletions(-) delete mode 100644 charts/argo-cd/charts/redis-ha/Chart.yaml delete mode 100644 charts/argo-cd/charts/redis-ha/OWNERS delete mode 100644 charts/argo-cd/charts/redis-ha/README.md delete mode 100644 charts/argo-cd/charts/redis-ha/ci/haproxy-enabled-values.yaml delete mode 100644 charts/argo-cd/charts/redis-ha/templates/NOTES.txt delete mode 100644 charts/argo-cd/charts/redis-ha/templates/_configs.tpl delete mode 100644 charts/argo-cd/charts/redis-ha/templates/_helpers.tpl delete mode 100644 charts/argo-cd/charts/redis-ha/templates/redis-auth-secret.yaml delete mode 100644 charts/argo-cd/charts/redis-ha/templates/redis-ha-announce-service.yaml delete mode 100644 charts/argo-cd/charts/redis-ha/templates/redis-ha-configmap.yaml delete mode 100644 charts/argo-cd/charts/redis-ha/templates/redis-ha-exporter-script-configmap.yaml delete mode 100644 charts/argo-cd/charts/redis-ha/templates/redis-ha-pdb.yaml delete mode 100644 charts/argo-cd/charts/redis-ha/templates/redis-ha-role.yaml delete mode 100644 charts/argo-cd/charts/redis-ha/templates/redis-ha-rolebinding.yaml delete mode 100644 charts/argo-cd/charts/redis-ha/templates/redis-ha-service.yaml delete mode 100644 charts/argo-cd/charts/redis-ha/templates/redis-ha-serviceaccount.yaml delete mode 100644 charts/argo-cd/charts/redis-ha/templates/redis-ha-servicemonitor.yaml delete mode 100644 charts/argo-cd/charts/redis-ha/templates/redis-ha-statefulset.yaml delete mode 100644 charts/argo-cd/charts/redis-ha/templates/redis-haproxy-deployment.yaml delete mode 100644 charts/argo-cd/charts/redis-ha/templates/redis-haproxy-service.yaml delete mode 100644 charts/argo-cd/charts/redis-ha/templates/redis-haproxy-serviceaccount.yaml delete mode 100644 charts/argo-cd/charts/redis-ha/templates/redis-haproxy-servicemonitor.yaml delete mode 100644 charts/argo-cd/charts/redis-ha/templates/tests/test-redis-ha-configmap.yaml delete mode 100644 charts/argo-cd/charts/redis-ha/templates/tests/test-redis-ha-pod.yaml delete mode 100644 charts/argo-cd/charts/redis-ha/values.yaml diff --git a/charts/argo-cd/Chart.yaml b/charts/argo-cd/Chart.yaml index 127b6400..210a61bb 100644 --- a/charts/argo-cd/Chart.yaml +++ b/charts/argo-cd/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v1 appVersion: 1.7.6 description: A Helm chart for ArgoCD, a declarative, GitOps continuous delivery tool for Kubernetes. name: argo-cd -version: 2.11.4 +version: 2.11.5 home: https://github.com/argoproj/argo-helm icon: https://raw.githubusercontent.com/argoproj/argo/master/docs/assets/argo.png keywords: diff --git a/charts/argo-cd/charts/redis-ha/Chart.yaml b/charts/argo-cd/charts/redis-ha/Chart.yaml deleted file mode 100644 index 04a04fdf..00000000 --- a/charts/argo-cd/charts/redis-ha/Chart.yaml +++ /dev/null @@ -1,21 +0,0 @@ -apiVersion: v1 -appVersion: 5.0.6 -description: Highly available Kubernetes implementation of Redis -engine: gotpl -home: http://redis.io/ -icon: https://upload.wikimedia.org/wikipedia/en/thumb/6/6b/Redis_Logo.svg/1200px-Redis_Logo.svg.png -keywords: -- redis -- keyvalue -- database -maintainers: -- email: salimsalaues@gmail.com - name: ssalaues -- email: aaron.layfield@gmail.com - name: dandydeveloper -name: redis-ha -sources: -- https://redis.io/download -- https://github.com/scality/Zenko/tree/development/1.0/kubernetes/zenko/charts/redis-ha -- https://github.com/oliver006/redis_exporter -version: 4.4.2 diff --git a/charts/argo-cd/charts/redis-ha/OWNERS b/charts/argo-cd/charts/redis-ha/OWNERS deleted file mode 100644 index cf4f87d5..00000000 --- a/charts/argo-cd/charts/redis-ha/OWNERS +++ /dev/null @@ -1,6 +0,0 @@ -approvers: -- ssalaues -- dandydeveloper -reviewers: -- ssalaues -- dandydeveloper \ No newline at end of file diff --git a/charts/argo-cd/charts/redis-ha/README.md b/charts/argo-cd/charts/redis-ha/README.md deleted file mode 100644 index ba93ce0f..00000000 --- a/charts/argo-cd/charts/redis-ha/README.md +++ /dev/null @@ -1,230 +0,0 @@ -# Redis - -[Redis](http://redis.io/) is an advanced key-value cache and store. It is often referred to as a data structure server since keys can contain strings, hashes, lists, sets, sorted sets, bitmaps and hyperloglogs. - -## TL;DR; - -```bash -$ helm install stable/redis-ha -``` - -By default this chart install 3 pods total: - * one pod containing a redis master and sentinel container (optional prometheus metrics exporter sidecar available) - * two pods each containing a redis slave and sentinel containers (optional prometheus metrics exporter sidecars available) - -## Introduction - -This chart bootstraps a [Redis](https://redis.io) highly available master/slave statefulset in a [Kubernetes](http://kubernetes.io) cluster using the Helm package manager. - -## Prerequisites - -- Kubernetes 1.8+ with Beta APIs enabled -- PV provisioner support in the underlying infrastructure - -## Upgrading the Chart - -Please note that there have been a number of changes simplifying the redis management strategy (for better failover and elections) in the 3.x version of this chart. These changes allow the use of official [redis](https://hub.docker.com/_/redis/) images that do not require special RBAC or ServiceAccount roles. As a result when upgrading from version >=2.0.1 to >=3.0.0 of this chart, `Role`, `RoleBinding`, and `ServiceAccount` resources should be deleted manually. - -### Upgrading the chart from 3.x to 4.x - -Starting from version `4.x` HAProxy sidecar prometheus-exporter removed and replaced by the embedded [HAProxy metrics endpoint](https://github.com/haproxy/haproxy/tree/master/contrib/prometheus-exporter), as a result when upgrading from version 3.x to 4.x section `haproxy.exporter` should be removed and the `haproxy.metrics` need to be configured for fit your needs. - -## Installing the Chart - -To install the chart - -```bash -$ helm install stable/redis-ha -``` - -The command deploys Redis on the Kubernetes cluster in the default configuration. By default this chart install one master pod containing redis master container and sentinel container along with 2 redis slave pods each containing their own sentinel sidecars. The [configuration](#configuration) section lists the parameters that can be configured during installation. - -> **Tip**: List all releases using `helm list` - -## Uninstalling the Chart - -To uninstall/delete the deployment: - -```bash -$ helm delete -``` - -The command removes all the Kubernetes components associated with the chart and deletes the release. - -## Configuration - -The following table lists the configurable parameters of the Redis chart and their default values. - -| Parameter | Description | Default | -|:--------------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:-------------------------------------------------------------------------------------------| -| `image` | Redis image | `redis` | -| `imagePullSecrets` | Reference to one or more secrets to be used when pulling redis images | [] | -| `tag` | Redis tag | `5.0.6-alpine` | -| `replicas` | Number of redis master/slave pods | `3` | -| `serviceAccount.create` | Specifies whether a ServiceAccount should be created | `true` | -| `serviceAccount.name` | The name of the ServiceAccount to create | Generated using the redis-ha.fullname template | -| `rbac.create` | Create and use RBAC resources | `true` | -| `redis.port` | Port to access the redis service | `6379` | -| `redis.masterGroupName` | Redis convention for naming the cluster group: must match `^[\\w-\\.]+$` and can be templated | `mymaster` | -| `redis.config` | Any valid redis config options in this section will be applied to each server (see below) | see values.yaml | -| `redis.customConfig` | Allows for custom redis.conf files to be applied. If this is used then `redis.config` is ignored | `` | -| `redis.resources` | CPU/Memory for master/slave nodes resource requests/limits | `{}` | -| `sentinel.port` | Port to access the sentinel service | `26379` | -| `sentinel.quorum` | Minimum number of servers necessary to maintain quorum | `2` | -| `sentinel.config` | Valid sentinel config options in this section will be applied as config options to each sentinel (see below) | see values.yaml | -| `sentinel.customConfig` | Allows for custom sentinel.conf files to be applied. If this is used then `sentinel.config` is ignored | `` | -| `sentinel.resources` | CPU/Memory for sentinel node resource requests/limits | `{}` | -| `init.resources` | CPU/Memory for init Container node resource requests/limits | `{}` | -| `auth` | Enables or disables redis AUTH (Requires `redisPassword` to be set) | `false` | -| `redisPassword` | A password that configures a `requirepass` and `masterauth` in the conf parameters (Requires `auth: enabled`) | `` | -| `authKey` | The key holding the redis password in an existing secret. | `auth` | -| `existingSecret` | An existing secret containing a key defined by `authKey` that configures `requirepass` and `masterauth` in the conf parameters (Requires `auth: enabled`, cannot be used in conjunction with `.Values.redisPassword`) | `` | -| `nodeSelector` | Node labels for pod assignment | `{}` | -| `tolerations` | Toleration labels for pod assignment | `[]` | -| `hardAntiAffinity` | Whether the Redis server pods should be forced to run on separate nodes. | `true` | -| `additionalAffinities` | Additional affinities to add to the Redis server pods. | `{}` | -| `securityContext` | Security context to be added to the Redis server pods. | `{runAsUser: 1000, fsGroup: 1000, runAsNonRoot: true}` | -| `affinity` | Override all other affinity settings with a string. | `""` | -| `persistentVolume.size` | Size for the volume | 10Gi | -| `persistentVolume.annotations` | Annotations for the volume | `{}` | -| `persistentVolume.reclaimPolicy` | Method used to reclaim an obsoleted volume. `Delete` or `Retain` | `""` | -| `emptyDir` | Configuration of `emptyDir`, used only if persistentVolume is disabled and no hostPath specified | `{}` | -| `exporter.enabled` | If `true`, the prometheus exporter sidecar is enabled | `false` | -| `exporter.image` | Exporter image | `oliver006/redis_exporter` | -| `exporter.tag` | Exporter tag | `v0.31.0` | -| `exporter.port` | Exporter port | `9121` | -| `exporter.annotations` | Prometheus scrape annotations | `{prometheus.io/path: /metrics, prometheus.io/port: "9121", prometheus.io/scrape: "true"}` | -| `exporter.extraArgs` | Additional args for the exporter | `{}` | -| `exporter.script` | A custom custom Lua script that will be mounted to exporter for collection of custom metrics. Creates a ConfigMap and sets env var `REDIS_EXPORTER_SCRIPT`. | | -| `exporter.serviceMonitor.enabled` | Use servicemonitor from prometheus operator | `false` | -| `exporter.serviceMonitor.namespace` | Namespace the service monitor is created in | `default` | -| `exporter.serviceMonitor.interval` | Scrape interval, If not set, the Prometheus default scrape interval is used | `nil` | -| `exporter.serviceMonitor.telemetryPath` | Path to redis-exporter telemetry-path | `/metrics` | -| `exporter.serviceMonitor.labels` | Labels for the servicemonitor passed to Prometheus Operator | `{}` | -| `exporter.serviceMonitor.timeout` | How long until a scrape request times out. If not set, the Prometheus default scape timeout is used | `nil` | -| `haproxy.enabled` | Enabled HAProxy LoadBalancing/Proxy | `false` | -| `haproxy.replicas` | Number of HAProxy instances | `3` | -| `haproxy.image.repository`| HAProxy Image Repository | `haproxy` | -| `haproxy.image.tag` | HAProxy Image Tag | `2.0.1` | -| `haproxy.image.pullPolicy`| HAProxy Image PullPolicy | `IfNotPresent` | -| `haproxy.imagePullSecrets`| Reference to one or more secrets to be used when pulling haproxy images | [] | -| `haproxy.annotations` | HAProxy template annotations | `{}` | -| `haproxy.customConfig` | Allows for custom config-haproxy.cfg file to be applied. If this is used then default config will be overwriten | `` | -| `haproxy.extraConfig` | Allows to place any additional configuration section to add to the default config-haproxy.cfg | `` | -| `haproxy.resources` | HAProxy resources | `{}` | -| `haproxy.emptyDir` | Configuration of `emptyDir` | `{}` | -| `haproxy.service.type` | HAProxy service type "ClusterIP", "LoadBalancer" or "NodePort" | `ClusterIP` | -| `haproxy.service.nodePort` | HAProxy service nodePort value (haproxy.service.type must be NodePort) | not set | -| `haproxy.service.annotations` | HAProxy service annotations | `{}` | -| `haproxy.stickyBalancing` | HAProxy sticky load balancing to Redis nodes. Helps with connections shutdown. | `false` | -| `haproxy.hapreadport.enable` | Enable a read only port for redis slaves | `false` | -| `haproxy.hapreadport.port` | Haproxy port for read only redis slaves | `6380` | -| `haproxy.metrics.enabled` | HAProxy enable prometheus metric scraping | `false` | -| `haproxy.metrics.port` | HAProxy prometheus metrics scraping port | `9101` | -| `haproxy.metrics.portName` | HAProxy metrics scraping port name | `exporter-port` | -| `haproxy.metrics.scrapePath` | HAProxy prometheus metrics scraping port | `/metrics` | -| `haproxy.metrics.serviceMonitor.enabled` | Use servicemonitor from prometheus operator for HAProxy metrics | `false` | -| `haproxy.metrics.serviceMonitor.namespace` | Namespace the service monitor for HAProxy metrics is created in | `default` | -| `haproxy.metrics.serviceMonitor.interval` | Scrape interval, If not set, the Prometheus default scrape interval is used | `nil` | -| `haproxy.metrics.serviceMonitor.telemetryPath` | Path to HAProxy metrics telemetry-path | `/metrics` | -| `haproxy.metrics.serviceMonitor.labels` | Labels for the HAProxy metrics servicemonitor passed to Prometheus Operator | `{}` | -| `haproxy.metrics.serviceMonitor.timeout` | How long until a scrape request times out. If not set, the Prometheus default scape timeout is used | `nil` | -| `haproxy.init.resources` | Extra init resources | `{}` | -| `haproxy.timeout.connect` | haproxy.cfg `timeout connect` setting | `4s` | -| `haproxy.timeout.server` | haproxy.cfg `timeout server` setting | `30s` | -| `haproxy.timeout.client` | haproxy.cfg `timeout client` setting | `30s` | -| `haproxy.timeout.check` | haproxy.cfg `timeout check` setting | `2s` | -| `haproxy.priorityClassName` | priorityClassName for `haproxy` deployment | not set | -| `haproxy.securityContext` | Security context to be added to the HAProxy deployment. | `{runAsUser: 1000, fsGroup: 1000, runAsNonRoot: true}` | -| `haproxy.hardAntiAffinity` | Whether the haproxy pods should be forced to run on separate nodes. | `true` | -| `haproxy.affinity` | Override all other haproxy affinity settings with a string. | `""` | -| `haproxy.additionalAffinities` | Additional affinities to add to the haproxy server pods. | `{}` | -| `podDisruptionBudget` | Pod Disruption Budget rules | `{}` | -| `priorityClassName` | priorityClassName for `redis-ha-statefulset` | not set | -| `hostPath.path` | Use this path on the host for data storage | not set | -| `hostPath.chown` | Run an init-container as root to set ownership on the hostPath | `true` | -| `sysctlImage.enabled` | Enable an init container to modify Kernel settings | `false` | -| `sysctlImage.command` | sysctlImage command to execute | [] | -| `sysctlImage.registry` | sysctlImage Init container registry | `docker.io` | -| `sysctlImage.repository` | sysctlImage Init container name | `busybox` | -| `sysctlImage.tag` | sysctlImage Init container tag | `1.31.1` | -| `sysctlImage.pullPolicy` | sysctlImage Init container pull policy | `Always` | -| `sysctlImage.mountHostSys`| Mount the host `/sys` folder to `/host-sys` | `false` | -| `sysctlImage.resources` | sysctlImage resources | `{}` | -| `schedulerName` | Alternate scheduler name | `nil` | - -Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example, - -```bash -$ helm install \ - --set image=redis \ - --set tag=5.0.5-alpine \ - stable/redis-ha -``` - -The above command sets the Redis server within `default` namespace. - -Alternatively, a YAML file that specifies the values for the parameters can be provided while installing the chart. For example, - -```bash -$ helm install -f values.yaml stable/redis-ha -``` - -> **Tip**: You can use the default [values.yaml](values.yaml) - -## Custom Redis and Sentinel config options - -This chart allows for most redis or sentinel config options to be passed as a key value pair through the `values.yaml` under `redis.config` and `sentinel.config`. See links below for all available options. - -[Example redis.conf](http://download.redis.io/redis-stable/redis.conf) -[Example sentinel.conf](http://download.redis.io/redis-stable/sentinel.conf) - -For example `repl-timeout 60` would be added to the `redis.config` section of the `values.yaml` as: - -```yml - repl-timeout: "60" -``` - -Note: - -1. Some config options should be renamed by redis version,e.g.: - - ``` - # In redis 5.x,see https://raw.githubusercontent.com/antirez/redis/5.0/redis.conf - min-replicas-to-write: 1 - min-replicas-max-lag: 5 - - # In redis 4.x and redis 3.x,see https://raw.githubusercontent.com/antirez/redis/4.0/redis.conf and https://raw.githubusercontent.com/antirez/redis/3.0/redis.conf - min-slaves-to-write 1 - min-slaves-max-lag 5 - ``` - -Sentinel options supported must be in the the `sentinel