From 6c6564e302016b03709ec00d2fffc81fc139c891 Mon Sep 17 00:00:00 2001 From: "David J. M. Karlsen" Date: Tue, 4 Feb 2020 16:17:27 +0100 Subject: [PATCH 01/16] chore: Upgrade to 1.4.2 (#221) Signed-off-by: David Karlsen --- charts/argo-cd/Chart.yaml | 4 ++-- charts/argo-cd/README.md | 2 +- charts/argo-cd/values.yaml | 8 ++++---- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/charts/argo-cd/Chart.yaml b/charts/argo-cd/Chart.yaml index 54b95a9f..b991cf8c 100644 --- a/charts/argo-cd/Chart.yaml +++ b/charts/argo-cd/Chart.yaml @@ -1,8 +1,8 @@ apiVersion: v1 -appVersion: "1.4.1" +appVersion: "1.4.2" description: A Helm chart for ArgoCD, a declarative, GitOps continuous delivery tool for Kubernetes. name: argo-cd -version: 1.7.0 +version: 1.7.1 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/README.md b/charts/argo-cd/README.md index 5e87de3e..2ca7dea4 100644 --- a/charts/argo-cd/README.md +++ b/charts/argo-cd/README.md @@ -36,7 +36,7 @@ Helm v3 has removed the `install-crds` hook so CRDs are now populated by files i |-----|------|---------| | global.image.imagePullPolicy | If defined, a imagePullPolicy applied to all ArgoCD deployments. | `"IfNotPresent"` | | global.image.repository | If defined, a repository applied to all ArgoCD deployments. | `"argoproj/argocd"` | -| global.image.tag | If defined, a tag applied to all ArgoCD deployments. | `"v1.4.1"` | +| global.image.tag | If defined, a tag applied to all ArgoCD deployments. | `"v1.4.2"` | | global.securityContext | Toggle and define securityContext | See [values.yaml](values.yaml) |  | nameOverride | Provide a name in place of `argocd` | `"argocd"` | | installCRDs | bool | `true` | Install CRDs if you are using Helm2. | diff --git a/charts/argo-cd/values.yaml b/charts/argo-cd/values.yaml index 6cc7a43c..627a1c12 100755 --- a/charts/argo-cd/values.yaml +++ b/charts/argo-cd/values.yaml @@ -10,7 +10,7 @@ installCRDs: true global: image: repository: argoproj/argocd - tag: v1.4.1 + tag: v1.4.2 imagePullPolicy: IfNotPresent securityContext: {} # runAsUser: 999 @@ -23,7 +23,7 @@ controller: image: repository: # argoproj/argocd - tag: # v1.4.1 + tag: # v1.4.2 imagePullPolicy: # IfNotPresent ## Argo controller commandline flags @@ -270,7 +270,7 @@ server: image: repository: # argoproj/argocd - tag: # v1.4.1 + tag: # v1.4.2 imagePullPolicy: # IfNotPresent ## Additional command line arguments to pass to argocd-server @@ -511,7 +511,7 @@ repoServer: image: repository: # argoproj/argocd - tag: # v1.4.1 + tag: # v1.4.2 imagePullPolicy: # IfNotPresent ## Additional command line arguments to pass to argocd-repo-server From 209bd150cc90c5a21b0e76d2a2f7a57d6b78e522 Mon Sep 17 00:00:00 2001 From: Carson A Date: Wed, 5 Feb 2020 13:32:17 -0700 Subject: [PATCH 02/16] Make server component replicas configurable (#225) The official Argo-CD HA manifests do not scale the dex server or the application controller past 1 because they still have local caches and cannot support more than one pod at a time Signed-off-by: Carson Anderson --- charts/argo-cd/Chart.yaml | 2 +- charts/argo-cd/templates/argocd-repo-server/deployment.yaml | 2 +- charts/argo-cd/templates/argocd-server/deployment.yaml | 2 +- charts/argo-cd/values.yaml | 4 ++++ 4 files changed, 7 insertions(+), 3 deletions(-) diff --git a/charts/argo-cd/Chart.yaml b/charts/argo-cd/Chart.yaml index b991cf8c..72a13494 100644 --- a/charts/argo-cd/Chart.yaml +++ b/charts/argo-cd/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v1 appVersion: "1.4.2" description: A Helm chart for ArgoCD, a declarative, GitOps continuous delivery tool for Kubernetes. name: argo-cd -version: 1.7.1 +version: 1.7.2 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/argocd-repo-server/deployment.yaml b/charts/argo-cd/templates/argocd-repo-server/deployment.yaml index 25a88aba..918accd4 100755 --- a/charts/argo-cd/templates/argocd-repo-server/deployment.yaml +++ b/charts/argo-cd/templates/argocd-repo-server/deployment.yaml @@ -16,7 +16,7 @@ spec: app.kubernetes.io/name: {{ include "argo-cd.name" . }}-{{ .Values.repoServer.name }} app.kubernetes.io/instance: {{ .Release.Name }} revisionHistoryLimit: 5 - replicas: 1 + replicas: {{ .Values.repoServer.replicas }} template: metadata: {{- if .Values.repoServer.podAnnotations }} diff --git a/charts/argo-cd/templates/argocd-server/deployment.yaml b/charts/argo-cd/templates/argocd-server/deployment.yaml index 7f85bbec..fe6e54d5 100755 --- a/charts/argo-cd/templates/argocd-server/deployment.yaml +++ b/charts/argo-cd/templates/argocd-server/deployment.yaml @@ -16,7 +16,7 @@ spec: app.kubernetes.io/name: {{ include "argo-cd.name" . }}-{{ .Values.server.name }} app.kubernetes.io/instance: {{ .Release.Name }} revisionHistoryLimit: 5 - replicas: 1 + replicas: {{ .Values.server.replicas }} template: metadata: {{- if .Values.server.podAnnotations }} diff --git a/charts/argo-cd/values.yaml b/charts/argo-cd/values.yaml index 627a1c12..df42b9c1 100755 --- a/charts/argo-cd/values.yaml +++ b/charts/argo-cd/values.yaml @@ -268,6 +268,8 @@ redis: server: name: server + replicas: 1 + image: repository: # argoproj/argocd tag: # v1.4.2 @@ -509,6 +511,8 @@ server: repoServer: name: repo-server + replicas: 1 + image: repository: # argoproj/argocd tag: # v1.4.2 From 9dd063c62ff467c9acb737b61d43aef4fe2605ec Mon Sep 17 00:00:00 2001 From: Carson A Date: Wed, 5 Feb 2020 19:42:52 -0700 Subject: [PATCH 03/16] Add replica values to the readme (#228) --- charts/argo-cd/Chart.yaml | 2 +- charts/argo-cd/README.md | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/charts/argo-cd/Chart.yaml b/charts/argo-cd/Chart.yaml index 72a13494..6e0b68a4 100644 --- a/charts/argo-cd/Chart.yaml +++ b/charts/argo-cd/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v1 appVersion: "1.4.2" description: A Helm chart for ArgoCD, a declarative, GitOps continuous delivery tool for Kubernetes. name: argo-cd -version: 1.7.2 +version: 1.7.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/README.md b/charts/argo-cd/README.md index 2ca7dea4..ee1787fd 100644 --- a/charts/argo-cd/README.md +++ b/charts/argo-cd/README.md @@ -129,6 +129,7 @@ Helm v3 has removed the `install-crds` hook so CRDs are now populated by files i | repoServer.readinessProbe.periodSeconds | int | `10` | | repoServer.readinessProbe.successThreshold | int | `1` | | repoServer.readinessProbe.timeoutSeconds | int | `1` | +| repoServer.replicas | The number of repo server pods to run | `1` | | repoServer.resources | Resource limits and requests for the repo server pods. | `{}` | | repoServer.service.annotations | Repo server service annotations. | `{}` | | repoServer.service.labels | Repo server service labels. | `{}` | @@ -183,6 +184,7 @@ Helm v3 has removed the `install-crds` hook so CRDs are now populated by files i | server.readinessProbe.periodSeconds | int | `10` | | server.readinessProbe.successThreshold | int | `1` | | server.readinessProbe.timeoutSeconds | int | `1` | +| server.replicas | The number of server pods to run | `1` | | server.resources | Resource limits and requests for the server | `{}` | | server.service.annotations | Server service annotations | `{}` | | server.service.labels | Server service labels | `{}` | From 7a3120bed9e5d490776e40927156d564d34d3b4a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Juan=20G=C3=B3mez=20Pe=C3=B1alver?= Date: Wed, 12 Feb 2020 14:06:06 +0000 Subject: [PATCH 04/16] [Argo] update subchart minio and add Helm 3 CRD folder (#229) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat: update subchart minio and add Helm 3 compatibility Argo WF Signed-off-by: Carlos Juan Gómez Peñalver * fix: use Helm 2 to create the dependencies.lock helm/helm#7233 Fix related to this ticket merged 8h ago https://github.com/helm/helm/issues/7233 Signed-off-by: Carlos Juan Gómez Peñalver * fix: revert testing values Signed-off-by: Carlos Juan Gómez Peñalver --- charts/argo/Chart.yaml | 2 +- charts/argo/charts/minio-1.3.3.tgz | Bin 10463 -> 0 bytes charts/argo/charts/minio-5.0.6.tgz | Bin 0 -> 16763 bytes charts/argo/crds/workflow-crd.yaml | 16 ++++++++++++++++ charts/argo/requirements.lock | 6 +++--- charts/argo/requirements.yaml | 2 +- 6 files changed, 21 insertions(+), 5 deletions(-) delete mode 100644 charts/argo/charts/minio-1.3.3.tgz create mode 100644 charts/argo/charts/minio-5.0.6.tgz create mode 100644 charts/argo/crds/workflow-crd.yaml diff --git a/charts/argo/Chart.yaml b/charts/argo/Chart.yaml index 694a9c9d..6d985fbf 100644 --- a/charts/argo/Chart.yaml +++ b/charts/argo/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v1 appVersion: "v2.4.3" description: A Helm chart for Argo Workflows name: argo -version: 0.6.5 +version: 0.6.6 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/charts/minio-1.3.3.tgz b/charts/argo/charts/minio-1.3.3.tgz deleted file mode 100644 index 97803de85c2347b9c6322266b05c5a7b9b238a5d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10463 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 V@mcx&{{R30|Nn}m>Usda006I9r27B> diff --git a/charts/argo/charts/minio-5.0.6.tgz b/charts/argo/charts/minio-5.0.6.tgz new file mode 100644 index 0000000000000000000000000000000000000000..7279a31b53d278f84194cae1945bf6975602afe5 GIT binary patch literal 16763 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 Date: Thu, 13 Feb 2020 03:57:25 +0900 Subject: [PATCH 05/16] feat: Add chart for argo-rollouts (#226) --- charts/argo-rollouts/Chart.yaml | 11 + charts/argo-rollouts/templates/_helpers.tpl | 32 + .../argo-rollouts-aggregate-roles.yaml | 77 + .../templates/argo-rollouts-clusterrole.yaml | 91 + .../argo-rollouts-clusterrolebinding.yaml | 18 + .../templates/argo-rollouts-deployment.yaml | 32 + .../argo-rollouts-metrics-service.yaml | 16 + .../templates/argo-rollouts-role.yaml | 87 + .../templates/argo-rollouts-rolebinding.yaml | 15 + .../templates/argo-rollouts-sa.yaml | 8 + .../templates/crds/analysis-run-crd.yaml | 2726 ++++++++++++++++ .../templates/crds/analysis-template-crd.yaml | 2648 ++++++++++++++++ .../templates/crds/experiment-crd.yaml | 2599 +++++++++++++++ .../templates/crds/rollout-crd.yaml | 2803 +++++++++++++++++ charts/argo-rollouts/values.yaml | 14 + 15 files changed, 11177 insertions(+) create mode 100644 charts/argo-rollouts/Chart.yaml create mode 100644 charts/argo-rollouts/templates/_helpers.tpl create mode 100644 charts/argo-rollouts/templates/argo-rollouts-aggregate-roles.yaml create mode 100644 charts/argo-rollouts/templates/argo-rollouts-clusterrole.yaml create mode 100644 charts/argo-rollouts/templates/argo-rollouts-clusterrolebinding.yaml create mode 100644 charts/argo-rollouts/templates/argo-rollouts-deployment.yaml create mode 100644 charts/argo-rollouts/templates/argo-rollouts-metrics-service.yaml create mode 100644 charts/argo-rollouts/templates/argo-rollouts-role.yaml create mode 100644 charts/argo-rollouts/templates/argo-rollouts-rolebinding.yaml create mode 100644 charts/argo-rollouts/templates/argo-rollouts-sa.yaml create mode 100644 charts/argo-rollouts/templates/crds/analysis-run-crd.yaml create mode 100644 charts/argo-rollouts/templates/crds/analysis-template-crd.yaml create mode 100644 charts/argo-rollouts/templates/crds/experiment-crd.yaml create mode 100644 charts/argo-rollouts/templates/crds/rollout-crd.yaml create mode 100644 charts/argo-rollouts/values.yaml diff --git a/charts/argo-rollouts/Chart.yaml b/charts/argo-rollouts/Chart.yaml new file mode 100644 index 00000000..fa8038dd --- /dev/null +++ b/charts/argo-rollouts/Chart.yaml @@ -0,0 +1,11 @@ +apiVersion: v1 +appVersion: "0.7" +description: A Helm chart for Argo Rollouts +name: argo-rollouts +version: 0.1.0 +icon: https://raw.githubusercontent.com/argoproj/argo/master/argo.png +home: https://github.com/argoproj/argo-helm +maintainers: + - name: alexmt + - name: dthomson25 + - name: jessesuen diff --git a/charts/argo-rollouts/templates/_helpers.tpl b/charts/argo-rollouts/templates/_helpers.tpl new file mode 100644 index 00000000..48744885 --- /dev/null +++ b/charts/argo-rollouts/templates/_helpers.tpl @@ -0,0 +1,32 @@ +{{/* vim: set filetype=mustache: */}} +{{/* +Expand the name of the chart. +*/}} +{{- define "argo-rollouts.name" -}} +{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}} +{{- end -}} + +{{/* +Create a default fully qualified app name. +We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). +If release name contains chart name it will be used as a full name. +*/}} +{{- define "argo-rollouts.fullname" -}} +{{- if .Values.fullnameOverride -}} +{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}} +{{- else -}} +{{- $name := default .Chart.Name .Values.nameOverride -}} +{{- if contains $name .Release.Name -}} +{{- .Release.Name | trunc 63 | trimSuffix "-" -}} +{{- else -}} +{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}} +{{- end -}} +{{- end -}} +{{- end -}} + +{{/* +Create chart name and version as used by the chart label. +*/}} +{{- define "argo-rollouts.chart" -}} +{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}} +{{- end -}} diff --git a/charts/argo-rollouts/templates/argo-rollouts-aggregate-roles.yaml b/charts/argo-rollouts/templates/argo-rollouts-aggregate-roles.yaml new file mode 100644 index 00000000..7f94befa --- /dev/null +++ b/charts/argo-rollouts/templates/argo-rollouts-aggregate-roles.yaml @@ -0,0 +1,77 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: {{ .Release.Name }}-aggregate-to-view + labels: + rbac.authorization.k8s.io/aggregate-to-view: "true" + app.kubernetes.io/component: aggregate-cluster-role + app.kubernetes.io/name: {{ .Release.Name }}-aggregate-to-view + app.kubernetes.io/part-of: {{ .Release.Name }} +rules: +- apiGroups: + - argoproj.io + resources: + - rollouts + - experiments + - analysistemplates + - analysisruns + verbs: + - get + - list + - watch + +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: {{ .Release.Name }}-aggregate-to-edit + labels: + rbac.authorization.k8s.io/aggregate-to-edit: "true" + app.kubernetes.io/component: aggregate-cluster-role + app.kubernetes.io/name: {{ .Release.Name }}-aggregate-to-edit + app.kubernetes.io/part-of: {{ .Release.Name }} +rules: +- apiGroups: + - argoproj.io + resources: + - rollouts + - experiments + - analysistemplates + - analysisruns + verbs: + - create + - delete + - deletecollection + - get + - list + - patch + - update + - watch + +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: {{ .Release.Name }}-aggregate-to-admin + labels: + rbac.authorization.k8s.io/aggregate-to-admin: "true" + app.kubernetes.io/component: aggregate-cluster-role + app.kubernetes.io/name: {{ .Release.Name }}-aggregate-to-admin + app.kubernetes.io/part-of: {{ .Release.Name }} +rules: +- apiGroups: + - argoproj.io + resources: + - rollouts + - experiments + - analysistemplates + - analysisruns + verbs: + - create + - delete + - deletecollection + - get + - list + - patch + - update + - watch diff --git a/charts/argo-rollouts/templates/argo-rollouts-clusterrole.yaml b/charts/argo-rollouts/templates/argo-rollouts-clusterrole.yaml new file mode 100644 index 00000000..daced75e --- /dev/null +++ b/charts/argo-rollouts/templates/argo-rollouts-clusterrole.yaml @@ -0,0 +1,91 @@ +{{- if .Values.clusterInstall }} +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: {{ .Release.Name }}-clusterrole + labels: + app.kubernetes.io/component: {{ .Values.controller.component }} + app.kubernetes.io/name: {{ .Release.Name }}-clusterrole + app.kubernetes.io/part-of: {{ .Release.Name }} +rules: +- apiGroups: + - apps + resources: + - replicasets + verbs: + - create + - get + - list + - watch + - update + - patch + - delete +- apiGroups: + - "" + resources: + - services + verbs: + - get + - list + - watch + - patch +- apiGroups: + - argoproj.io + resources: + - rollouts + verbs: + - get + - list + - watch + - update + - patch +- apiGroups: + - argoproj.io + resources: + - analysisruns + - experiments + verbs: + - create + - get + - list + - watch + - update + - patch + - delete +- apiGroups: + - argoproj.io + resources: + - analysistemplates + verbs: + - get + - list + - watch +- apiGroups: + - batch + resources: + - jobs + verbs: + - create + - get + - list + - watch + - update + - patch + - delete +- apiGroups: + - "" + resources: + - events + verbs: + - create + - update + - patch +- apiGroups: + - networking.istio.io + resources: + - virtualservices + verbs: + - watch + - get + - update +{{- end }} diff --git a/charts/argo-rollouts/templates/argo-rollouts-clusterrolebinding.yaml b/charts/argo-rollouts/templates/argo-rollouts-clusterrolebinding.yaml new file mode 100644 index 00000000..1d446845 --- /dev/null +++ b/charts/argo-rollouts/templates/argo-rollouts-clusterrolebinding.yaml @@ -0,0 +1,18 @@ +{{- if .Values.clusterInstall }} +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: {{ .Release.Name }}-clusterrolebinding + labels: + app.kubernetes.io/component: {{ .Values.controller.component }} + app.kubernetes.io/name: {{ .Release.Name }}-clusterrolebinding + app.kubernetes.io/part-of: {{ .Release.Name }} +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: {{ .Release.Name }}-clusterrole +subjects: +- kind: ServiceAccount + name: {{ .Values.serviceAccount.name }} + namespace: {{ .Release.Namespace }} +{{- end }} diff --git a/charts/argo-rollouts/templates/argo-rollouts-deployment.yaml b/charts/argo-rollouts/templates/argo-rollouts-deployment.yaml new file mode 100644 index 00000000..b916f8d4 --- /dev/null +++ b/charts/argo-rollouts/templates/argo-rollouts-deployment.yaml @@ -0,0 +1,32 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ .Release.Name }} + labels: + app.kubernetes.io/component: {{ .Values.controller.component }} + app.kubernetes.io/name: {{ .Release.Name }} + app.kubernetes.io/part-of: {{ .Release.Name }} +spec: + selector: + matchLabels: + app.kubernetes.io/name: {{ .Release.Name }} + template: + metadata: + labels: + app.kubernetes.io/name: {{ .Release.Name }} + spec: + serviceAccountName: {{ .Values.serviceAccount.name }} + containers: + - command: + - "/bin/rollouts-controller" + image: "{{ .Values.controller.image.repository }}:{{ .Values.controller.image.tag }}" + imagePullPolicy: {{ .Values.controller.image.pullPolicy }} + name: {{ .Values.controller.name }} + volumeMounts: + - name: tmp + mountPath: /tmp + volumes: + - name: tmp + emptyDir: {} + strategy: + type: Recreate diff --git a/charts/argo-rollouts/templates/argo-rollouts-metrics-service.yaml b/charts/argo-rollouts/templates/argo-rollouts-metrics-service.yaml new file mode 100644 index 00000000..cb673301 --- /dev/null +++ b/charts/argo-rollouts/templates/argo-rollouts-metrics-service.yaml @@ -0,0 +1,16 @@ +apiVersion: v1 +kind: Service +metadata: + name: {{ .Release.Name }}-metrics + labels: + app.kubernetes.io/component: server + app.kubernetes.io/name: {{ .Release.Name }}-metrics + app.kubernetes.io/part-of: {{ .Release.Name }} +spec: + ports: + - name: metrics + protocol: TCP + port: 8090 + targetPort: 8090 + selector: + app.kubernetes.io/name: {{ .Release.Name }} diff --git a/charts/argo-rollouts/templates/argo-rollouts-role.yaml b/charts/argo-rollouts/templates/argo-rollouts-role.yaml new file mode 100644 index 00000000..3c89053d --- /dev/null +++ b/charts/argo-rollouts/templates/argo-rollouts-role.yaml @@ -0,0 +1,87 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: Role +metadata: + name: {{ .Release.Name }}-role + labels: + app.kubernetes.io/component: {{ .Values.controller.component }} + app.kubernetes.io/name: {{ .Release.Name }}-role + app.kubernetes.io/part-of: {{ .Release.Name }} +rules: +- apiGroups: + - apps + resources: + - replicasets + verbs: + - create + - get + - list + - watch + - update + - patch + - delete +- apiGroups: + - "" + resources: + - services + verbs: + - get + - list + - watch + - patch +- apiGroups: + - argoproj.io + resources: + - rollouts + verbs: + - get + - list + - watch + - update + - patch +- apiGroups: + - argoproj.io + resources: + - analysisruns + - experiments + verbs: + - create + - get + - list + - watch + - update + - patch + - delete +- apiGroups: + - argoproj.io + resources: + - analysistemplates + verbs: + - get + - list + - watch +- apiGroups: + - batch + resources: + - jobs + verbs: + - create + - get + - list + - watch + - update + - patch + - delete +- apiGroups: + - "" + resources: + - events + verbs: + - create + - update + - patch +- apiGroups: + - "" + resources: + - secrets + verbs: + - get diff --git a/charts/argo-rollouts/templates/argo-rollouts-rolebinding.yaml b/charts/argo-rollouts/templates/argo-rollouts-rolebinding.yaml new file mode 100644 index 00000000..ddc0e27d --- /dev/null +++ b/charts/argo-rollouts/templates/argo-rollouts-rolebinding.yaml @@ -0,0 +1,15 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: RoleBinding +metadata: + name: {{ .Release.Name }}-role-binding + labels: + app.kubernetes.io/component: {{ .Values.controller.component }} + app.kubernetes.io/name: {{ .Release.Name }}-role-binding + app.kubernetes.io/part-of: {{ .Release.Name }} +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: Role + name: {{ .Release.Name }}-role +subjects: +- kind: ServiceAccount + name: {{ .Values.serviceAccount.name }} diff --git a/charts/argo-rollouts/templates/argo-rollouts-sa.yaml b/charts/argo-rollouts/templates/argo-rollouts-sa.yaml new file mode 100644 index 00000000..dca70793 --- /dev/null +++ b/charts/argo-rollouts/templates/argo-rollouts-sa.yaml @@ -0,0 +1,8 @@ +apiVersion: v1 +kind: ServiceAccount +metadata: + name: {{ .Values.serviceAccount.name }} + labels: + app.kubernetes.io/component: {{ .Values.controller.component }} + app.kubernetes.io/name: {{ .Release.Name }} + app.kubernetes.io/part-of: {{ .Release.Name }} diff --git a/charts/argo-rollouts/templates/crds/analysis-run-crd.yaml b/charts/argo-rollouts/templates/crds/analysis-run-crd.yaml new file mode 100644 index 00000000..9133e58e --- /dev/null +++ b/charts/argo-rollouts/templates/crds/analysis-run-crd.yaml @@ -0,0 +1,2726 @@ +{{- if .Values.installCRDs }} +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + name: analysisruns.argoproj.io +spec: + additionalPrinterColumns: + - JSONPath: .status.phase + description: AnalysisRun status + name: Status + type: string + group: argoproj.io + names: + kind: AnalysisRun + listKind: AnalysisRunList + plural: analysisruns + singular: analysisrun + scope: Namespaced + subresources: {} + validation: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + properties: + args: + items: + properties: + name: + type: string + value: + type: string + required: + - name + type: object + type: array + metrics: + items: + properties: + consecutiveErrorLimit: + format: int32 + type: integer + count: + format: int32 + type: integer + failureCondition: + type: string + failureLimit: + format: int32 + type: integer + inconclusiveLimit: + format: int32 + type: integer + initialDelay: + type: string + interval: + type: string + name: + type: string + provider: + properties: + job: + properties: + metadata: + type: object + spec: + properties: + activeDeadlineSeconds: + format: int64 + type: integer + backoffLimit: + format: int32 + type: integer + completions: + format: int32 + type: integer + manualSelector: + type: boolean + parallelism: + format: int32 + type: integer + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + template: + properties: + metadata: + type: object + spec: + properties: + activeDeadlineSeconds: + format: int64 + type: integer + affinity: + properties: + nodeAffinity: + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + properties: + preference: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchFields: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + type: object + weight: + format: int32 + type: integer + required: + - preference + - weight + type: object + type: array + requiredDuringSchedulingIgnoredDuringExecution: + properties: + nodeSelectorTerms: + items: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchFields: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + type: object + type: array + required: + - nodeSelectorTerms + type: object + type: object + podAffinity: + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + properties: + podAffinityTerm: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaces: + items: + type: string + type: array + topologyKey: + type: string + required: + - topologyKey + type: object + weight: + format: int32 + type: integer + required: + - podAffinityTerm + - weight + type: object + type: array + requiredDuringSchedulingIgnoredDuringExecution: + items: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaces: + items: + type: string + type: array + topologyKey: + type: string + required: + - topologyKey + type: object + type: array + type: object + podAntiAffinity: + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + properties: + podAffinityTerm: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaces: + items: + type: string + type: array + topologyKey: + type: string + required: + - topologyKey + type: object + weight: + format: int32 + type: integer + required: + - podAffinityTerm + - weight + type: object + type: array + requiredDuringSchedulingIgnoredDuringExecution: + items: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaces: + items: + type: string + type: array + topologyKey: + type: string + required: + - topologyKey + type: object + type: array + type: object + type: object + automountServiceAccountToken: + type: boolean + containers: + items: + properties: + args: + items: + type: string + type: array + command: + items: + type: string + type: array + env: + items: + properties: + name: + type: string + value: + type: string + valueFrom: + properties: + configMapKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + resourceFieldRef: + properties: + containerName: + type: string + divisor: + type: string + resource: + type: string + required: + - resource + type: object + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + required: + - name + type: object + type: array + envFrom: + items: + properties: + configMapRef: + properties: + name: + type: string + optional: + type: boolean + type: object + prefix: + type: string + secretRef: + properties: + name: + type: string + optional: + type: boolean + type: object + type: object + type: array + image: + type: string + imagePullPolicy: + type: string + lifecycle: + properties: + postStart: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: string + - type: integer + scheme: + type: string + required: + - port + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: string + - type: integer + required: + - port + type: object + type: object + preStop: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: string + - type: integer + scheme: + type: string + required: + - port + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: string + - type: integer + required: + - port + type: object + type: object + type: object + livenessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: string + - type: integer + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: string + - type: integer + required: + - port + type: object + timeoutSeconds: + format: int32 + type: integer + type: object + name: + type: string + ports: + items: + properties: + containerPort: + format: int32 + type: integer + hostIP: + type: string + hostPort: + format: int32 + type: integer + name: + type: string + protocol: + type: string + required: + - containerPort + type: object + type: array + readinessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: string + - type: integer + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: string + - type: integer + required: + - port + type: object + timeoutSeconds: + format: int32 + type: integer + type: object + resources: + type: object + securityContext: + properties: + allowPrivilegeEscalation: + type: boolean + capabilities: + properties: + add: + items: + type: string + type: array + drop: + items: + type: string + type: array + type: object + privileged: + type: boolean + procMount: + type: string + readOnlyRootFilesystem: + type: boolean + runAsGroup: + format: int64 + type: integer + runAsNonRoot: + type: boolean + runAsUser: + format: int64 + type: integer + seLinuxOptions: + properties: + level: + type: string + role: + type: string + type: + type: string + user: + type: string + type: object + windowsOptions: + properties: + gmsaCredentialSpec: + type: string + gmsaCredentialSpecName: + type: string + runAsUserName: + type: string + type: object + type: object + startupProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: string + - type: integer + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: string + - type: integer + required: + - port + type: object + timeoutSeconds: + format: int32 + type: integer + type: object + stdin: + type: boolean + stdinOnce: + type: boolean + terminationMessagePath: + type: string + terminationMessagePolicy: + type: string + tty: + type: boolean + volumeDevices: + items: + properties: + devicePath: + type: string + name: + type: string + required: + - devicePath + - name + type: object + type: array + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + workingDir: + type: string + required: + - name + type: object + type: array + dnsConfig: + properties: + nameservers: + items: + type: string + type: array + options: + items: + properties: + name: + type: string + value: + type: string + type: object + type: array + searches: + items: + type: string + type: array + type: object + dnsPolicy: + type: string + enableServiceLinks: + type: boolean + ephemeralContainers: + items: + properties: + args: + items: + type: string + type: array + command: + items: + type: string + type: array + env: + items: + properties: + name: + type: string + value: + type: string + valueFrom: + properties: + configMapKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + resourceFieldRef: + properties: + containerName: + type: string + divisor: + type: string + resource: + type: string + required: + - resource + type: object + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + required: + - name + type: object + type: array + envFrom: + items: + properties: + configMapRef: + properties: + name: + type: string + optional: + type: boolean + type: object + prefix: + type: string + secretRef: + properties: + name: + type: string + optional: + type: boolean + type: object + type: object + type: array + image: + type: string + imagePullPolicy: + type: string + lifecycle: + properties: + postStart: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: string + - type: integer + scheme: + type: string + required: + - port + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: string + - type: integer + required: + - port + type: object + type: object + preStop: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: string + - type: integer + scheme: + type: string + required: + - port + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: string + - type: integer + required: + - port + type: object + type: object + type: object + livenessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: string + - type: integer + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: string + - type: integer + required: + - port + type: object + timeoutSeconds: + format: int32 + type: integer + type: object + name: + type: string + ports: + items: + properties: + containerPort: + format: int32 + type: integer + hostIP: + type: string + hostPort: + format: int32 + type: integer + name: + type: string + protocol: + type: string + required: + - containerPort + type: object + type: array + readinessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: string + - type: integer + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: string + - type: integer + required: + - port + type: object + timeoutSeconds: + format: int32 + type: integer + type: object + resources: + type: object + securityContext: + properties: + allowPrivilegeEscalation: + type: boolean + capabilities: + properties: + add: + items: + type: string + type: array + drop: + items: + type: string + type: array + type: object + privileged: + type: boolean + procMount: + type: string + readOnlyRootFilesystem: + type: boolean + runAsGroup: + format: int64 + type: integer + runAsNonRoot: + type: boolean + runAsUser: + format: int64 + type: integer + seLinuxOptions: + properties: + level: + type: string + role: + type: string + type: + type: string + user: + type: string + type: object + windowsOptions: + properties: + gmsaCredentialSpec: + type: string + gmsaCredentialSpecName: + type: string + runAsUserName: + type: string + type: object + type: object + startupProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: string + - type: integer + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: string + - type: integer + required: + - port + type: object + timeoutSeconds: + format: int32 + type: integer + type: object + stdin: + type: boolean + stdinOnce: + type: boolean + targetContainerName: + type: string + terminationMessagePath: + type: string + terminationMessagePolicy: + type: string + tty: + type: boolean + volumeDevices: + items: + properties: + devicePath: + type: string + name: + type: string + required: + - devicePath + - name + type: object + type: array + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + workingDir: + type: string + required: + - name + type: object + type: array + hostAliases: + items: + properties: + hostnames: + items: + type: string + type: array + ip: + type: string + type: object + type: array + hostIPC: + type: boolean + hostNetwork: + type: boolean + hostPID: + type: boolean + hostname: + type: string + imagePullSecrets: + items: + properties: + name: + type: string + type: object + type: array + initContainers: + items: + properties: + args: + items: + type: string + type: array + command: + items: + type: string + type: array + env: + items: + properties: + name: + type: string + value: + type: string + valueFrom: + properties: + configMapKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + resourceFieldRef: + properties: + containerName: + type: string + divisor: + type: string + resource: + type: string + required: + - resource + type: object + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + required: + - name + type: object + type: array + envFrom: + items: + properties: + configMapRef: + properties: + name: + type: string + optional: + type: boolean + type: object + prefix: + type: string + secretRef: + properties: + name: + type: string + optional: + type: boolean + type: object + type: object + type: array + image: + type: string + imagePullPolicy: + type: string + lifecycle: + properties: + postStart: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: string + - type: integer + scheme: + type: string + required: + - port + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: string + - type: integer + required: + - port + type: object + type: object + preStop: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: string + - type: integer + scheme: + type: string + required: + - port + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: string + - type: integer + required: + - port + type: object + type: object + type: object + livenessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: string + - type: integer + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: string + - type: integer + required: + - port + type: object + timeoutSeconds: + format: int32 + type: integer + type: object + name: + type: string + ports: + items: + properties: + containerPort: + format: int32 + type: integer + hostIP: + type: string + hostPort: + format: int32 + type: integer + name: + type: string + protocol: + type: string + required: + - containerPort + type: object + type: array + readinessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: string + - type: integer + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: string + - type: integer + required: + - port + type: object + timeoutSeconds: + format: int32 + type: integer + type: object + resources: + type: object + securityContext: + properties: + allowPrivilegeEscalation: + type: boolean + capabilities: + properties: + add: + items: + type: string + type: array + drop: + items: + type: string + type: array + type: object + privileged: + type: boolean + procMount: + type: string + readOnlyRootFilesystem: + type: boolean + runAsGroup: + format: int64 + type: integer + runAsNonRoot: + type: boolean + runAsUser: + format: int64 + type: integer + seLinuxOptions: + properties: + level: + type: string + role: + type: string + type: + type: string + user: + type: string + type: object + windowsOptions: + properties: + gmsaCredentialSpec: + type: string + gmsaCredentialSpecName: + type: string + runAsUserName: + type: string + type: object + type: object + startupProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: string + - type: integer + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: string + - type: integer + required: + - port + type: object + timeoutSeconds: + format: int32 + type: integer + type: object + stdin: + type: boolean + stdinOnce: + type: boolean + terminationMessagePath: + type: string + terminationMessagePolicy: + type: string + tty: + type: boolean + volumeDevices: + items: + properties: + devicePath: + type: string + name: + type: string + required: + - devicePath + - name + type: object + type: array + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + workingDir: + type: string + required: + - name + type: object + type: array + nodeName: + type: string + nodeSelector: + additionalProperties: + type: string + type: object + overhead: + additionalProperties: + type: string + type: object + preemptionPolicy: + type: string + priority: + format: int32 + type: integer + priorityClassName: + type: string + readinessGates: + items: + properties: + conditionType: + type: string + required: + - conditionType + type: object + type: array + restartPolicy: + type: string + runtimeClassName: + type: string + schedulerName: + type: string + securityContext: + properties: + fsGroup: + format: int64 + type: integer + runAsGroup: + format: int64 + type: integer + runAsNonRoot: + type: boolean + runAsUser: + format: int64 + type: integer + seLinuxOptions: + properties: + level: + type: string + role: + type: string + type: + type: string + user: + type: string + type: object + supplementalGroups: + items: + format: int64 + type: integer + type: array + sysctls: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + windowsOptions: + properties: + gmsaCredentialSpec: + type: string + gmsaCredentialSpecName: + type: string + runAsUserName: + type: string + type: object + type: object + serviceAccount: + type: string + serviceAccountName: + type: string + shareProcessNamespace: + type: boolean + subdomain: + type: string + terminationGracePeriodSeconds: + format: int64 + type: integer + tolerations: + items: + properties: + effect: + type: string + key: + type: string + operator: + type: string + tolerationSeconds: + format: int64 + type: integer + value: + type: string + type: object + type: array + topologySpreadConstraints: + items: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + maxSkew: + format: int32 + type: integer + topologyKey: + type: string + whenUnsatisfiable: + type: string + required: + - maxSkew + - topologyKey + - whenUnsatisfiable + type: object + type: array + volumes: + items: + properties: + awsElasticBlockStore: + properties: + fsType: + type: string + partition: + format: int32 + type: integer + readOnly: + type: boolean + volumeID: + type: string + required: + - volumeID + type: object + azureDisk: + properties: + cachingMode: + type: string + diskName: + type: string + diskURI: + type: string + fsType: + type: string + kind: + type: string + readOnly: + type: boolean + required: + - diskName + - diskURI + type: object + azureFile: + properties: + readOnly: + type: boolean + secretName: + type: string + shareName: + type: string + required: + - secretName + - shareName + type: object + cephfs: + properties: + monitors: + items: + type: string + type: array + path: + type: string + readOnly: + type: boolean + secretFile: + type: string + secretRef: + properties: + name: + type: string + type: object + user: + type: string + required: + - monitors + type: object + cinder: + properties: + fsType: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + volumeID: + type: string + required: + - volumeID + type: object + csi: + properties: + driver: + type: string + fsType: + type: string + nodePublishSecretRef: + properties: + name: + type: string + type: object + readOnly: + type: boolean + volumeAttributes: + additionalProperties: + type: string + type: object + required: + - driver + type: object + emptyDir: + properties: + medium: + type: string + sizeLimit: + type: string + type: object + fc: + properties: + fsType: + type: string + lun: + format: int32 + type: integer + readOnly: + type: boolean + targetWWNs: + items: + type: string + type: array + wwids: + items: + type: string + type: array + type: object + flexVolume: + properties: + driver: + type: string + fsType: + type: string + options: + additionalProperties: + type: string + type: object + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + required: + - driver + type: object + flocker: + properties: + datasetName: + type: string + datasetUUID: + type: string + type: object + gcePersistentDisk: + properties: + fsType: + type: string + partition: + format: int32 + type: integer + pdName: + type: string + readOnly: + type: boolean + required: + - pdName + type: object + gitRepo: + properties: + directory: + type: string + repository: + type: string + revision: + type: string + required: + - repository + type: object + glusterfs: + properties: + endpoints: + type: string + path: + type: string + readOnly: + type: boolean + required: + - endpoints + - path + type: object + hostPath: + properties: + path: + type: string + type: + type: string + required: + - path + type: object + iscsi: + properties: + chapAuthDiscovery: + type: boolean + chapAuthSession: + type: boolean + fsType: + type: string + initiatorName: + type: string + iqn: + type: string + iscsiInterface: + type: string + lun: + format: int32 + type: integer + portals: + items: + type: string + type: array + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + targetPortal: + type: string + required: + - iqn + - lun + - targetPortal + type: object + name: + type: string + nfs: + properties: + path: + type: string + readOnly: + type: boolean + server: + type: string + required: + - path + - server + type: object + persistentVolumeClaim: + properties: + claimName: + type: string + readOnly: + type: boolean + required: + - claimName + type: object + photonPersistentDisk: + properties: + fsType: + type: string + pdID: + type: string + required: + - pdID + type: object + portworxVolume: + properties: + fsType: + type: string + readOnly: + type: boolean + volumeID: + type: string + required: + - volumeID + type: object + projected: + properties: + defaultMode: + format: int32 + type: integer + sources: + items: + properties: + serviceAccountToken: + properties: + audience: + type: string + expirationSeconds: + format: int64 + type: integer + path: + type: string + required: + - path + type: object + type: object + type: array + required: + - sources + type: object + quobyte: + properties: + group: + type: string + readOnly: + type: boolean + registry: + type: string + tenant: + type: string + user: + type: string + volume: + type: string + required: + - registry + - volume + type: object + rbd: + properties: + fsType: + type: string + image: + type: string + keyring: + type: string + monitors: + items: + type: string + type: array + pool: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + user: + type: string + required: + - image + - monitors + type: object + scaleIO: + properties: + fsType: + type: string + gateway: + type: string + protectionDomain: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + sslEnabled: + type: boolean + storageMode: + type: string + storagePool: + type: string + system: + type: string + volumeName: + type: string + required: + - gateway + - secretRef + - system + type: object + storageos: + properties: + fsType: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + volumeName: + type: string + volumeNamespace: + type: string + type: object + vsphereVolume: + properties: + fsType: + type: string + storagePolicyID: + type: string + storagePolicyName: + type: string + volumePath: + type: string + required: + - volumePath + type: object + required: + - name + type: object + type: array + required: + - containers + type: object + type: object + ttlSecondsAfterFinished: + format: int32 + type: integer + required: + - template + type: object + required: + - spec + type: object + kayenta: + properties: + address: + type: string + application: + type: string + canaryConfigName: + type: string + configurationAccountName: + type: string + metricsAccountName: + type: string + scopes: + items: + properties: + controlScope: + properties: + end: + type: string + region: + type: string + scope: + type: string + start: + type: string + step: + type: integer + required: + - end + - region + - scope + - start + - step + type: object + experimentScope: + properties: + end: + type: string + region: + type: string + scope: + type: string + start: + type: string + step: + type: integer + required: + - end + - region + - scope + - start + - step + type: object + name: + type: string + required: + - controlScope + - experimentScope + - name + type: object + type: array + storageAccountName: + type: string + threshold: + properties: + marginal: + type: integer + pass: + type: integer + required: + - marginal + - pass + type: object + required: + - address + - application + - canaryConfigName + - configurationAccountName + - metricsAccountName + - scopes + - storageAccountName + - threshold + type: object + prometheus: + properties: + address: + type: string + query: + type: string + type: object + wavefront: + properties: + address: + type: string + query: + type: string + type: object + web: + properties: + headers: + items: + properties: + key: + type: string + value: + type: string + required: + - key + - value + type: object + type: array + jsonPath: + type: string + timeoutSeconds: + type: integer + url: + type: string + required: + - jsonPath + - url + type: object + type: object + successCondition: + type: string + required: + - name + - provider + type: object + type: array + terminate: + type: boolean + required: + - metrics + type: object + status: + properties: + message: + type: string + metricResults: + items: + properties: + consecutiveError: + format: int32 + type: integer + count: + format: int32 + type: integer + error: + format: int32 + type: integer + failed: + format: int32 + type: integer + inconclusive: + format: int32 + type: integer + measurements: + items: + properties: + finishedAt: + format: date-time + type: string + message: + type: string + metadata: + additionalProperties: + type: string + type: object + phase: + type: string + resumeAt: + format: date-time + type: string + startedAt: + format: date-time + type: string + value: + type: string + required: + - phase + type: object + type: array + message: + type: string + name: + type: string + phase: + type: string + successful: + format: int32 + type: integer + required: + - name + - phase + type: object + type: array + phase: + type: string + startedAt: + format: date-time + type: string + required: + - phase + type: object + required: + - spec + type: object + version: v1alpha1 + versions: + - name: v1alpha1 + served: true + storage: true +{{- end }} diff --git a/charts/argo-rollouts/templates/crds/analysis-template-crd.yaml b/charts/argo-rollouts/templates/crds/analysis-template-crd.yaml new file mode 100644 index 00000000..4ad87d94 --- /dev/null +++ b/charts/argo-rollouts/templates/crds/analysis-template-crd.yaml @@ -0,0 +1,2648 @@ +{{- if .Values.installCRDs }} +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + name: analysistemplates.argoproj.io +spec: + group: argoproj.io + names: + kind: AnalysisTemplate + listKind: AnalysisTemplateList + plural: analysistemplates + singular: analysistemplate + scope: Namespaced + validation: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + properties: + args: + items: + properties: + name: + type: string + value: + type: string + required: + - name + type: object + type: array + metrics: + items: + properties: + consecutiveErrorLimit: + format: int32 + type: integer + count: + format: int32 + type: integer + failureCondition: + type: string + failureLimit: + format: int32 + type: integer + inconclusiveLimit: + format: int32 + type: integer + initialDelay: + type: string + interval: + type: string + name: + type: string + provider: + properties: + job: + properties: + metadata: + type: object + spec: + properties: + activeDeadlineSeconds: + format: int64 + type: integer + backoffLimit: + format: int32 + type: integer + completions: + format: int32 + type: integer + manualSelector: + type: boolean + parallelism: + format: int32 + type: integer + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + template: + properties: + metadata: + type: object + spec: + properties: + activeDeadlineSeconds: + format: int64 + type: integer + affinity: + properties: + nodeAffinity: + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + properties: + preference: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchFields: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + type: object + weight: + format: int32 + type: integer + required: + - preference + - weight + type: object + type: array + requiredDuringSchedulingIgnoredDuringExecution: + properties: + nodeSelectorTerms: + items: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchFields: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + type: object + type: array + required: + - nodeSelectorTerms + type: object + type: object + podAffinity: + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + properties: + podAffinityTerm: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaces: + items: + type: string + type: array + topologyKey: + type: string + required: + - topologyKey + type: object + weight: + format: int32 + type: integer + required: + - podAffinityTerm + - weight + type: object + type: array + requiredDuringSchedulingIgnoredDuringExecution: + items: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaces: + items: + type: string + type: array + topologyKey: + type: string + required: + - topologyKey + type: object + type: array + type: object + podAntiAffinity: + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + properties: + podAffinityTerm: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaces: + items: + type: string + type: array + topologyKey: + type: string + required: + - topologyKey + type: object + weight: + format: int32 + type: integer + required: + - podAffinityTerm + - weight + type: object + type: array + requiredDuringSchedulingIgnoredDuringExecution: + items: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaces: + items: + type: string + type: array + topologyKey: + type: string + required: + - topologyKey + type: object + type: array + type: object + type: object + automountServiceAccountToken: + type: boolean + containers: + items: + properties: + args: + items: + type: string + type: array + command: + items: + type: string + type: array + env: + items: + properties: + name: + type: string + value: + type: string + valueFrom: + properties: + configMapKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + resourceFieldRef: + properties: + containerName: + type: string + divisor: + type: string + resource: + type: string + required: + - resource + type: object + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + required: + - name + type: object + type: array + envFrom: + items: + properties: + configMapRef: + properties: + name: + type: string + optional: + type: boolean + type: object + prefix: + type: string + secretRef: + properties: + name: + type: string + optional: + type: boolean + type: object + type: object + type: array + image: + type: string + imagePullPolicy: + type: string + lifecycle: + properties: + postStart: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: string + - type: integer + scheme: + type: string + required: + - port + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: string + - type: integer + required: + - port + type: object + type: object + preStop: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: string + - type: integer + scheme: + type: string + required: + - port + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: string + - type: integer + required: + - port + type: object + type: object + type: object + livenessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: string + - type: integer + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: string + - type: integer + required: + - port + type: object + timeoutSeconds: + format: int32 + type: integer + type: object + name: + type: string + ports: + items: + properties: + containerPort: + format: int32 + type: integer + hostIP: + type: string + hostPort: + format: int32 + type: integer + name: + type: string + protocol: + type: string + required: + - containerPort + type: object + type: array + readinessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: string + - type: integer + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: string + - type: integer + required: + - port + type: object + timeoutSeconds: + format: int32 + type: integer + type: object + resources: + type: object + securityContext: + properties: + allowPrivilegeEscalation: + type: boolean + capabilities: + properties: + add: + items: + type: string + type: array + drop: + items: + type: string + type: array + type: object + privileged: + type: boolean + procMount: + type: string + readOnlyRootFilesystem: + type: boolean + runAsGroup: + format: int64 + type: integer + runAsNonRoot: + type: boolean + runAsUser: + format: int64 + type: integer + seLinuxOptions: + properties: + level: + type: string + role: + type: string + type: + type: string + user: + type: string + type: object + windowsOptions: + properties: + gmsaCredentialSpec: + type: string + gmsaCredentialSpecName: + type: string + runAsUserName: + type: string + type: object + type: object + startupProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: string + - type: integer + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: string + - type: integer + required: + - port + type: object + timeoutSeconds: + format: int32 + type: integer + type: object + stdin: + type: boolean + stdinOnce: + type: boolean + terminationMessagePath: + type: string + terminationMessagePolicy: + type: string + tty: + type: boolean + volumeDevices: + items: + properties: + devicePath: + type: string + name: + type: string + required: + - devicePath + - name + type: object + type: array + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + workingDir: + type: string + required: + - name + type: object + type: array + dnsConfig: + properties: + nameservers: + items: + type: string + type: array + options: + items: + properties: + name: + type: string + value: + type: string + type: object + type: array + searches: + items: + type: string + type: array + type: object + dnsPolicy: + type: string + enableServiceLinks: + type: boolean + ephemeralContainers: + items: + properties: + args: + items: + type: string + type: array + command: + items: + type: string + type: array + env: + items: + properties: + name: + type: string + value: + type: string + valueFrom: + properties: + configMapKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + resourceFieldRef: + properties: + containerName: + type: string + divisor: + type: string + resource: + type: string + required: + - resource + type: object + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + required: + - name + type: object + type: array + envFrom: + items: + properties: + configMapRef: + properties: + name: + type: string + optional: + type: boolean + type: object + prefix: + type: string + secretRef: + properties: + name: + type: string + optional: + type: boolean + type: object + type: object + type: array + image: + type: string + imagePullPolicy: + type: string + lifecycle: + properties: + postStart: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: string + - type: integer + scheme: + type: string + required: + - port + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: string + - type: integer + required: + - port + type: object + type: object + preStop: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: string + - type: integer + scheme: + type: string + required: + - port + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: string + - type: integer + required: + - port + type: object + type: object + type: object + livenessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: string + - type: integer + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: string + - type: integer + required: + - port + type: object + timeoutSeconds: + format: int32 + type: integer + type: object + name: + type: string + ports: + items: + properties: + containerPort: + format: int32 + type: integer + hostIP: + type: string + hostPort: + format: int32 + type: integer + name: + type: string + protocol: + type: string + required: + - containerPort + type: object + type: array + readinessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: string + - type: integer + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: string + - type: integer + required: + - port + type: object + timeoutSeconds: + format: int32 + type: integer + type: object + resources: + type: object + securityContext: + properties: + allowPrivilegeEscalation: + type: boolean + capabilities: + properties: + add: + items: + type: string + type: array + drop: + items: + type: string + type: array + type: object + privileged: + type: boolean + procMount: + type: string + readOnlyRootFilesystem: + type: boolean + runAsGroup: + format: int64 + type: integer + runAsNonRoot: + type: boolean + runAsUser: + format: int64 + type: integer + seLinuxOptions: + properties: + level: + type: string + role: + type: string + type: + type: string + user: + type: string + type: object + windowsOptions: + properties: + gmsaCredentialSpec: + type: string + gmsaCredentialSpecName: + type: string + runAsUserName: + type: string + type: object + type: object + startupProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: string + - type: integer + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: string + - type: integer + required: + - port + type: object + timeoutSeconds: + format: int32 + type: integer + type: object + stdin: + type: boolean + stdinOnce: + type: boolean + targetContainerName: + type: string + terminationMessagePath: + type: string + terminationMessagePolicy: + type: string + tty: + type: boolean + volumeDevices: + items: + properties: + devicePath: + type: string + name: + type: string + required: + - devicePath + - name + type: object + type: array + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + workingDir: + type: string + required: + - name + type: object + type: array + hostAliases: + items: + properties: + hostnames: + items: + type: string + type: array + ip: + type: string + type: object + type: array + hostIPC: + type: boolean + hostNetwork: + type: boolean + hostPID: + type: boolean + hostname: + type: string + imagePullSecrets: + items: + properties: + name: + type: string + type: object + type: array + initContainers: + items: + properties: + args: + items: + type: string + type: array + command: + items: + type: string + type: array + env: + items: + properties: + name: + type: string + value: + type: string + valueFrom: + properties: + configMapKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + resourceFieldRef: + properties: + containerName: + type: string + divisor: + type: string + resource: + type: string + required: + - resource + type: object + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + required: + - name + type: object + type: array + envFrom: + items: + properties: + configMapRef: + properties: + name: + type: string + optional: + type: boolean + type: object + prefix: + type: string + secretRef: + properties: + name: + type: string + optional: + type: boolean + type: object + type: object + type: array + image: + type: string + imagePullPolicy: + type: string + lifecycle: + properties: + postStart: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: string + - type: integer + scheme: + type: string + required: + - port + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: string + - type: integer + required: + - port + type: object + type: object + preStop: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: string + - type: integer + scheme: + type: string + required: + - port + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: string + - type: integer + required: + - port + type: object + type: object + type: object + livenessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: string + - type: integer + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: string + - type: integer + required: + - port + type: object + timeoutSeconds: + format: int32 + type: integer + type: object + name: + type: string + ports: + items: + properties: + containerPort: + format: int32 + type: integer + hostIP: + type: string + hostPort: + format: int32 + type: integer + name: + type: string + protocol: + type: string + required: + - containerPort + type: object + type: array + readinessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: string + - type: integer + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: string + - type: integer + required: + - port + type: object + timeoutSeconds: + format: int32 + type: integer + type: object + resources: + type: object + securityContext: + properties: + allowPrivilegeEscalation: + type: boolean + capabilities: + properties: + add: + items: + type: string + type: array + drop: + items: + type: string + type: array + type: object + privileged: + type: boolean + procMount: + type: string + readOnlyRootFilesystem: + type: boolean + runAsGroup: + format: int64 + type: integer + runAsNonRoot: + type: boolean + runAsUser: + format: int64 + type: integer + seLinuxOptions: + properties: + level: + type: string + role: + type: string + type: + type: string + user: + type: string + type: object + windowsOptions: + properties: + gmsaCredentialSpec: + type: string + gmsaCredentialSpecName: + type: string + runAsUserName: + type: string + type: object + type: object + startupProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: string + - type: integer + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: string + - type: integer + required: + - port + type: object + timeoutSeconds: + format: int32 + type: integer + type: object + stdin: + type: boolean + stdinOnce: + type: boolean + terminationMessagePath: + type: string + terminationMessagePolicy: + type: string + tty: + type: boolean + volumeDevices: + items: + properties: + devicePath: + type: string + name: + type: string + required: + - devicePath + - name + type: object + type: array + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + workingDir: + type: string + required: + - name + type: object + type: array + nodeName: + type: string + nodeSelector: + additionalProperties: + type: string + type: object + overhead: + additionalProperties: + type: string + type: object + preemptionPolicy: + type: string + priority: + format: int32 + type: integer + priorityClassName: + type: string + readinessGates: + items: + properties: + conditionType: + type: string + required: + - conditionType + type: object + type: array + restartPolicy: + type: string + runtimeClassName: + type: string + schedulerName: + type: string + securityContext: + properties: + fsGroup: + format: int64 + type: integer + runAsGroup: + format: int64 + type: integer + runAsNonRoot: + type: boolean + runAsUser: + format: int64 + type: integer + seLinuxOptions: + properties: + level: + type: string + role: + type: string + type: + type: string + user: + type: string + type: object + supplementalGroups: + items: + format: int64 + type: integer + type: array + sysctls: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + windowsOptions: + properties: + gmsaCredentialSpec: + type: string + gmsaCredentialSpecName: + type: string + runAsUserName: + type: string + type: object + type: object + serviceAccount: + type: string + serviceAccountName: + type: string + shareProcessNamespace: + type: boolean + subdomain: + type: string + terminationGracePeriodSeconds: + format: int64 + type: integer + tolerations: + items: + properties: + effect: + type: string + key: + type: string + operator: + type: string + tolerationSeconds: + format: int64 + type: integer + value: + type: string + type: object + type: array + topologySpreadConstraints: + items: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + maxSkew: + format: int32 + type: integer + topologyKey: + type: string + whenUnsatisfiable: + type: string + required: + - maxSkew + - topologyKey + - whenUnsatisfiable + type: object + type: array + volumes: + items: + properties: + awsElasticBlockStore: + properties: + fsType: + type: string + partition: + format: int32 + type: integer + readOnly: + type: boolean + volumeID: + type: string + required: + - volumeID + type: object + azureDisk: + properties: + cachingMode: + type: string + diskName: + type: string + diskURI: + type: string + fsType: + type: string + kind: + type: string + readOnly: + type: boolean + required: + - diskName + - diskURI + type: object + azureFile: + properties: + readOnly: + type: boolean + secretName: + type: string + shareName: + type: string + required: + - secretName + - shareName + type: object + cephfs: + properties: + monitors: + items: + type: string + type: array + path: + type: string + readOnly: + type: boolean + secretFile: + type: string + secretRef: + properties: + name: + type: string + type: object + user: + type: string + required: + - monitors + type: object + cinder: + properties: + fsType: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + volumeID: + type: string + required: + - volumeID + type: object + csi: + properties: + driver: + type: string + fsType: + type: string + nodePublishSecretRef: + properties: + name: + type: string + type: object + readOnly: + type: boolean + volumeAttributes: + additionalProperties: + type: string + type: object + required: + - driver + type: object + emptyDir: + properties: + medium: + type: string + sizeLimit: + type: string + type: object + fc: + properties: + fsType: + type: string + lun: + format: int32 + type: integer + readOnly: + type: boolean + targetWWNs: + items: + type: string + type: array + wwids: + items: + type: string + type: array + type: object + flexVolume: + properties: + driver: + type: string + fsType: + type: string + options: + additionalProperties: + type: string + type: object + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + required: + - driver + type: object + flocker: + properties: + datasetName: + type: string + datasetUUID: + type: string + type: object + gcePersistentDisk: + properties: + fsType: + type: string + partition: + format: int32 + type: integer + pdName: + type: string + readOnly: + type: boolean + required: + - pdName + type: object + gitRepo: + properties: + directory: + type: string + repository: + type: string + revision: + type: string + required: + - repository + type: object + glusterfs: + properties: + endpoints: + type: string + path: + type: string + readOnly: + type: boolean + required: + - endpoints + - path + type: object + hostPath: + properties: + path: + type: string + type: + type: string + required: + - path + type: object + iscsi: + properties: + chapAuthDiscovery: + type: boolean + chapAuthSession: + type: boolean + fsType: + type: string + initiatorName: + type: string + iqn: + type: string + iscsiInterface: + type: string + lun: + format: int32 + type: integer + portals: + items: + type: string + type: array + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + targetPortal: + type: string + required: + - iqn + - lun + - targetPortal + type: object + name: + type: string + nfs: + properties: + path: + type: string + readOnly: + type: boolean + server: + type: string + required: + - path + - server + type: object + persistentVolumeClaim: + properties: + claimName: + type: string + readOnly: + type: boolean + required: + - claimName + type: object + photonPersistentDisk: + properties: + fsType: + type: string + pdID: + type: string + required: + - pdID + type: object + portworxVolume: + properties: + fsType: + type: string + readOnly: + type: boolean + volumeID: + type: string + required: + - volumeID + type: object + projected: + properties: + defaultMode: + format: int32 + type: integer + sources: + items: + properties: + serviceAccountToken: + properties: + audience: + type: string + expirationSeconds: + format: int64 + type: integer + path: + type: string + required: + - path + type: object + type: object + type: array + required: + - sources + type: object + quobyte: + properties: + group: + type: string + readOnly: + type: boolean + registry: + type: string + tenant: + type: string + user: + type: string + volume: + type: string + required: + - registry + - volume + type: object + rbd: + properties: + fsType: + type: string + image: + type: string + keyring: + type: string + monitors: + items: + type: string + type: array + pool: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + user: + type: string + required: + - image + - monitors + type: object + scaleIO: + properties: + fsType: + type: string + gateway: + type: string + protectionDomain: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + sslEnabled: + type: boolean + storageMode: + type: string + storagePool: + type: string + system: + type: string + volumeName: + type: string + required: + - gateway + - secretRef + - system + type: object + storageos: + properties: + fsType: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + volumeName: + type: string + volumeNamespace: + type: string + type: object + vsphereVolume: + properties: + fsType: + type: string + storagePolicyID: + type: string + storagePolicyName: + type: string + volumePath: + type: string + required: + - volumePath + type: object + required: + - name + type: object + type: array + required: + - containers + type: object + type: object + ttlSecondsAfterFinished: + format: int32 + type: integer + required: + - template + type: object + required: + - spec + type: object + kayenta: + properties: + address: + type: string + application: + type: string + canaryConfigName: + type: string + configurationAccountName: + type: string + metricsAccountName: + type: string + scopes: + items: + properties: + controlScope: + properties: + end: + type: string + region: + type: string + scope: + type: string + start: + type: string + step: + type: integer + required: + - end + - region + - scope + - start + - step + type: object + experimentScope: + properties: + end: + type: string + region: + type: string + scope: + type: string + start: + type: string + step: + type: integer + required: + - end + - region + - scope + - start + - step + type: object + name: + type: string + required: + - controlScope + - experimentScope + - name + type: object + type: array + storageAccountName: + type: string + threshold: + properties: + marginal: + type: integer + pass: + type: integer + required: + - marginal + - pass + type: object + required: + - address + - application + - canaryConfigName + - configurationAccountName + - metricsAccountName + - scopes + - storageAccountName + - threshold + type: object + prometheus: + properties: + address: + type: string + query: + type: string + type: object + wavefront: + properties: + address: + type: string + query: + type: string + type: object + web: + properties: + headers: + items: + properties: + key: + type: string + value: + type: string + required: + - key + - value + type: object + type: array + jsonPath: + type: string + timeoutSeconds: + type: integer + url: + type: string + required: + - jsonPath + - url + type: object + type: object + successCondition: + type: string + required: + - name + - provider + type: object + type: array + required: + - metrics + type: object + required: + - spec + type: object + version: v1alpha1 + versions: + - name: v1alpha1 + served: true + storage: true +{{- end }} diff --git a/charts/argo-rollouts/templates/crds/experiment-crd.yaml b/charts/argo-rollouts/templates/crds/experiment-crd.yaml new file mode 100644 index 00000000..23950def --- /dev/null +++ b/charts/argo-rollouts/templates/crds/experiment-crd.yaml @@ -0,0 +1,2599 @@ +{{- if .Values.installCRDs }} +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + name: experiments.argoproj.io +spec: + additionalPrinterColumns: + - JSONPath: .status.phase + description: Experiment status + name: Status + type: string + group: argoproj.io + names: + kind: Experiment + listKind: ExperimentList + plural: experiments + shortNames: + - exp + singular: experiment + scope: Namespaced + subresources: {} + validation: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + properties: + analyses: + items: + properties: + args: + items: + properties: + name: + type: string + value: + type: string + required: + - name + type: object + type: array + name: + type: string + requiredForCompletion: + type: boolean + templateName: + type: string + required: + - name + - templateName + type: object + type: array + duration: + type: string + progressDeadlineSeconds: + format: int32 + type: integer + templates: + items: + properties: + minReadySeconds: + format: int32 + type: integer + name: + type: string + replicas: + format: int32 + type: integer + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + template: + properties: + metadata: + type: object + spec: + properties: + activeDeadlineSeconds: + format: int64 + type: integer + affinity: + properties: + nodeAffinity: + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + properties: + preference: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchFields: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + type: object + weight: + format: int32 + type: integer + required: + - preference + - weight + type: object + type: array + requiredDuringSchedulingIgnoredDuringExecution: + properties: + nodeSelectorTerms: + items: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchFields: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + type: object + type: array + required: + - nodeSelectorTerms + type: object + type: object + podAffinity: + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + properties: + podAffinityTerm: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaces: + items: + type: string + type: array + topologyKey: + type: string + required: + - topologyKey + type: object + weight: + format: int32 + type: integer + required: + - podAffinityTerm + - weight + type: object + type: array + requiredDuringSchedulingIgnoredDuringExecution: + items: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaces: + items: + type: string + type: array + topologyKey: + type: string + required: + - topologyKey + type: object + type: array + type: object + podAntiAffinity: + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + properties: + podAffinityTerm: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaces: + items: + type: string + type: array + topologyKey: + type: string + required: + - topologyKey + type: object + weight: + format: int32 + type: integer + required: + - podAffinityTerm + - weight + type: object + type: array + requiredDuringSchedulingIgnoredDuringExecution: + items: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaces: + items: + type: string + type: array + topologyKey: + type: string + required: + - topologyKey + type: object + type: array + type: object + type: object + automountServiceAccountToken: + type: boolean + containers: + items: + properties: + args: + items: + type: string + type: array + command: + items: + type: string + type: array + env: + items: + properties: + name: + type: string + value: + type: string + valueFrom: + properties: + configMapKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + resourceFieldRef: + properties: + containerName: + type: string + divisor: + type: string + resource: + type: string + required: + - resource + type: object + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + required: + - name + type: object + type: array + envFrom: + items: + properties: + configMapRef: + properties: + name: + type: string + optional: + type: boolean + type: object + prefix: + type: string + secretRef: + properties: + name: + type: string + optional: + type: boolean + type: object + type: object + type: array + image: + type: string + imagePullPolicy: + type: string + lifecycle: + properties: + postStart: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: string + - type: integer + scheme: + type: string + required: + - port + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: string + - type: integer + required: + - port + type: object + type: object + preStop: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: string + - type: integer + scheme: + type: string + required: + - port + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: string + - type: integer + required: + - port + type: object + type: object + type: object + livenessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: string + - type: integer + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: string + - type: integer + required: + - port + type: object + timeoutSeconds: + format: int32 + type: integer + type: object + name: + type: string + ports: + items: + properties: + containerPort: + format: int32 + type: integer + hostIP: + type: string + hostPort: + format: int32 + type: integer + name: + type: string + protocol: + type: string + required: + - containerPort + type: object + type: array + readinessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: string + - type: integer + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: string + - type: integer + required: + - port + type: object + timeoutSeconds: + format: int32 + type: integer + type: object + resources: + type: object + securityContext: + properties: + allowPrivilegeEscalation: + type: boolean + capabilities: + properties: + add: + items: + type: string + type: array + drop: + items: + type: string + type: array + type: object + privileged: + type: boolean + procMount: + type: string + readOnlyRootFilesystem: + type: boolean + runAsGroup: + format: int64 + type: integer + runAsNonRoot: + type: boolean + runAsUser: + format: int64 + type: integer + seLinuxOptions: + properties: + level: + type: string + role: + type: string + type: + type: string + user: + type: string + type: object + windowsOptions: + properties: + gmsaCredentialSpec: + type: string + gmsaCredentialSpecName: + type: string + runAsUserName: + type: string + type: object + type: object + startupProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: string + - type: integer + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: string + - type: integer + required: + - port + type: object + timeoutSeconds: + format: int32 + type: integer + type: object + stdin: + type: boolean + stdinOnce: + type: boolean + terminationMessagePath: + type: string + terminationMessagePolicy: + type: string + tty: + type: boolean + volumeDevices: + items: + properties: + devicePath: + type: string + name: + type: string + required: + - devicePath + - name + type: object + type: array + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + workingDir: + type: string + required: + - name + type: object + type: array + dnsConfig: + properties: + nameservers: + items: + type: string + type: array + options: + items: + properties: + name: + type: string + value: + type: string + type: object + type: array + searches: + items: + type: string + type: array + type: object + dnsPolicy: + type: string + enableServiceLinks: + type: boolean + ephemeralContainers: + items: + properties: + args: + items: + type: string + type: array + command: + items: + type: string + type: array + env: + items: + properties: + name: + type: string + value: + type: string + valueFrom: + properties: + configMapKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + resourceFieldRef: + properties: + containerName: + type: string + divisor: + type: string + resource: + type: string + required: + - resource + type: object + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + required: + - name + type: object + type: array + envFrom: + items: + properties: + configMapRef: + properties: + name: + type: string + optional: + type: boolean + type: object + prefix: + type: string + secretRef: + properties: + name: + type: string + optional: + type: boolean + type: object + type: object + type: array + image: + type: string + imagePullPolicy: + type: string + lifecycle: + properties: + postStart: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: string + - type: integer + scheme: + type: string + required: + - port + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: string + - type: integer + required: + - port + type: object + type: object + preStop: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: string + - type: integer + scheme: + type: string + required: + - port + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: string + - type: integer + required: + - port + type: object + type: object + type: object + livenessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: string + - type: integer + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: string + - type: integer + required: + - port + type: object + timeoutSeconds: + format: int32 + type: integer + type: object + name: + type: string + ports: + items: + properties: + containerPort: + format: int32 + type: integer + hostIP: + type: string + hostPort: + format: int32 + type: integer + name: + type: string + protocol: + type: string + required: + - containerPort + type: object + type: array + readinessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: string + - type: integer + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: string + - type: integer + required: + - port + type: object + timeoutSeconds: + format: int32 + type: integer + type: object + resources: + type: object + securityContext: + properties: + allowPrivilegeEscalation: + type: boolean + capabilities: + properties: + add: + items: + type: string + type: array + drop: + items: + type: string + type: array + type: object + privileged: + type: boolean + procMount: + type: string + readOnlyRootFilesystem: + type: boolean + runAsGroup: + format: int64 + type: integer + runAsNonRoot: + type: boolean + runAsUser: + format: int64 + type: integer + seLinuxOptions: + properties: + level: + type: string + role: + type: string + type: + type: string + user: + type: string + type: object + windowsOptions: + properties: + gmsaCredentialSpec: + type: string + gmsaCredentialSpecName: + type: string + runAsUserName: + type: string + type: object + type: object + startupProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: string + - type: integer + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: string + - type: integer + required: + - port + type: object + timeoutSeconds: + format: int32 + type: integer + type: object + stdin: + type: boolean + stdinOnce: + type: boolean + targetContainerName: + type: string + terminationMessagePath: + type: string + terminationMessagePolicy: + type: string + tty: + type: boolean + volumeDevices: + items: + properties: + devicePath: + type: string + name: + type: string + required: + - devicePath + - name + type: object + type: array + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + workingDir: + type: string + required: + - name + type: object + type: array + hostAliases: + items: + properties: + hostnames: + items: + type: string + type: array + ip: + type: string + type: object + type: array + hostIPC: + type: boolean + hostNetwork: + type: boolean + hostPID: + type: boolean + hostname: + type: string + imagePullSecrets: + items: + properties: + name: + type: string + type: object + type: array + initContainers: + items: + properties: + args: + items: + type: string + type: array + command: + items: + type: string + type: array + env: + items: + properties: + name: + type: string + value: + type: string + valueFrom: + properties: + configMapKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + resourceFieldRef: + properties: + containerName: + type: string + divisor: + type: string + resource: + type: string + required: + - resource + type: object + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + required: + - name + type: object + type: array + envFrom: + items: + properties: + configMapRef: + properties: + name: + type: string + optional: + type: boolean + type: object + prefix: + type: string + secretRef: + properties: + name: + type: string + optional: + type: boolean + type: object + type: object + type: array + image: + type: string + imagePullPolicy: + type: string + lifecycle: + properties: + postStart: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: string + - type: integer + scheme: + type: string + required: + - port + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: string + - type: integer + required: + - port + type: object + type: object + preStop: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: string + - type: integer + scheme: + type: string + required: + - port + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: string + - type: integer + required: + - port + type: object + type: object + type: object + livenessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: string + - type: integer + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: string + - type: integer + required: + - port + type: object + timeoutSeconds: + format: int32 + type: integer + type: object + name: + type: string + ports: + items: + properties: + containerPort: + format: int32 + type: integer + hostIP: + type: string + hostPort: + format: int32 + type: integer + name: + type: string + protocol: + type: string + required: + - containerPort + type: object + type: array + readinessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: string + - type: integer + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: string + - type: integer + required: + - port + type: object + timeoutSeconds: + format: int32 + type: integer + type: object + resources: + type: object + securityContext: + properties: + allowPrivilegeEscalation: + type: boolean + capabilities: + properties: + add: + items: + type: string + type: array + drop: + items: + type: string + type: array + type: object + privileged: + type: boolean + procMount: + type: string + readOnlyRootFilesystem: + type: boolean + runAsGroup: + format: int64 + type: integer + runAsNonRoot: + type: boolean + runAsUser: + format: int64 + type: integer + seLinuxOptions: + properties: + level: + type: string + role: + type: string + type: + type: string + user: + type: string + type: object + windowsOptions: + properties: + gmsaCredentialSpec: + type: string + gmsaCredentialSpecName: + type: string + runAsUserName: + type: string + type: object + type: object + startupProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: string + - type: integer + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: string + - type: integer + required: + - port + type: object + timeoutSeconds: + format: int32 + type: integer + type: object + stdin: + type: boolean + stdinOnce: + type: boolean + terminationMessagePath: + type: string + terminationMessagePolicy: + type: string + tty: + type: boolean + volumeDevices: + items: + properties: + devicePath: + type: string + name: + type: string + required: + - devicePath + - name + type: object + type: array + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + workingDir: + type: string + required: + - name + type: object + type: array + nodeName: + type: string + nodeSelector: + additionalProperties: + type: string + type: object + overhead: + additionalProperties: + type: string + type: object + preemptionPolicy: + type: string + priority: + format: int32 + type: integer + priorityClassName: + type: string + readinessGates: + items: + properties: + conditionType: + type: string + required: + - conditionType + type: object + type: array + restartPolicy: + type: string + runtimeClassName: + type: string + schedulerName: + type: string + securityContext: + properties: + fsGroup: + format: int64 + type: integer + runAsGroup: + format: int64 + type: integer + runAsNonRoot: + type: boolean + runAsUser: + format: int64 + type: integer + seLinuxOptions: + properties: + level: + type: string + role: + type: string + type: + type: string + user: + type: string + type: object + supplementalGroups: + items: + format: int64 + type: integer + type: array + sysctls: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + windowsOptions: + properties: + gmsaCredentialSpec: + type: string + gmsaCredentialSpecName: + type: string + runAsUserName: + type: string + type: object + type: object + serviceAccount: + type: string + serviceAccountName: + type: string + shareProcessNamespace: + type: boolean + subdomain: + type: string + terminationGracePeriodSeconds: + format: int64 + type: integer + tolerations: + items: + properties: + effect: + type: string + key: + type: string + operator: + type: string + tolerationSeconds: + format: int64 + type: integer + value: + type: string + type: object + type: array + topologySpreadConstraints: + items: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + maxSkew: + format: int32 + type: integer + topologyKey: + type: string + whenUnsatisfiable: + type: string + required: + - maxSkew + - topologyKey + - whenUnsatisfiable + type: object + type: array + volumes: + items: + properties: + awsElasticBlockStore: + properties: + fsType: + type: string + partition: + format: int32 + type: integer + readOnly: + type: boolean + volumeID: + type: string + required: + - volumeID + type: object + azureDisk: + properties: + cachingMode: + type: string + diskName: + type: string + diskURI: + type: string + fsType: + type: string + kind: + type: string + readOnly: + type: boolean + required: + - diskName + - diskURI + type: object + azureFile: + properties: + readOnly: + type: boolean + secretName: + type: string + shareName: + type: string + required: + - secretName + - shareName + type: object + cephfs: + properties: + monitors: + items: + type: string + type: array + path: + type: string + readOnly: + type: boolean + secretFile: + type: string + secretRef: + properties: + name: + type: string + type: object + user: + type: string + required: + - monitors + type: object + cinder: + properties: + fsType: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + volumeID: + type: string + required: + - volumeID + type: object + csi: + properties: + driver: + type: string + fsType: + type: string + nodePublishSecretRef: + properties: + name: + type: string + type: object + readOnly: + type: boolean + volumeAttributes: + additionalProperties: + type: string + type: object + required: + - driver + type: object + emptyDir: + properties: + medium: + type: string + sizeLimit: + type: string + type: object + fc: + properties: + fsType: + type: string + lun: + format: int32 + type: integer + readOnly: + type: boolean + targetWWNs: + items: + type: string + type: array + wwids: + items: + type: string + type: array + type: object + flexVolume: + properties: + driver: + type: string + fsType: + type: string + options: + additionalProperties: + type: string + type: object + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + required: + - driver + type: object + flocker: + properties: + datasetName: + type: string + datasetUUID: + type: string + type: object + gcePersistentDisk: + properties: + fsType: + type: string + partition: + format: int32 + type: integer + pdName: + type: string + readOnly: + type: boolean + required: + - pdName + type: object + gitRepo: + properties: + directory: + type: string + repository: + type: string + revision: + type: string + required: + - repository + type: object + glusterfs: + properties: + endpoints: + type: string + path: + type: string + readOnly: + type: boolean + required: + - endpoints + - path + type: object + hostPath: + properties: + path: + type: string + type: + type: string + required: + - path + type: object + iscsi: + properties: + chapAuthDiscovery: + type: boolean + chapAuthSession: + type: boolean + fsType: + type: string + initiatorName: + type: string + iqn: + type: string + iscsiInterface: + type: string + lun: + format: int32 + type: integer + portals: + items: + type: string + type: array + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + targetPortal: + type: string + required: + - iqn + - lun + - targetPortal + type: object + name: + type: string + nfs: + properties: + path: + type: string + readOnly: + type: boolean + server: + type: string + required: + - path + - server + type: object + persistentVolumeClaim: + properties: + claimName: + type: string + readOnly: + type: boolean + required: + - claimName + type: object + photonPersistentDisk: + properties: + fsType: + type: string + pdID: + type: string + required: + - pdID + type: object + portworxVolume: + properties: + fsType: + type: string + readOnly: + type: boolean + volumeID: + type: string + required: + - volumeID + type: object + projected: + properties: + defaultMode: + format: int32 + type: integer + sources: + items: + properties: + serviceAccountToken: + properties: + audience: + type: string + expirationSeconds: + format: int64 + type: integer + path: + type: string + required: + - path + type: object + type: object + type: array + required: + - sources + type: object + quobyte: + properties: + group: + type: string + readOnly: + type: boolean + registry: + type: string + tenant: + type: string + user: + type: string + volume: + type: string + required: + - registry + - volume + type: object + rbd: + properties: + fsType: + type: string + image: + type: string + keyring: + type: string + monitors: + items: + type: string + type: array + pool: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + user: + type: string + required: + - image + - monitors + type: object + scaleIO: + properties: + fsType: + type: string + gateway: + type: string + protectionDomain: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + sslEnabled: + type: boolean + storageMode: + type: string + storagePool: + type: string + system: + type: string + volumeName: + type: string + required: + - gateway + - secretRef + - system + type: object + storageos: + properties: + fsType: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + volumeName: + type: string + volumeNamespace: + type: string + type: object + vsphereVolume: + properties: + fsType: + type: string + storagePolicyID: + type: string + storagePolicyName: + type: string + volumePath: + type: string + required: + - volumePath + type: object + required: + - name + type: object + type: array + required: + - containers + type: object + type: object + required: + - name + - selector + - template + type: object + type: array + terminate: + type: boolean + required: + - templates + type: object + status: + properties: + analysisRuns: + items: + properties: + analysisRun: + type: string + message: + type: string + name: + type: string + phase: + type: string + required: + - analysisRun + - name + - phase + type: object + type: array + availableAt: + format: date-time + type: string + conditions: + items: + properties: + lastTransitionTime: + format: date-time + type: string + lastUpdateTime: + format: date-time + type: string + message: + type: string + reason: + type: string + status: + type: string + type: + type: string + required: + - lastTransitionTime + - lastUpdateTime + - message + - reason + - status + - type + type: object + type: array + message: + type: string + phase: + type: string + templateStatuses: + items: + properties: + availableReplicas: + format: int32 + type: integer + collisionCount: + format: int32 + type: integer + lastTransitionTime: + format: date-time + type: string + message: + type: string + name: + type: string + readyReplicas: + format: int32 + type: integer + replicas: + format: int32 + type: integer + status: + type: string + updatedReplicas: + format: int32 + type: integer + required: + - availableReplicas + - name + - readyReplicas + - replicas + - updatedReplicas + type: object + type: array + type: object + required: + - spec + type: object + version: v1alpha1 + versions: + - name: v1alpha1 + served: true + storage: true +{{- end }} diff --git a/charts/argo-rollouts/templates/crds/rollout-crd.yaml b/charts/argo-rollouts/templates/crds/rollout-crd.yaml new file mode 100644 index 00000000..93d06bda --- /dev/null +++ b/charts/argo-rollouts/templates/crds/rollout-crd.yaml @@ -0,0 +1,2803 @@ +{{- if .Values.installCRDs }} +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + name: rollouts.argoproj.io +spec: + additionalPrinterColumns: + - JSONPath: .spec.replicas + description: Number of desired pods + name: Desired + type: integer + - JSONPath: .status.replicas + description: Total number of non-terminated pods targeted by this rollout + name: Current + type: integer + - JSONPath: .status.updatedReplicas + 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 + name: Available + type: integer + group: argoproj.io + names: + kind: Rollout + listKind: RolloutList + plural: rollouts + shortNames: + - ro + singular: rollout + scope: Namespaced + subresources: + scale: + labelSelectorPath: .status.selector + specReplicasPath: .spec.replicas + statusReplicasPath: .status.HPAReplicas + validation: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + properties: + minReadySeconds: + format: int32 + type: integer + paused: + type: boolean + progressDeadlineSeconds: + format: int32 + type: integer + replicas: + format: int32 + type: integer + revisionHistoryLimit: + format: int32 + type: integer + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + strategy: + properties: + blueGreen: + properties: + activeService: + type: string + autoPromotionEnabled: + type: boolean + autoPromotionSeconds: + format: int32 + type: integer + previewReplicaCount: + format: int32 + type: integer + previewService: + type: string + scaleDownDelayRevisionLimit: + format: int32 + type: integer + scaleDownDelaySeconds: + format: int32 + type: integer + required: + - activeService + type: object + canary: + properties: + analysis: + properties: + args: + items: + properties: + name: + type: string + value: + type: string + valueFrom: + properties: + podTemplateHashValue: + type: string + type: object + required: + - name + type: object + type: array + startingStep: + format: int32 + type: integer + templateName: + type: string + required: + - templateName + type: object + canaryService: + type: string + maxSurge: + anyOf: + - type: string + - type: integer + maxUnavailable: + anyOf: + - type: string + - type: integer + stableService: + type: string + steps: + items: + properties: + analysis: + properties: + args: + items: + properties: + name: + type: string + value: + type: string + valueFrom: + properties: + podTemplateHashValue: + type: string + type: object + required: + - name + type: object + type: array + templateName: + type: string + required: + - templateName + type: object + experiment: + properties: + analyses: + items: + properties: + args: + items: + properties: + name: + type: string + value: + type: string + valueFrom: + properties: + podTemplateHashValue: + type: string + type: object + required: + - name + type: object + type: array + name: + type: string + templateName: + type: string + required: + - name + - templateName + type: object + type: array + duration: + type: string + templates: + items: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + name: + type: string + replicas: + format: int32 + type: integer + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + specRef: + type: string + required: + - name + - specRef + type: object + type: array + required: + - templates + type: object + pause: + properties: + duration: + format: int32 + type: integer + type: object + setWeight: + format: int32 + type: integer + type: object + type: array + trafficRouting: + properties: + istio: + properties: + virtualService: + properties: + name: + type: string + routes: + items: + type: string + type: array + required: + - name + - routes + type: object + required: + - virtualService + type: object + type: object + type: object + type: object + template: + properties: + metadata: + type: object + spec: + properties: + activeDeadlineSeconds: + format: int64 + type: integer + affinity: + properties: + nodeAffinity: + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + properties: + preference: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchFields: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + type: object + weight: + format: int32 + type: integer + required: + - preference + - weight + type: object + type: array + requiredDuringSchedulingIgnoredDuringExecution: + properties: + nodeSelectorTerms: + items: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchFields: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + type: object + type: array + required: + - nodeSelectorTerms + type: object + type: object + podAffinity: + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + properties: + podAffinityTerm: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaces: + items: + type: string + type: array + topologyKey: + type: string + required: + - topologyKey + type: object + weight: + format: int32 + type: integer + required: + - podAffinityTerm + - weight + type: object + type: array + requiredDuringSchedulingIgnoredDuringExecution: + items: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaces: + items: + type: string + type: array + topologyKey: + type: string + required: + - topologyKey + type: object + type: array + type: object + podAntiAffinity: + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + properties: + podAffinityTerm: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaces: + items: + type: string + type: array + topologyKey: + type: string + required: + - topologyKey + type: object + weight: + format: int32 + type: integer + required: + - podAffinityTerm + - weight + type: object + type: array + requiredDuringSchedulingIgnoredDuringExecution: + items: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaces: + items: + type: string + type: array + topologyKey: + type: string + required: + - topologyKey + type: object + type: array + type: object + type: object + automountServiceAccountToken: + type: boolean + containers: + items: + properties: + args: + items: + type: string + type: array + command: + items: + type: string + type: array + env: + items: + properties: + name: + type: string + value: + type: string + valueFrom: + properties: + configMapKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + resourceFieldRef: + properties: + containerName: + type: string + divisor: + type: string + resource: + type: string + required: + - resource + type: object + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + required: + - name + type: object + type: array + envFrom: + items: + properties: + configMapRef: + properties: + name: + type: string + optional: + type: boolean + type: object + prefix: + type: string + secretRef: + properties: + name: + type: string + optional: + type: boolean + type: object + type: object + type: array + image: + type: string + imagePullPolicy: + type: string + lifecycle: + properties: + postStart: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: string + - type: integer + scheme: + type: string + required: + - port + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: string + - type: integer + required: + - port + type: object + type: object + preStop: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: string + - type: integer + scheme: + type: string + required: + - port + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: string + - type: integer + required: + - port + type: object + type: object + type: object + livenessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: string + - type: integer + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: string + - type: integer + required: + - port + type: object + timeoutSeconds: + format: int32 + type: integer + type: object + name: + type: string + ports: + items: + properties: + containerPort: + format: int32 + type: integer + hostIP: + type: string + hostPort: + format: int32 + type: integer + name: + type: string + protocol: + type: string + required: + - containerPort + type: object + type: array + readinessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: string + - type: integer + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: string + - type: integer + required: + - port + type: object + timeoutSeconds: + format: int32 + type: integer + type: object + resources: + type: object + securityContext: + properties: + allowPrivilegeEscalation: + type: boolean + capabilities: + properties: + add: + items: + type: string + type: array + drop: + items: + type: string + type: array + type: object + privileged: + type: boolean + procMount: + type: string + readOnlyRootFilesystem: + type: boolean + runAsGroup: + format: int64 + type: integer + runAsNonRoot: + type: boolean + runAsUser: + format: int64 + type: integer + seLinuxOptions: + properties: + level: + type: string + role: + type: string + type: + type: string + user: + type: string + type: object + windowsOptions: + properties: + gmsaCredentialSpec: + type: string + gmsaCredentialSpecName: + type: string + runAsUserName: + type: string + type: object + type: object + startupProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: string + - type: integer + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: string + - type: integer + required: + - port + type: object + timeoutSeconds: + format: int32 + type: integer + type: object + stdin: + type: boolean + stdinOnce: + type: boolean + terminationMessagePath: + type: string + terminationMessagePolicy: + type: string + tty: + type: boolean + volumeDevices: + items: + properties: + devicePath: + type: string + name: + type: string + required: + - devicePath + - name + type: object + type: array + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + workingDir: + type: string + required: + - name + type: object + type: array + dnsConfig: + properties: + nameservers: + items: + type: string + type: array + options: + items: + properties: + name: + type: string + value: + type: string + type: object + type: array + searches: + items: + type: string + type: array + type: object + dnsPolicy: + type: string + enableServiceLinks: + type: boolean + ephemeralContainers: + items: + properties: + args: + items: + type: string + type: array + command: + items: + type: string + type: array + env: + items: + properties: + name: + type: string + value: + type: string + valueFrom: + properties: + configMapKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + resourceFieldRef: + properties: + containerName: + type: string + divisor: + type: string + resource: + type: string + required: + - resource + type: object + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + required: + - name + type: object + type: array + envFrom: + items: + properties: + configMapRef: + properties: + name: + type: string + optional: + type: boolean + type: object + prefix: + type: string + secretRef: + properties: + name: + type: string + optional: + type: boolean + type: object + type: object + type: array + image: + type: string + imagePullPolicy: + type: string + lifecycle: + properties: + postStart: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: string + - type: integer + scheme: + type: string + required: + - port + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: string + - type: integer + required: + - port + type: object + type: object + preStop: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: string + - type: integer + scheme: + type: string + required: + - port + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: string + - type: integer + required: + - port + type: object + type: object + type: object + livenessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: string + - type: integer + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: string + - type: integer + required: + - port + type: object + timeoutSeconds: + format: int32 + type: integer + type: object + name: + type: string + ports: + items: + properties: + containerPort: + format: int32 + type: integer + hostIP: + type: string + hostPort: + format: int32 + type: integer + name: + type: string + protocol: + type: string + required: + - containerPort + type: object + type: array + readinessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: string + - type: integer + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: string + - type: integer + required: + - port + type: object + timeoutSeconds: + format: int32 + type: integer + type: object + resources: + type: object + securityContext: + properties: + allowPrivilegeEscalation: + type: boolean + capabilities: + properties: + add: + items: + type: string + type: array + drop: + items: + type: string + type: array + type: object + privileged: + type: boolean + procMount: + type: string + readOnlyRootFilesystem: + type: boolean + runAsGroup: + format: int64 + type: integer + runAsNonRoot: + type: boolean + runAsUser: + format: int64 + type: integer + seLinuxOptions: + properties: + level: + type: string + role: + type: string + type: + type: string + user: + type: string + type: object + windowsOptions: + properties: + gmsaCredentialSpec: + type: string + gmsaCredentialSpecName: + type: string + runAsUserName: + type: string + type: object + type: object + startupProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: string + - type: integer + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: string + - type: integer + required: + - port + type: object + timeoutSeconds: + format: int32 + type: integer + type: object + stdin: + type: boolean + stdinOnce: + type: boolean + targetContainerName: + type: string + terminationMessagePath: + type: string + terminationMessagePolicy: + type: string + tty: + type: boolean + volumeDevices: + items: + properties: + devicePath: + type: string + name: + type: string + required: + - devicePath + - name + type: object + type: array + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + workingDir: + type: string + required: + - name + type: object + type: array + hostAliases: + items: + properties: + hostnames: + items: + type: string + type: array + ip: + type: string + type: object + type: array + hostIPC: + type: boolean + hostNetwork: + type: boolean + hostPID: + type: boolean + hostname: + type: string + imagePullSecrets: + items: + properties: + name: + type: string + type: object + type: array + initContainers: + items: + properties: + args: + items: + type: string + type: array + command: + items: + type: string + type: array + env: + items: + properties: + name: + type: string + value: + type: string + valueFrom: + properties: + configMapKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + resourceFieldRef: + properties: + containerName: + type: string + divisor: + type: string + resource: + type: string + required: + - resource + type: object + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + required: + - name + type: object + type: array + envFrom: + items: + properties: + configMapRef: + properties: + name: + type: string + optional: + type: boolean + type: object + prefix: + type: string + secretRef: + properties: + name: + type: string + optional: + type: boolean + type: object + type: object + type: array + image: + type: string + imagePullPolicy: + type: string + lifecycle: + properties: + postStart: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: string + - type: integer + scheme: + type: string + required: + - port + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: string + - type: integer + required: + - port + type: object + type: object + preStop: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: string + - type: integer + scheme: + type: string + required: + - port + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: string + - type: integer + required: + - port + type: object + type: object + type: object + livenessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: string + - type: integer + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: string + - type: integer + required: + - port + type: object + timeoutSeconds: + format: int32 + type: integer + type: object + name: + type: string + ports: + items: + properties: + containerPort: + format: int32 + type: integer + hostIP: + type: string + hostPort: + format: int32 + type: integer + name: + type: string + protocol: + type: string + required: + - containerPort + type: object + type: array + readinessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: string + - type: integer + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: string + - type: integer + required: + - port + type: object + timeoutSeconds: + format: int32 + type: integer + type: object + resources: + type: object + securityContext: + properties: + allowPrivilegeEscalation: + type: boolean + capabilities: + properties: + add: + items: + type: string + type: array + drop: + items: + type: string + type: array + type: object + privileged: + type: boolean + procMount: + type: string + readOnlyRootFilesystem: + type: boolean + runAsGroup: + format: int64 + type: integer + runAsNonRoot: + type: boolean + runAsUser: + format: int64 + type: integer + seLinuxOptions: + properties: + level: + type: string + role: + type: string + type: + type: string + user: + type: string + type: object + windowsOptions: + properties: + gmsaCredentialSpec: + type: string + gmsaCredentialSpecName: + type: string + runAsUserName: + type: string + type: object + type: object + startupProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: string + - type: integer + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: string + - type: integer + required: + - port + type: object + timeoutSeconds: + format: int32 + type: integer + type: object + stdin: + type: boolean + stdinOnce: + type: boolean + terminationMessagePath: + type: string + terminationMessagePolicy: + type: string + tty: + type: boolean + volumeDevices: + items: + properties: + devicePath: + type: string + name: + type: string + required: + - devicePath + - name + type: object + type: array + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + workingDir: + type: string + required: + - name + type: object + type: array + nodeName: + type: string + nodeSelector: + additionalProperties: + type: string + type: object + overhead: + additionalProperties: + type: string + type: object + preemptionPolicy: + type: string + priority: + format: int32 + type: integer + priorityClassName: + type: string + readinessGates: + items: + properties: + conditionType: + type: string + required: + - conditionType + type: object + type: array + restartPolicy: + type: string + runtimeClassName: + type: string + schedulerName: + type: string + securityContext: + properties: + fsGroup: + format: int64 + type: integer + runAsGroup: + format: int64 + type: integer + runAsNonRoot: + type: boolean + runAsUser: + format: int64 + type: integer + seLinuxOptions: + properties: + level: + type: string + role: + type: string + type: + type: string + user: + type: string + type: object + supplementalGroups: + items: + format: int64 + type: integer + type: array + sysctls: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + windowsOptions: + properties: + gmsaCredentialSpec: + type: string + gmsaCredentialSpecName: + type: string + runAsUserName: + type: string + type: object + type: object + serviceAccount: + type: string + serviceAccountName: + type: string + shareProcessNamespace: + type: boolean + subdomain: + type: string + terminationGracePeriodSeconds: + format: int64 + type: integer + tolerations: + items: + properties: + effect: + type: string + key: + type: string + operator: + type: string + tolerationSeconds: + format: int64 + type: integer + value: + type: string + type: object + type: array + topologySpreadConstraints: + items: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + maxSkew: + format: int32 + type: integer + topologyKey: + type: string + whenUnsatisfiable: + type: string + required: + - maxSkew + - topologyKey + - whenUnsatisfiable + type: object + type: array + volumes: + items: + properties: + awsElasticBlockStore: + properties: + fsType: + type: string + partition: + format: int32 + type: integer + readOnly: + type: boolean + volumeID: + type: string + required: + - volumeID + type: object + azureDisk: + properties: + cachingMode: + type: string + diskName: + type: string + diskURI: + type: string + fsType: + type: string + kind: + type: string + readOnly: + type: boolean + required: + - diskName + - diskURI + type: object + azureFile: + properties: + readOnly: + type: boolean + secretName: + type: string + shareName: + type: string + required: + - secretName + - shareName + type: object + cephfs: + properties: + monitors: + items: + type: string + type: array + path: + type: string + readOnly: + type: boolean + secretFile: + type: string + secretRef: + properties: + name: + type: string + type: object + user: + type: string + required: + - monitors + type: object + cinder: + properties: + fsType: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + volumeID: + type: string + required: + - volumeID + type: object + csi: + properties: + driver: + type: string + fsType: + type: string + nodePublishSecretRef: + properties: + name: + type: string + type: object + readOnly: + type: boolean + volumeAttributes: + additionalProperties: + type: string + type: object + required: + - driver + type: object + emptyDir: + properties: + medium: + type: string + sizeLimit: + type: string + type: object + fc: + properties: + fsType: + type: string + lun: + format: int32 + type: integer + readOnly: + type: boolean + targetWWNs: + items: + type: string + type: array + wwids: + items: + type: string + type: array + type: object + flexVolume: + properties: + driver: + type: string + fsType: + type: string + options: + additionalProperties: + type: string + type: object + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + required: + - driver + type: object + flocker: + properties: + datasetName: + type: string + datasetUUID: + type: string + type: object + gcePersistentDisk: + properties: + fsType: + type: string + partition: + format: int32 + type: integer + pdName: + type: string + readOnly: + type: boolean + required: + - pdName + type: object + gitRepo: + properties: + directory: + type: string + repository: + type: string + revision: + type: string + required: + - repository + type: object + glusterfs: + properties: + endpoints: + type: string + path: + type: string + readOnly: + type: boolean + required: + - endpoints + - path + type: object + hostPath: + properties: + path: + type: string + type: + type: string + required: + - path + type: object + iscsi: + properties: + chapAuthDiscovery: + type: boolean + chapAuthSession: + type: boolean + fsType: + type: string + initiatorName: + type: string + iqn: + type: string + iscsiInterface: + type: string + lun: + format: int32 + type: integer + portals: + items: + type: string + type: array + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + targetPortal: + type: string + required: + - iqn + - lun + - targetPortal + type: object + name: + type: string + nfs: + properties: + path: + type: string + readOnly: + type: boolean + server: + type: string + required: + - path + - server + type: object + persistentVolumeClaim: + properties: + claimName: + type: string + readOnly: + type: boolean + required: + - claimName + type: object + photonPersistentDisk: + properties: + fsType: + type: string + pdID: + type: string + required: + - pdID + type: object + portworxVolume: + properties: + fsType: + type: string + readOnly: + type: boolean + volumeID: + type: string + required: + - volumeID + type: object + projected: + properties: + defaultMode: + format: int32 + type: integer + sources: + items: + properties: + serviceAccountToken: + properties: + audience: + type: string + expirationSeconds: + format: int64 + type: integer + path: + type: string + required: + - path + type: object + type: object + type: array + required: + - sources + type: object + quobyte: + properties: + group: + type: string + readOnly: + type: boolean + registry: + type: string + tenant: + type: string + user: + type: string + volume: + type: string + required: + - registry + - volume + type: object + rbd: + properties: + fsType: + type: string + image: + type: string + keyring: + type: string + monitors: + items: + type: string + type: array + pool: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + user: + type: string + required: + - image + - monitors + type: object + scaleIO: + properties: + fsType: + type: string + gateway: + type: string + protectionDomain: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + sslEnabled: + type: boolean + storageMode: + type: string + storagePool: + type: string + system: + type: string + volumeName: + type: string + required: + - gateway + - secretRef + - system + type: object + storageos: + properties: + fsType: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + volumeName: + type: string + volumeNamespace: + type: string + type: object + vsphereVolume: + properties: + fsType: + type: string + storagePolicyID: + type: string + storagePolicyName: + type: string + volumePath: + type: string + required: + - volumePath + type: object + required: + - name + type: object + type: array + required: + - containers + type: object + type: object + required: + - selector + - template + type: object + status: + properties: + HPAReplicas: + format: int32 + type: integer + abort: + type: boolean + availableReplicas: + format: int32 + type: integer + blueGreen: + properties: + activeSelector: + type: string + previewSelector: + type: string + previousActiveSelector: + type: string + scaleDownDelayStartTime: + format: date-time + type: string + scaleUpPreviewCheckPoint: + type: boolean + type: object + canary: + properties: + currentBackgroundAnalysisRun: + type: string + currentExperiment: + type: string + currentStepAnalysisRun: + type: string + stableRS: + type: string + type: object + collisionCount: + format: int32 + type: integer + conditions: + items: + properties: + lastTransitionTime: + format: date-time + type: string + lastUpdateTime: + format: date-time + type: string + message: + type: string + reason: + type: string + status: + type: string + type: + type: string + required: + - lastTransitionTime + - lastUpdateTime + - message + - reason + - status + - type + type: object + type: array + controllerPause: + type: boolean + currentPodHash: + type: string + currentStepHash: + type: string + currentStepIndex: + format: int32 + type: integer + observedGeneration: + type: string + pauseConditions: + items: + properties: + reason: + type: string + startTime: + format: date-time + type: string + required: + - reason + - startTime + type: object + type: array + readyReplicas: + format: int32 + type: integer + replicas: + format: int32 + type: integer + selector: + type: string + updatedReplicas: + format: int32 + type: integer + type: object + required: + - spec + type: object + version: v1alpha1 + versions: + - name: v1alpha1 + served: true + storage: true +{{- end }} diff --git a/charts/argo-rollouts/values.yaml b/charts/argo-rollouts/values.yaml new file mode 100644 index 00000000..1cb707b4 --- /dev/null +++ b/charts/argo-rollouts/values.yaml @@ -0,0 +1,14 @@ +installCRDs: true + +clusterInstall: true + +controller: + name: argo-rollouts + component: rollouts-controller + image: + repository: argoproj/argo-rollouts + tag: v0.7.0 + pullPolicy: IfNotPresent + +serviceAccount: + name: argo-rollouts From 132f1d522b81751715f89fdd2af8b1ecf72bbd18 Mon Sep 17 00:00:00 2001 From: dthomson25 Date: Wed, 12 Feb 2020 13:20:44 -0800 Subject: [PATCH 06/16] Make Cabrinha an argo rollouts CODEOWNERS (#237) --- CODEOWNERS | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CODEOWNERS b/CODEOWNERS index a4ca6084..50d3195b 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -8,3 +8,6 @@ # Argo Workflows /charts/argo @benjaminws + +# Argo Rollouts +/charts/argo-rollouts @cabrinha From 62f920f6c03b7060be568654d210ecd63d0c5e20 Mon Sep 17 00:00:00 2001 From: Michael Simpson Date: Wed, 12 Feb 2020 19:54:27 -0500 Subject: [PATCH 07/16] fix: Add missing CRD to the `crds` directory (#235) Why --- The Helm chart wasn't installing the `workflow-template` CRD. --- charts/argo/Chart.yaml | 2 +- charts/argo/crds/workflow-template-crd.yaml | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 charts/argo/crds/workflow-template-crd.yaml diff --git a/charts/argo/Chart.yaml b/charts/argo/Chart.yaml index 6d985fbf..c3fda72b 100644 --- a/charts/argo/Chart.yaml +++ b/charts/argo/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v1 appVersion: "v2.4.3" description: A Helm chart for Argo Workflows name: argo -version: 0.6.6 +version: 0.6.7 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/crds/workflow-template-crd.yaml b/charts/argo/crds/workflow-template-crd.yaml new file mode 100644 index 00000000..11d008db --- /dev/null +++ b/charts/argo/crds/workflow-template-crd.yaml @@ -0,0 +1,16 @@ +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + name: workflowtemplates.argoproj.io + annotations: + helm.sh/hook: crd-install + helm.sh/hook-delete-policy: before-hook-creation +spec: + group: argoproj.io + version: v1alpha1 + scope: Namespaced + names: + kind: WorkflowTemplate + plural: workflowtemplates + shortNames: + - wftmpl From d43891fc3886e96407942a88669b75a33b1d2a37 Mon Sep 17 00:00:00 2001 From: Yong Wen Chua Date: Thu, 13 Feb 2020 12:12:30 +0800 Subject: [PATCH 08/16] feat: Support Affinity and Tolerations for Argo Chart (#206) --- charts/argo/Chart.yaml | 2 +- charts/argo/templates/ui-deployment.yaml | 15 ++++++++++++++- .../templates/workflow-controller-deployment.yaml | 12 ++++++++++++ charts/argo/values.yaml | 12 ++++++++++++ 4 files changed, 39 insertions(+), 2 deletions(-) diff --git a/charts/argo/Chart.yaml b/charts/argo/Chart.yaml index c3fda72b..27b2d622 100644 --- a/charts/argo/Chart.yaml +++ b/charts/argo/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v1 appVersion: "v2.4.3" description: A Helm chart for Argo Workflows name: argo -version: 0.6.7 +version: 0.6.8 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/templates/ui-deployment.yaml b/charts/argo/templates/ui-deployment.yaml index 1cd416cf..a9c2167a 100644 --- a/charts/argo/templates/ui-deployment.yaml +++ b/charts/argo/templates/ui-deployment.yaml @@ -35,7 +35,7 @@ spec: - name: {{ .Values.ui.podPortName }} containerPort: 8001 protocol: TCP - {{- end }} + {{- end }} env: {{- if .Values.ui.forceNamespaceIsolation }} - name: FORCE_NAMESPACE_ISOLATION @@ -52,4 +52,17 @@ spec: value: / resources: {{- toYaml .Values.ui.resources | nindent 12 }} + {{- with .Values.ui.nodeSelector }} + nodeSelector: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.ui.tolerations }} + tolerations: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.ui.affinity }} + affinity: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- end -}} diff --git a/charts/argo/templates/workflow-controller-deployment.yaml b/charts/argo/templates/workflow-controller-deployment.yaml index 855373d3..06b708c6 100644 --- a/charts/argo/templates/workflow-controller-deployment.yaml +++ b/charts/argo/templates/workflow-controller-deployment.yaml @@ -52,3 +52,15 @@ spec: ports: - containerPort: 8080 {{- end }} + {{- with .Values.controller.nodeSelector }} + nodeSelector: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.controller.tolerations }} + tolerations: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.controller.affinity }} + affinity: + {{- toYaml . | nindent 8 }} + {{- end }} diff --git a/charts/argo/values.yaml b/charts/argo/values.yaml index 8ef57d6f..c41025b7 100644 --- a/charts/argo/values.yaml +++ b/charts/argo/values.yaml @@ -88,6 +88,12 @@ controller: enabled: false # minAvailable: 1 # maxUnavailable: 1 + ## Node selectors and tolerations for server scheduling to nodes with taints + ## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ + ## + nodeSelector: {} + tolerations: [] + affinity: {} executor: image: @@ -126,6 +132,12 @@ ui: enabled: false # minAvailable: 1 # maxUnavailable: 1 + ## Node selectors and tolerations for server scheduling to nodes with taints + ## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ + ## + nodeSelector: {} + tolerations: [] + affinity: {} ## Ingress configuration. ## ref: https://kubernetes.io/docs/user-guide/ingress/ From 060fa584b4b72c2cc5cf0ca8d87ffc41aa6cd17e Mon Sep 17 00:00:00 2001 From: Scott Cabrinha Date: Fri, 14 Feb 2020 13:55:18 -0800 Subject: [PATCH 09/16] feat: adding readme (#241) --- charts/argo-rollouts/Chart.yaml | 2 +- charts/argo-rollouts/README.md | 39 +++++++++++++++++++++++++++++++++ 2 files changed, 40 insertions(+), 1 deletion(-) create mode 100644 charts/argo-rollouts/README.md diff --git a/charts/argo-rollouts/Chart.yaml b/charts/argo-rollouts/Chart.yaml index fa8038dd..175d2c86 100644 --- a/charts/argo-rollouts/Chart.yaml +++ b/charts/argo-rollouts/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v1 appVersion: "0.7" description: A Helm chart for Argo Rollouts name: argo-rollouts -version: 0.1.0 +version: 0.1.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/README.md b/charts/argo-rollouts/README.md new file mode 100644 index 00000000..f4f0f3a6 --- /dev/null +++ b/charts/argo-rollouts/README.md @@ -0,0 +1,39 @@ +Argo Rollouts Chart +============= +A Helm chart for Argo Rollouts, progressive delivery for Kubernetes. + +Current chart version is `0.1.0` + +Source code can be found [here](https://github.com/argoproj/argo-rollouts) + +## Additional Information +This is a **community maintained** chart. This chart installs [argo-rollouts](https://argoproj.github.io/argo-rollouts/), progressive delivery for Kubernetes. + +The default installation is intended to be similar to the provided Argo Rollouts [releases](https://github.com/argoproj/argo-rollouts/releases). + +## Prerequisites + +- Kubernetes 1.7+ + + +## Installing the Chart + +To install the chart with the release name `my-release`: + +```console +$ helm repo add argo https://argoproj.github.io/argo-helm +$ helm install --name my-release argo/argo-rollouts +``` + +## Chart Values + +| Key | Type | Default | Description | +|-----|------|---------|-------------| +| clusterInstall | bool | `true` | | +| controller.component | string | `"rollouts-controller"` | | +| controller.image.pullPolicy | string | `"IfNotPresent"` | | +| controller.image.repository | string | `"argoproj/argo-rollouts"` | | +| controller.image.tag | string | `"v0.7.0"` | | +| controller.name | string | `"argo-rollouts"` | | +| installCRDs | bool | `true` | | +| serviceAccount.name | string | `"argo-rollouts"` | | From 3fd67d8cbb51857acfadc53fff575cfed6bb07b6 Mon Sep 17 00:00:00 2001 From: Tuan Date: Mon, 17 Feb 2020 06:49:52 +0800 Subject: [PATCH 10/16] fix: Make clusterrole & clusterrolebinding optional for argocd-server again (#233) * Make clusterrole & clusterrolebinding optional for argocd-server * Bump Chart version * Update README.md --- charts/argo-cd/Chart.yaml | 2 +- charts/argo-cd/README.md | 1 + charts/argo-cd/templates/argocd-server/clusterrole.yaml | 4 +++- .../argo-cd/templates/argocd-server/clusterrolebinding.yaml | 4 +++- charts/argo-cd/values.yaml | 5 +++++ 5 files changed, 13 insertions(+), 3 deletions(-) diff --git a/charts/argo-cd/Chart.yaml b/charts/argo-cd/Chart.yaml index 6e0b68a4..b43a0734 100644 --- a/charts/argo-cd/Chart.yaml +++ b/charts/argo-cd/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v1 appVersion: "1.4.2" description: A Helm chart for ArgoCD, a declarative, GitOps continuous delivery tool for Kubernetes. name: argo-cd -version: 1.7.3 +version: 1.7.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/README.md b/charts/argo-cd/README.md index ee1787fd..04d337cc 100644 --- a/charts/argo-cd/README.md +++ b/charts/argo-cd/README.md @@ -147,6 +147,7 @@ Helm v3 has removed the `install-crds` hook so CRDs are now populated by files i | server.certificate.domain | Certificate manager domain | `"argocd.example.com"` | | server.certificate.enabled | Enables a certificate manager certificate. | `false` | | server.certificate.issuer | Certificate manager issuer | `{}` | +| server.clusterAdminAccess.enabled | Enable RBAC for local cluster deployments. | `true` | | server.config | [General Argo CD configuration](https://argoproj.github.io/argo-cd/operator-manual/declarative-setup/#repositories) | See [values.yaml](values.yaml) | | server.containerPort | Server container port. | `8080` | | server.extraArgs | Additional arguments for the server. A list of key:value pairs. | `[]` | diff --git a/charts/argo-cd/templates/argocd-server/clusterrole.yaml b/charts/argo-cd/templates/argocd-server/clusterrole.yaml index d14fcca6..4570454b 100644 --- a/charts/argo-cd/templates/argocd-server/clusterrole.yaml +++ b/charts/argo-cd/templates/argocd-server/clusterrole.yaml @@ -1,3 +1,4 @@ +{{- if .Values.server.clusterAdminAccess.enabled }} apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: @@ -30,4 +31,5 @@ rules: - pods - pods/log verbs: - - get \ No newline at end of file + - get +{{- end }} \ No newline at end of file diff --git a/charts/argo-cd/templates/argocd-server/clusterrolebinding.yaml b/charts/argo-cd/templates/argocd-server/clusterrolebinding.yaml index 2cf4765e..3bbd5a0d 100644 --- a/charts/argo-cd/templates/argocd-server/clusterrolebinding.yaml +++ b/charts/argo-cd/templates/argocd-server/clusterrolebinding.yaml @@ -1,3 +1,4 @@ +{{- if .Values.server.clusterAdminAccess.enabled }} apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: @@ -16,4 +17,5 @@ roleRef: subjects: - kind: ServiceAccount name: {{ template "argo-cd.serverServiceAccountName" . }} - namespace: {{ .Release.Namespace }} \ No newline at end of file + namespace: {{ .Release.Namespace }} +{{- end }} \ No newline at end of file diff --git a/charts/argo-cd/values.yaml b/charts/argo-cd/values.yaml index df42b9c1..afe9432e 100755 --- a/charts/argo-cd/values.yaml +++ b/charts/argo-cd/values.yaml @@ -507,6 +507,11 @@ server: # orphanedResources: {} # roles: [] + ## Enable Admin ClusterRole resources. + ## Enable if you would like to grant rights to ArgoCD to deploy to the local kuberentes cluster. + clusterAdminAccess: + enabled: true + ## Repo Server repoServer: name: repo-server From 1f625ddd8e9dd7a634a87bdc8eb13f6505e97798 Mon Sep 17 00:00:00 2001 From: bergur88 Date: Sun, 16 Feb 2020 23:17:37 +0000 Subject: [PATCH 11/16] fix: Make port names configurable for repo-server and controller (#236) * allow changing of port names for application-controller and repo-server * bump chart version * chore: bump Chart version --- charts/argo-cd/Chart.yaml | 2 +- .../templates/argocd-application-controller/service.yaml | 2 +- charts/argo-cd/templates/argocd-repo-server/service.yaml | 2 +- charts/argo-cd/values.yaml | 2 ++ 4 files changed, 5 insertions(+), 3 deletions(-) diff --git a/charts/argo-cd/Chart.yaml b/charts/argo-cd/Chart.yaml index b43a0734..0f3a5aa1 100644 --- a/charts/argo-cd/Chart.yaml +++ b/charts/argo-cd/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v1 appVersion: "1.4.2" description: A Helm chart for ArgoCD, a declarative, GitOps continuous delivery tool for Kubernetes. name: argo-cd -version: 1.7.4 +version: 1.7.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/templates/argocd-application-controller/service.yaml b/charts/argo-cd/templates/argocd-application-controller/service.yaml index bda37168..69f8ce52 100644 --- a/charts/argo-cd/templates/argocd-application-controller/service.yaml +++ b/charts/argo-cd/templates/argocd-application-controller/service.yaml @@ -17,7 +17,7 @@ metadata: app.kubernetes.io/component: {{ .Values.controller.name }} spec: ports: - - name: {{ .Values.controller.name }} + - name: {{ .Values.controller.service.portName }} port: {{ .Values.controller.service.port }} targetPort: {{ .Values.controller.containerPort }} selector: diff --git a/charts/argo-cd/templates/argocd-repo-server/service.yaml b/charts/argo-cd/templates/argocd-repo-server/service.yaml index 9ce1f144..169edd31 100644 --- a/charts/argo-cd/templates/argocd-repo-server/service.yaml +++ b/charts/argo-cd/templates/argocd-repo-server/service.yaml @@ -17,7 +17,7 @@ metadata: name: {{ template "argo-cd.repoServer.fullname" . }} spec: ports: - - name: repo-server + - name: {{ .Values.repoServer.service.portName }} protocol: TCP port: {{ .Values.repoServer.service.port }} targetPort: repo-server diff --git a/charts/argo-cd/values.yaml b/charts/argo-cd/values.yaml index afe9432e..f2d22c4c 100755 --- a/charts/argo-cd/values.yaml +++ b/charts/argo-cd/values.yaml @@ -86,6 +86,7 @@ controller: annotations: {} labels: {} port: 8082 + portName: https-controller ## Node selectors and tolerations for server scheduling to nodes with taints ## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ @@ -595,6 +596,7 @@ repoServer: annotations: {} labels: {} port: 8081 + portName: https-repo-server ## Repo server metrics service configuration metrics: From fdb6093011df454af5e16ce4dec9042b45bd62ff Mon Sep 17 00:00:00 2001 From: tgauweiler <43210663+tgauweiler@users.noreply.github.com> Date: Mon, 17 Feb 2020 00:46:41 +0100 Subject: [PATCH 12/16] fix: volumeMounts indention for argocd-server (#239) * Fix volumeMounts indention for argocd-server * chore: bump chart version --- charts/argo-cd/Chart.yaml | 2 +- charts/argo-cd/templates/argocd-server/deployment.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/charts/argo-cd/Chart.yaml b/charts/argo-cd/Chart.yaml index 0f3a5aa1..6a07da99 100644 --- a/charts/argo-cd/Chart.yaml +++ b/charts/argo-cd/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v1 appVersion: "1.4.2" description: A Helm chart for ArgoCD, a declarative, GitOps continuous delivery tool for Kubernetes. name: argo-cd -version: 1.7.5 +version: 1.7.6 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/argocd-server/deployment.yaml b/charts/argo-cd/templates/argocd-server/deployment.yaml index fe6e54d5..42b78cdd 100755 --- a/charts/argo-cd/templates/argocd-server/deployment.yaml +++ b/charts/argo-cd/templates/argocd-server/deployment.yaml @@ -76,7 +76,7 @@ spec: {{- end }} volumeMounts: {{- if .Values.server.volumeMounts }} -{{- toYaml .Values.server.volumeMounts | nindent 10}} +{{- toYaml .Values.server.volumeMounts | nindent 8}} {{- end }} {{- if .Values.configs.knownHosts }} - mountPath: /app/config/ssh From d9d786286431285efcab3608fc58abb89852bf05 Mon Sep 17 00:00:00 2001 From: Gustav Paul Date: Sun, 16 Feb 2020 16:14:39 -0800 Subject: [PATCH 13/16] feat: Add HPA for ArgoCD server and repoServer components (#240) * argo-cd: add optional hpa, cleanup whitespace --- charts/argo-cd/Chart.yaml | 2 +- charts/argo-cd/README.md | 10 ++++++ .../deployment.yaml | 2 +- .../argocd-repo-server/deployment.yaml | 4 ++- .../templates/argocd-repo-server/hpa.yaml | 33 +++++++++++++++++++ .../templates/argocd-server/deployment.yaml | 4 ++- .../argo-cd/templates/argocd-server/hpa.yaml | 33 +++++++++++++++++++ charts/argo-cd/values.yaml | 14 ++++++++ 8 files changed, 98 insertions(+), 4 deletions(-) create mode 100644 charts/argo-cd/templates/argocd-repo-server/hpa.yaml create mode 100644 charts/argo-cd/templates/argocd-server/hpa.yaml diff --git a/charts/argo-cd/Chart.yaml b/charts/argo-cd/Chart.yaml index 6a07da99..0904bc0d 100644 --- a/charts/argo-cd/Chart.yaml +++ b/charts/argo-cd/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v1 appVersion: "1.4.2" description: A Helm chart for ArgoCD, a declarative, GitOps continuous delivery tool for Kubernetes. name: argo-cd -version: 1.7.6 +version: 1.8.0 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/README.md b/charts/argo-cd/README.md index 04d337cc..da37209b 100644 --- a/charts/argo-cd/README.md +++ b/charts/argo-cd/README.md @@ -101,6 +101,11 @@ Helm v3 has removed the `install-crds` hook so CRDs are now populated by files i | Key | Type | Default | Description | |-----|------|---------|-------------| | repoServer.affinity | Assign custom affinity rules to the deployment https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ | `{}` | +| repoServer.autoscaling.enabled | Enable Horizontal Pod Autoscaler (HPA) for the repo server | `false` | +| repoServer.autoscaling.minReplicas | Minimum number of replicas for the repo server HPA | `1` | +| repoServer.autoscaling.maxReplicas | Maximum number of replicas for the repo server HPA | `5` | +| repoServer.autoscaling.targetCPUUtilizationPercentage | Average CPU utilization percentage for the repo server HPA | `50` | +| repoServer.autoscaling.targetMemoryUtilizationPercentage | Average memory utilization percentage for the repo server HPA | `50` | | repoServer.containerPort | Repo server port | `8081` | | repoServer.extraArgs | Additional arguments for the repo server. A list of key:value pairs. | `[]` | | repoServer.env | Environment variables for the repo server. | `[]` | @@ -143,6 +148,11 @@ Helm v3 has removed the `install-crds` hook so CRDs are now populated by files i | Key | Type | Default | Description | |-----|------|---------|-------------| | server.affinity | Assign custom affinity rules to the deployment https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ | `{}` | +| server.autoscaling.enabled | Enable Horizontal Pod Autoscaler (HPA) for the server | `false` | +| server.autoscaling.minReplicas | Minimum number of replicas for the server HPA | `1` | +| server.autoscaling.maxReplicas | Maximum number of replicas for the server HPA | `5` | +| server.autoscaling.targetCPUUtilizationPercentage | Average CPU utilization percentage for the server HPA | `50` | +| server.autoscaling.targetMemoryUtilizationPercentage | Average memory utilization percentage for the server HPA | `50` | | server.certificate.additionalHosts | Certificate manager additional hosts | `[]` | | server.certificate.domain | Certificate manager domain | `"argocd.example.com"` | | server.certificate.enabled | Enables a certificate manager certificate. | `false` | diff --git a/charts/argo-cd/templates/argocd-application-controller/deployment.yaml b/charts/argo-cd/templates/argocd-application-controller/deployment.yaml index 286fb981..9c13b535 100755 --- a/charts/argo-cd/templates/argocd-application-controller/deployment.yaml +++ b/charts/argo-cd/templates/argocd-application-controller/deployment.yaml @@ -68,7 +68,7 @@ spec: name: {{ .Values.controller.name }} {{- if .Values.controller.containerSecurityContext }} securityContext: {{- toYaml .Values.controller.containerSecurityContext | nindent 10 }} - {{- end }} + {{- end }} {{- if .Values.controller.env }} env: {{- toYaml .Values.controller.env | nindent 8 }} diff --git a/charts/argo-cd/templates/argocd-repo-server/deployment.yaml b/charts/argo-cd/templates/argocd-repo-server/deployment.yaml index 918accd4..cb4dffa0 100755 --- a/charts/argo-cd/templates/argocd-repo-server/deployment.yaml +++ b/charts/argo-cd/templates/argocd-repo-server/deployment.yaml @@ -16,7 +16,9 @@ spec: app.kubernetes.io/name: {{ include "argo-cd.name" . }}-{{ .Values.repoServer.name }} app.kubernetes.io/instance: {{ .Release.Name }} revisionHistoryLimit: 5 + {{- if (ne .Values.repoServer.autoscaling.enabled true) }} replicas: {{ .Values.repoServer.replicas }} + {{- end }} template: metadata: {{- if .Values.repoServer.podAnnotations }} @@ -61,7 +63,7 @@ spec: {{- end }} {{- if .Values.repoServer.containerSecurityContext }} securityContext: {{- toYaml .Values.repoServer.containerSecurityContext | nindent 10 }} - {{- end }} + {{- end }} {{- if .Values.repoServer.env }} env: {{- toYaml .Values.repoServer.env | nindent 8 }} diff --git a/charts/argo-cd/templates/argocd-repo-server/hpa.yaml b/charts/argo-cd/templates/argocd-repo-server/hpa.yaml new file mode 100644 index 00000000..860e70f4 --- /dev/null +++ b/charts/argo-cd/templates/argocd-repo-server/hpa.yaml @@ -0,0 +1,33 @@ +{{- if .Values.repoServer.autoscaling.enabled }} +apiVersion: autoscaling/v2beta1 +kind: HorizontalPodAutoscaler +metadata: + labels: + app.kubernetes.io/name: {{ include "argo-cd.name" . }}-{{ .Values.repoServer.name }}-hpa + helm.sh/chart: {{ include "argo-cd.chart" . }} + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/part-of: argocd + app.kubernetes.io/component: {{ .Values.repoServer.name }} + name: {{ template "argo-cd.repoServer.fullname" . }}-hpa +spec: + scaleTargetRef: + apiVersion: apps/v1 + kind: Deployment + name: {{ template "argo-cd.repoServer.fullname" . }} + minReplicas: {{ .Values.repoServer.autoscaling.minReplicas }} + maxReplicas: {{ .Values.repoServer.autoscaling.maxReplicas }} + metrics: +{{- with .Values.repoServer.autoscaling.targetCPUUtilizationPercentage }} + - type: Resource + resource: + name: cpu + targetAverageUtilization: {{ . }} +{{- end }} +{{- with .Values.repoServer.autoscaling.targetMemoryUtilizationPercentage }} + - type: Resource + resource: + name: memory + targetAverageUtilization: {{ . }} +{{- end }} +{{- end }} diff --git a/charts/argo-cd/templates/argocd-server/deployment.yaml b/charts/argo-cd/templates/argocd-server/deployment.yaml index 42b78cdd..1c1d1072 100755 --- a/charts/argo-cd/templates/argocd-server/deployment.yaml +++ b/charts/argo-cd/templates/argocd-server/deployment.yaml @@ -16,7 +16,9 @@ spec: app.kubernetes.io/name: {{ include "argo-cd.name" . }}-{{ .Values.server.name }} app.kubernetes.io/instance: {{ .Release.Name }} revisionHistoryLimit: 5 + {{- if (ne .Values.server.autoscaling.enabled true) }} replicas: {{ .Values.server.replicas }} + {{- end }} template: metadata: {{- if .Values.server.podAnnotations }} @@ -69,7 +71,7 @@ spec: {{- end }} {{- if .Values.server.containerSecurityContext }} securityContext: {{- toYaml .Values.server.containerSecurityContext | nindent 10 }} - {{- end }} + {{- end }} {{- if .Values.server.env }} env: {{- toYaml .Values.server.env | nindent 8 }} diff --git a/charts/argo-cd/templates/argocd-server/hpa.yaml b/charts/argo-cd/templates/argocd-server/hpa.yaml new file mode 100644 index 00000000..0da43850 --- /dev/null +++ b/charts/argo-cd/templates/argocd-server/hpa.yaml @@ -0,0 +1,33 @@ +{{- if .Values.server.autoscaling.enabled }} +apiVersion: autoscaling/v2beta1 +kind: HorizontalPodAutoscaler +metadata: + labels: + app.kubernetes.io/name: {{ include "argo-cd.name" . }}-{{ .Values.server.name }}-hpa + helm.sh/chart: {{ include "argo-cd.chart" . }} + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/part-of: argocd + app.kubernetes.io/component: {{ .Values.server.name }} + name: {{ template "argo-cd.server.fullname" . }}-hpa +spec: + scaleTargetRef: + apiVersion: apps/v1 + kind: Deployment + name: {{ template "argo-cd.server.fullname" . }} + minReplicas: {{ .Values.server.autoscaling.minReplicas }} + maxReplicas: {{ .Values.server.autoscaling.maxReplicas }} + metrics: +{{- with .Values.server.autoscaling.targetCPUUtilizationPercentage }} + - type: Resource + resource: + name: cpu + targetAverageUtilization: {{ . }} +{{- end }} +{{- with .Values.server.autoscaling.targetMemoryUtilizationPercentage }} + - type: Resource + resource: + name: memory + targetAverageUtilization: {{ . }} +{{- end }} +{{- end }} diff --git a/charts/argo-cd/values.yaml b/charts/argo-cd/values.yaml index f2d22c4c..e88c2f8c 100755 --- a/charts/argo-cd/values.yaml +++ b/charts/argo-cd/values.yaml @@ -271,6 +271,13 @@ server: replicas: 1 + autoscaling: + enabled: false + minReplicas: 1 + maxReplicas: 5 + targetCPUUtilizationPercentage: 50 + targetMemoryUtilizationPercentage: 50 + image: repository: # argoproj/argocd tag: # v1.4.2 @@ -519,6 +526,13 @@ repoServer: replicas: 1 + autoscaling: + enabled: false + minReplicas: 1 + maxReplicas: 5 + targetCPUUtilizationPercentage: 50 + targetMemoryUtilizationPercentage: 50 + image: repository: # argoproj/argocd tag: # v1.4.2 From 7ba77fde189008fa106fb4f07f9119b5bcc7f601 Mon Sep 17 00:00:00 2001 From: "David J. M. Karlsen" Date: Sat, 22 Feb 2020 03:14:00 +0100 Subject: [PATCH 14/16] feat: use globalsecuritycontext for dex too, trim whitespace (#248) Signed-off-by: David Karlsen --- charts/argo-cd/Chart.yaml | 2 +- charts/argo-cd/templates/dex/deployment.yaml | 13 ++++++++----- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/charts/argo-cd/Chart.yaml b/charts/argo-cd/Chart.yaml index 0904bc0d..03798136 100644 --- a/charts/argo-cd/Chart.yaml +++ b/charts/argo-cd/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v1 appVersion: "1.4.2" description: A Helm chart for ArgoCD, a declarative, GitOps continuous delivery tool for Kubernetes. name: argo-cd -version: 1.8.0 +version: 1.8.1 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 21b2d26d..fd8c606a 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 }} spec: selector: matchLabels: @@ -25,17 +25,20 @@ 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 }} spec: + {{- if .Values.global.securityContext }} + securityContext: {{- toYaml .Values.global.securityContext | nindent 8 }} + {{- end }} initContainers: - name: copyutil image: {{ default .Values.global.image.repository .Values.dex.initImage.repository }}:{{ default .Values.global.image.tag .Values.dex.initImage.tag }} imagePullPolicy: {{ default .Values.global.image.imagePullPolicy .Values.dex.initImage.imagePullPolicy }} resources: -{{- toYaml .Values.dex.resources | nindent 10 }} +{{- toYaml .Values.dex.resources | nindent 10 }} {{- if .Values.dex.containerSecurityContext }} securityContext: {{- toYaml .Values.dex.containerSecurityContext | nindent 10 }} - {{- end }} + {{- end }} command: - cp - /usr/local/bin/argocd-util @@ -52,7 +55,7 @@ spec: - rundex {{- if .Values.dex.containerSecurityContext }} securityContext: {{- toYaml .Values.dex.containerSecurityContext | nindent 10 }} - {{- end }} + {{- end }} {{- if .Values.dex.env }} env: {{- toYaml .Values.dex.env | nindent 8 }} From c8db341fdbae4897d056dd4b0d792e922be65b1e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rodrigo=20Arg=C3=BCello=20Flores?= Date: Sat, 22 Feb 2020 11:55:40 +0900 Subject: [PATCH 15/16] fix: reorder hpa metrics to avoid displaying diffs in argocd (#245) * fix: reorder hpa metrics to avoid displaying diffs in argocd --- charts/argo-cd/Chart.yaml | 2 +- charts/argo-cd/templates/argocd-repo-server/hpa.yaml | 12 ++++++------ charts/argo-cd/templates/argocd-server/hpa.yaml | 12 ++++++------ 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/charts/argo-cd/Chart.yaml b/charts/argo-cd/Chart.yaml index 03798136..2b011fc3 100644 --- a/charts/argo-cd/Chart.yaml +++ b/charts/argo-cd/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v1 appVersion: "1.4.2" description: A Helm chart for ArgoCD, a declarative, GitOps continuous delivery tool for Kubernetes. name: argo-cd -version: 1.8.1 +version: 1.8.2 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/argocd-repo-server/hpa.yaml b/charts/argo-cd/templates/argocd-repo-server/hpa.yaml index 860e70f4..103c9955 100644 --- a/charts/argo-cd/templates/argocd-repo-server/hpa.yaml +++ b/charts/argo-cd/templates/argocd-repo-server/hpa.yaml @@ -18,16 +18,16 @@ spec: minReplicas: {{ .Values.repoServer.autoscaling.minReplicas }} maxReplicas: {{ .Values.repoServer.autoscaling.maxReplicas }} metrics: -{{- with .Values.repoServer.autoscaling.targetCPUUtilizationPercentage }} - - type: Resource - resource: - name: cpu - targetAverageUtilization: {{ . }} -{{- end }} {{- with .Values.repoServer.autoscaling.targetMemoryUtilizationPercentage }} - type: Resource resource: name: memory targetAverageUtilization: {{ . }} {{- end }} +{{- with .Values.repoServer.autoscaling.targetCPUUtilizationPercentage }} + - type: Resource + resource: + name: cpu + targetAverageUtilization: {{ . }} +{{- end }} {{- end }} diff --git a/charts/argo-cd/templates/argocd-server/hpa.yaml b/charts/argo-cd/templates/argocd-server/hpa.yaml index 0da43850..be947ef0 100644 --- a/charts/argo-cd/templates/argocd-server/hpa.yaml +++ b/charts/argo-cd/templates/argocd-server/hpa.yaml @@ -18,16 +18,16 @@ spec: minReplicas: {{ .Values.server.autoscaling.minReplicas }} maxReplicas: {{ .Values.server.autoscaling.maxReplicas }} metrics: -{{- with .Values.server.autoscaling.targetCPUUtilizationPercentage }} - - type: Resource - resource: - name: cpu - targetAverageUtilization: {{ . }} -{{- end }} {{- with .Values.server.autoscaling.targetMemoryUtilizationPercentage }} - type: Resource resource: name: memory targetAverageUtilization: {{ . }} {{- end }} +{{- with .Values.server.autoscaling.targetCPUUtilizationPercentage }} + - type: Resource + resource: + name: cpu + targetAverageUtilization: {{ . }} +{{- end }} {{- end }} From 400f141dae386bea0ad6ac68a0c3ac0d6f0d3789 Mon Sep 17 00:00:00 2001 From: Arnar Date: Wed, 26 Feb 2020 06:37:56 +0100 Subject: [PATCH 16/16] fix: Fixing podLabels in deployment templates (#251) * Fixing podLabels in deployment templates * Updating chart version --- charts/argo-cd/Chart.yaml | 2 +- charts/argo-cd/templates/argocd-repo-server/deployment.yaml | 4 ++-- charts/argo-cd/templates/argocd-server/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 2b011fc3..160d33ba 100644 --- a/charts/argo-cd/Chart.yaml +++ b/charts/argo-cd/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v1 appVersion: "1.4.2" description: A Helm chart for ArgoCD, a declarative, GitOps continuous delivery tool for Kubernetes. name: argo-cd -version: 1.8.2 +version: 1.8.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/argocd-repo-server/deployment.yaml b/charts/argo-cd/templates/argocd-repo-server/deployment.yaml index cb4dffa0..946bbef3 100755 --- a/charts/argo-cd/templates/argocd-repo-server/deployment.yaml +++ b/charts/argo-cd/templates/argocd-repo-server/deployment.yaml @@ -35,8 +35,8 @@ spec: app.kubernetes.io/part-of: argocd app.kubernetes.io/component: {{ .Values.repoServer.name }} app.kubernetes.io/version: {{ default .Values.global.image.tag .Values.repoServer.image.tag | quote }} - {{- if .Values.controller.podLabels }} -{{- toYaml .Values.controller.podLabels | nindent 8 }} + {{- if .Values.repoServer.podLabels }} +{{- toYaml .Values.repoServer.podLabels | nindent 8 }} {{- end }} spec: {{- if .Values.global.securityContext }} diff --git a/charts/argo-cd/templates/argocd-server/deployment.yaml b/charts/argo-cd/templates/argocd-server/deployment.yaml index 1c1d1072..c5d1395c 100755 --- a/charts/argo-cd/templates/argocd-server/deployment.yaml +++ b/charts/argo-cd/templates/argocd-server/deployment.yaml @@ -35,8 +35,8 @@ spec: app.kubernetes.io/part-of: argocd app.kubernetes.io/component: {{ .Values.server.name }} app.kubernetes.io/version: {{ default .Values.global.image.tag .Values.server.image.tag | quote }} - {{- if .Values.controller.podLabels }} -{{- toYaml .Values.controller.podLabels | nindent 8 }} + {{- if .Values.server.podLabels }} +{{- toYaml .Values.server.podLabels | nindent 8 }} {{- end }} spec: {{- if .Values.global.securityContext }}