Merge branch 'master' into argo-events/logging_options

This commit is contained in:
Marco Kilchhofer 2021-06-01 17:42:44 +02:00 committed by GitHub
commit 1c19722aaa
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
32 changed files with 324 additions and 212 deletions

View file

@ -1,21 +0,0 @@
---
type: container
version: 1
name: argo-checkout
description: Checks out a source repository to /src
resources:
mem_mib: 500
cpu_cores: 0.1
image: argoproj/argoscm:v2.0
command: ["axscm"]
args: ["clone", "%%inputs.parameters.REPO%%", "/src", "--commit", "%%inputs.parameters.COMMIT%%"]
inputs:
parameters:
COMMIT:
default: "%%session.commit%%"
REPO:
default: "%%session.repo%%"
outputs:
artifacts:
CODE:
path: /src

View file

@ -1,58 +0,0 @@
---
type: workflow
version: 1
name: Publish Charts
inputs:
parameters:
COMMIT:
default: "%%session.commit%%"
REPO:
default: "%%session.repo%%"
steps:
- CHECKOUT:
template: argo-checkout
- PREPARE:
image: hypnoglow/kubernetes-helm:v2.6.1
resources:
mem_mib: 500
cpu_cores: 0.1
command: ["sh", "-c"]
args: [cd /src && helm init --client-only && ./scripts/publish.sh]
inputs:
artifacts:
CODE:
from: "%%steps.CHECKOUT.outputs.artifacts.CODE%%"
path: /src
outputs:
artifacts:
CODE:
path: /src/output
- PUBLISH:
image: argoproj/argoscm:v2.0
command: ["sh", "-c"]
args: [
axscm clone %%inputs.parameters.REPO%% --commit gh-pages /src && cd /src && cp -r /output/* . &&
git add . && git commit -m "Build on `date`" &&
axscm clone %%inputs.parameters.REPO%% /src --commit gh-pages --merge=gh-pages --push]
resources:
mem_mib: 500
cpu_cores: 0.1
inputs:
artifacts:
CODE:
from: "%%steps.PREPARE.outputs.artifacts.CODE%%"
path: /output
---
type: policy
version: 1
name: Publish Charts Policy
template: Publish Charts
notifications:
- when:
- on_failure
whom:
- committer
- author
when:
- event: on_push

View file

@ -2,7 +2,7 @@ apiVersion: v2
appVersion: 2.0.3 appVersion: 2.0.3
description: A Helm chart for ArgoCD, a declarative, GitOps continuous delivery tool for Kubernetes. description: A Helm chart for ArgoCD, a declarative, GitOps continuous delivery tool for Kubernetes.
name: argo-cd name: argo-cd
version: 3.6.3 version: 3.6.5
home: https://github.com/argoproj/argo-helm home: https://github.com/argoproj/argo-helm
icon: https://raw.githubusercontent.com/argoproj/argo/master/docs/assets/argo.png icon: https://raw.githubusercontent.com/argoproj/argo/master/docs/assets/argo.png
keywords: keywords:

View file

@ -216,8 +216,8 @@ dex:
interval: 30s interval: 30s
image: image:
repository: quay.io/dexidp/dex repository: ghcr.io/dexidp/dex
tag: v2.26.0 tag: v2.27.0
imagePullPolicy: IfNotPresent imagePullPolicy: IfNotPresent
initImage: initImage:
repository: repository:
@ -559,13 +559,21 @@ server:
# backend: # backend:
# serviceName: ssl-redirect # serviceName: ssl-redirect
# servicePort: use-annotation # servicePort: use-annotation
## for Kubernetes >=1.19 (when "networking.k8s.io/v1" is used)
# - path: /*
# pathType: Prefix
# backend:
# service
# name: ssl-redirect
# port:
# name: use-annotation
tls: tls:
[] []
# - secretName: argocd-tls-certificate # - secretName: argocd-tls-certificate
# hosts: # hosts:
# - argocd.example.com # - argocd.example.com
https: false https: false
# dedicated ingess for gRPC as documented at # dedicated ingress for gRPC as documented at
# https://argoproj.github.io/argo-cd/operator-manual/ingress/ # https://argoproj.github.io/argo-cd/operator-manual/ingress/
ingressGrpc: ingressGrpc:
enabled: false enabled: false
@ -588,6 +596,14 @@ server:
# backend: # backend:
# serviceName: ssl-redirect # serviceName: ssl-redirect
# servicePort: use-annotation # servicePort: use-annotation
## for Kubernetes >=1.19 (when "networking.k8s.io/v1" is used)
# - path: /*
# pathType: Prefix
# backend:
# service
# name: ssl-redirect
# port:
# name: use-annotation
tls: tls:
[] []
# - secretName: argocd-tls-certificate # - secretName: argocd-tls-certificate
@ -664,7 +680,7 @@ server:
## Annotations to be added to ArgoCD rbac ConfigMap ## Annotations to be added to ArgoCD rbac ConfigMap
rbacConfigAnnotations: {} rbacConfigAnnotations: {}
# Boolean determining whether or not to create the configmap. If false, it is expected tthe configmap will be created # Boolean determining whether or not to create the configmap. If false, it is expected the configmap will be created
# by something else. ArgoCD will not work if there is no configMap created with the name above. # by something else. ArgoCD will not work if there is no configMap created with the name above.
rbacConfigCreate: true rbacConfigCreate: true

View file

@ -1,7 +1,7 @@
apiVersion: v2 apiVersion: v2
description: A Helm chart to install Argo-Events in k8s Cluster description: A Helm chart to install Argo-Events in k8s Cluster
name: argo-events name: argo-events
version: 1.6.0 version: 1.6.2
keywords: keywords:
- argo-events - argo-events
- sensor-controller - sensor-controller

View file

@ -2,6 +2,7 @@ apiVersion: apps/v1
kind: Deployment kind: Deployment
metadata: metadata:
name: {{ .Release.Name }}-{{ .Values.eventbusController.name }} name: {{ .Release.Name }}-{{ .Values.eventbusController.name }}
namespace: {{ .Release.Namespace }}
labels: labels:
app: {{ .Release.Name }}-{{ .Values.eventbusController.name }} app: {{ .Release.Name }}-{{ .Values.eventbusController.name }}
chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}

View file

@ -2,6 +2,7 @@ apiVersion: apps/v1
kind: Deployment kind: Deployment
metadata: metadata:
name: {{ .Release.Name }}-{{ .Values.eventsourceController.name }} name: {{ .Release.Name }}-{{ .Values.eventsourceController.name }}
namespace: {{ .Release.Namespace }}
labels: labels:
app: {{ .Release.Name }}-{{ .Values.eventsourceController.name }} app: {{ .Release.Name }}-{{ .Values.eventsourceController.name }}
chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}

View file

@ -2,6 +2,7 @@ apiVersion: apps/v1
kind: Deployment kind: Deployment
metadata: metadata:
name: {{ .Release.Name }}-{{ .Values.sensorController.name }} name: {{ .Release.Name }}-{{ .Values.sensorController.name }}
namespace: {{ .Release.Namespace }}
labels: labels:
app: {{ .Release.Name }}-{{ .Values.sensorController.name }} app: {{ .Release.Name }}-{{ .Values.sensorController.name }}
chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}

View file

@ -1,5 +1,5 @@
# docker registry # docker registry
registry: argoproj registry: quay.io
# The image pull policy # The image pull policy
imagePullPolicy: Always imagePullPolicy: Always
@ -47,11 +47,11 @@ singleNamespace: true
# sensor controller # sensor controller
sensorController: sensorController:
name: sensor-controller name: sensor-controller
image: sensor-controller image: argoproj/sensor-controller
tag: v1.3.1 tag: v1.3.1
replicaCount: 1 replicaCount: 1
debugLogging: false debugLogging: false
sensorImage: sensor sensorImage: argoproj/sensor
podAnnotations: {} podAnnotations: {}
nodeSelector: {} nodeSelector: {}
podLabels: {} podLabels: {}
@ -62,11 +62,11 @@ sensorController:
eventsourceController: eventsourceController:
name: eventsource-controller name: eventsource-controller
image: eventsource-controller image: argoproj/eventsource-controller
tag: v1.3.1 tag: v1.3.1
replicaCount: 1 replicaCount: 1
debugLogging: false debugLogging: false
eventsourceImage: eventsource eventsourceImage: argoproj/eventsource
podAnnotations: {} podAnnotations: {}
nodeSelector: {} nodeSelector: {}
podLabels: {} podLabels: {}
@ -77,7 +77,7 @@ eventsourceController:
eventbusController: eventbusController:
name: eventbus-controller name: eventbus-controller
image: eventbus-controller image: argoproj/eventbus-controller
tag: v1.3.1 tag: v1.3.1
replicaCount: 1 replicaCount: 1
debugLogging: false debugLogging: false

View file

@ -1,8 +1,8 @@
apiVersion: v1 apiVersion: v2
appVersion: "0.10.2" appVersion: "v1.0.1"
description: A Helm chart for Argo Rollouts description: A Helm chart for Argo Rollouts
name: argo-rollouts name: argo-rollouts
version: 0.5.5 version: 1.0.1
icon: https://raw.githubusercontent.com/argoproj/argo/master/argo.png icon: https://raw.githubusercontent.com/argoproj/argo/master/argo.png
home: https://github.com/argoproj/argo-helm home: https://github.com/argoproj/argo-helm
maintainers: maintainers:

View file

@ -1,12 +1,11 @@
Argo Rollouts Chart # Argo Rollouts Chart
=============
A Helm chart for Argo Rollouts, progressive delivery for Kubernetes.
Current chart version is `0.5.4` A Helm chart for Argo Rollouts, progressive delivery for Kubernetes.
Source code can be found [here](https://github.com/argoproj/argo-rollouts) Source code can be found [here](https://github.com/argoproj/argo-rollouts)
## Additional Information ## Additional Information
This is a **community maintained** chart. This chart installs [argo-rollouts](https://argoproj.github.io/argo-rollouts/), progressive delivery for Kubernetes. 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). The default installation is intended to be similar to the provided Argo Rollouts [releases](https://github.com/argoproj/argo-rollouts/releases).
@ -14,6 +13,7 @@ The default installation is intended to be similar to the provided Argo Rollouts
## Prerequisites ## Prerequisites
- Kubernetes 1.7+ - Kubernetes 1.7+
- Helm v3.0.0+
## Installing the Chart ## Installing the Chart
@ -22,27 +22,49 @@ To install the chart with the release name `my-release`:
```console ```console
$ helm repo add argo https://argoproj.github.io/argo-helm $ helm repo add argo https://argoproj.github.io/argo-helm
$ helm install --name my-release argo/argo-rollouts $ helm install my-release argo/argo-rollouts
``` ```
## Chart Values ## Chart Values
| Key | Type | Default | Description | | Key | Type | Default | Description |
|-----|------|---------|-------------| |-----|------|---------|-------------|
| clusterInstall | bool | `true` | | | clusterInstall | bool | `true` | `false` runs controller in namespaced mode (does not require cluster RBAC) |
| controller.component | string | `"rollouts-controller"` | | | controller.component | string | `"rollouts-controller"` | Value of label `app.kubernetes.io/component` |
| controller.image.pullPolicy | string | `"IfNotPresent"` | | | controller.image.pullPolicy | string | `"IfNotPresent"` | Image pull policy |
| controller.image.repository | string | `"argoproj/argo-rollouts"` | | | controller.image.registry | string | `quay.io` | Registry to use |
| controller.image.tag | string | `"v0.10.2"` | | | controller.image.repository | string | `"argoproj/argo-rollouts"` | Repository to use |
| controller.name | string | `"argo-rollouts"` | | | controller.image.tag | string | `""` | Overrides the image tag (default is the chart appVersion) |
| controller.resources | Resource limits and requests for the controller pods. | `{}` | | controller.resources | object | `{}` | Resource limits and requests for the controller pods. |
| controller.tolerations | [Tolerations for use with node taints](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/) | `[]` | | controller.tolerations | list | `[]` | [Tolerations for use with node taints](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/) |
| controller.affinity | [Assign custom affinity rules to the deployment](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/) | `{}` | | controller.affinity | object | `{}` | [Assign custom affinity rules to the deployment](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/) |
| controller.nodeSelector | [Node selector](https://kubernetes.io/docs/user-guide/node-selection/) | `{}` | | controller.nodeSelector | object | `{}` | [Node selector](https://kubernetes.io/docs/user-guide/node-selection/) |
| controller.metrics.serviceMonitor.enabled | bool | `false` | | | controller.metrics.enabled | bool | `false` | Deploy metrics service |
| imagePullSecrets | list | `[]` | | | controller.metrics.serviceMonitor.enabled | bool | `false` | Enable a prometheus ServiceMonitor |
| installCRDs | bool | `true` | | | controller.metrics.serviceMonitor.additionalAnnotations | object | `{}` | Annotations to be added to the ServiceMonitor |
| crdAnnotations | object | `{}` | | | controller.metrics.serviceMonitor.additionalLabels | object | `{}` | Labels to be added to the ServiceMonitor |
| podAnnotations | object | `{}` | | | imagePullSecrets | list | `[]` | Registry secret names as an array |
| podLabels | object | `{}` | | | installCRDs | bool | `true` | Install and upgrade CRDs |
| serviceAccount.name | string | `"argo-rollouts"` | | | crdAnnotations | object | `{}` | Annotations to be added to all CRDs |
| podAnnotations | object | `{}` | Annotations to be added to the Rollout pods |
| podLabels | object | `{}` | Labels to be added to the Rollout pods |
| serviceAccount.create | bool | `true` | Specifies whether a service account should be created |
| serviceAccount.annotations | object | `{}` | Annotations to add to the service account |
| serviceAccount.name | string | `""` | The name of the service account to use. If not set and create is true, a name is generated using the fullname template |
| podSecurityContext | object | `{"runAsNonRoot": true}` | Security Context to set on pod level |
| containerSecurityContext | object | `{}` | Security Context to set on container level |
## Upgrading
### To 1.0.0
* This is a breaking change which only supports Helm v3.0.0+ now. If you still use Helm v2, please consider upgrading because v2 is EOL since November 2020.
To migrate to Helm v3 please have a look at the [Helm 2to3 Plugin](https://github.com/helm/helm-2to3). This tool will convert the existing ConfigMap used for Tiller to a Secret of type `helm.sh/release.v1`.
* `quay.io` is the default registry now
* We introduce a template function for the labels here to reduce code duplication. This also affects the Deployment `matchLabels` selector.
To upgrade an existing installation, please **add the `--force` parameter** to the `helm upgrade` command or **delete the Deployment resource** before you upgrade. This is necessary because Deployment's label selector is immutable.
* All resources are now prefixed with the template `"argo-rollouts.fullname"`.
This enables the users to override resource names via the `nameOverride` and `fullnameOverride` parameters.
* Breaking parameters update
* `securityContext` was renamed to `containerSecurityContext`
* Added `controller.image.registry`. Prior to this chart version you had to override the registry via `controller.image.repository`

View file

@ -30,3 +30,35 @@ Create chart name and version as used by the chart label.
{{- define "argo-rollouts.chart" -}} {{- define "argo-rollouts.chart" -}}
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}} {{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
{{- end -}} {{- end -}}
{{/*
Common labels
*/}}
{{- define "argo-rollouts.labels" -}}
helm.sh/chart: {{ include "argo-rollouts.chart" . }}
{{ include "argo-rollouts.selectorLabels" . }}
{{- if .Chart.AppVersion }}
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
{{- end }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
app.kubernetes.io/part-of: argo-rollouts
{{- end }}
{{/*
Selector labels
*/}}
{{- define "argo-rollouts.selectorLabels" -}}
app.kubernetes.io/name: {{ include "argo-rollouts.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
{{- end }}
{{/*
Create the name of the service account to use
*/}}
{{- define "argo-rollouts.serviceAccountName" -}}
{{- if .Values.serviceAccount.create }}
{{- default (include "argo-rollouts.fullname" .) .Values.serviceAccount.name }}
{{- else }}
{{- default "default" .Values.serviceAccount.name }}
{{- end }}
{{- end }}

View file

@ -2,12 +2,11 @@
apiVersion: rbac.authorization.k8s.io/v1 apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole kind: ClusterRole
metadata: metadata:
name: {{ .Release.Name }}-aggregate-to-view name: {{ include "argo-rollouts.fullname" . }}-aggregate-to-view
labels: labels:
rbac.authorization.k8s.io/aggregate-to-view: "true" rbac.authorization.k8s.io/aggregate-to-view: "true"
app.kubernetes.io/component: aggregate-cluster-role app.kubernetes.io/component: {{ .Values.controller.component }}
app.kubernetes.io/name: {{ .Release.Name }}-aggregate-to-view {{- include "argo-rollouts.labels" . | nindent 4 }}
app.kubernetes.io/part-of: {{ .Release.Name }}
rules: rules:
- apiGroups: - apiGroups:
- argoproj.io - argoproj.io
@ -27,12 +26,11 @@ rules:
apiVersion: rbac.authorization.k8s.io/v1 apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole kind: ClusterRole
metadata: metadata:
name: {{ .Release.Name }}-aggregate-to-edit name: {{ include "argo-rollouts.fullname" . }}-aggregate-to-edit
labels: labels:
rbac.authorization.k8s.io/aggregate-to-edit: "true" rbac.authorization.k8s.io/aggregate-to-edit: "true"
app.kubernetes.io/component: aggregate-cluster-role app.kubernetes.io/component: {{ .Values.controller.component }}
app.kubernetes.io/name: {{ .Release.Name }}-aggregate-to-edit {{- include "argo-rollouts.labels" . | nindent 4 }}
app.kubernetes.io/part-of: {{ .Release.Name }}
rules: rules:
- apiGroups: - apiGroups:
- argoproj.io - argoproj.io
@ -58,12 +56,11 @@ rules:
apiVersion: rbac.authorization.k8s.io/v1 apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole kind: ClusterRole
metadata: metadata:
name: {{ .Release.Name }}-aggregate-to-admin name: {{ include "argo-rollouts.fullname" . }}-aggregate-to-admin
labels: labels:
rbac.authorization.k8s.io/aggregate-to-admin: "true" rbac.authorization.k8s.io/aggregate-to-admin: "true"
app.kubernetes.io/component: aggregate-cluster-role app.kubernetes.io/component: {{ .Values.controller.component }}
app.kubernetes.io/name: {{ .Release.Name }}-aggregate-to-admin {{- include "argo-rollouts.labels" . | nindent 4 }}
app.kubernetes.io/part-of: {{ .Release.Name }}
rules: rules:
- apiGroups: - apiGroups:
- argoproj.io - argoproj.io

View file

@ -2,11 +2,10 @@
apiVersion: rbac.authorization.k8s.io/v1 apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole kind: ClusterRole
metadata: metadata:
name: {{ .Release.Name }}-clusterrole name: {{ include "argo-rollouts.fullname" . }}
labels: labels:
app.kubernetes.io/component: {{ .Values.controller.component }} app.kubernetes.io/component: {{ .Values.controller.component }}
app.kubernetes.io/name: {{ .Release.Name }}-clusterrole {{- include "argo-rollouts.labels" . | nindent 4 }}
app.kubernetes.io/part-of: {{ .Release.Name }}
rules: rules:
- apiGroups: - apiGroups:
- argoproj.io - argoproj.io
@ -57,6 +56,16 @@ rules:
- update - update
- patch - patch
- delete - delete
- apiGroups:
- ""
- apps
resources:
- deployments
- podtemplates
verbs:
- get
- list
- watch
# services patch needed to update selector of canary/stable/active/preview services # services patch needed to update selector of canary/stable/active/preview services
- apiGroups: - apiGroups:
- "" - ""
@ -135,6 +144,7 @@ rules:
- watch - watch
- get - get
- update - update
- patch
- list - list
# trafficsplit access needed for using the SMI provider # trafficsplit access needed for using the SMI provider
- apiGroups: - apiGroups:
@ -147,4 +157,15 @@ rules:
- get - get
- update - update
- patch - patch
- apiGroups:
- getambassador.io
resources:
- mappings
verbs:
- create
- watch
- get
- update
- list
- delete
{{- end }} {{- end }}

View file

@ -2,17 +2,16 @@
apiVersion: rbac.authorization.k8s.io/v1 apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding kind: ClusterRoleBinding
metadata: metadata:
name: {{ .Release.Name }}-clusterrolebinding name: {{ include "argo-rollouts.fullname" . }}
labels: labels:
app.kubernetes.io/component: {{ .Values.controller.component }} app.kubernetes.io/component: {{ .Values.controller.component }}
app.kubernetes.io/name: {{ .Release.Name }}-clusterrolebinding {{- include "argo-rollouts.labels" . | nindent 4 }}
app.kubernetes.io/part-of: {{ .Release.Name }}
roleRef: roleRef:
apiGroup: rbac.authorization.k8s.io apiGroup: rbac.authorization.k8s.io
kind: ClusterRole kind: ClusterRole
name: {{ .Release.Name }}-clusterrole name: {{ include "argo-rollouts.fullname" . }}
subjects: subjects:
- kind: ServiceAccount - kind: ServiceAccount
name: {{ .Values.serviceAccount.name }} name: {{ include "argo-rollouts.serviceAccountName" . }}
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
{{- end }} {{- end }}

View file

@ -1,50 +1,54 @@
apiVersion: apps/v1 apiVersion: apps/v1
kind: Deployment kind: Deployment
metadata: metadata:
name: {{ .Release.Name }} name: {{ include "argo-rollouts.fullname" . }}
labels: labels:
app.kubernetes.io/component: {{ .Values.controller.component }} app.kubernetes.io/component: {{ .Values.controller.component }}
app.kubernetes.io/name: {{ .Release.Name }} {{- include "argo-rollouts.labels" . | nindent 4 }}
app.kubernetes.io/part-of: {{ .Release.Name }}
{{- if .Values.podLabels }}
{{- toYaml .Values.podLabels | nindent 4 }}
{{- end }}
spec: spec:
selector: selector:
matchLabels: matchLabels:
app.kubernetes.io/name: {{ .Release.Name }} {{- include "argo-rollouts.selectorLabels" . | nindent 6 }}
strategy:
type: Recreate
template: template:
metadata: metadata:
{{- if .Values.podAnnotations }} {{- with .Values.podAnnotations }}
annotations: annotations:
{{- range $key, $value := .Values.podAnnotations }} {{- toYaml . | nindent 8 }}
{{ $key }}: {{ $value | quote }}
{{- end }}
{{- end }} {{- end }}
labels: labels:
app.kubernetes.io/name: {{ .Release.Name }} {{- include "argo-rollouts.selectorLabels" . | nindent 8 }}
{{- range $key, $value := .Values.podLabels }}
{{ $key }}: {{ $value | quote }}
{{- end }}
spec: spec:
{{- with .Values.imagePullSecrets }} {{- with .Values.imagePullSecrets }}
imagePullSecrets: imagePullSecrets:
{{- toYaml . | nindent 8 }} {{- toYaml . | nindent 8 }}
{{- end }} {{- end }}
serviceAccountName: {{ .Values.serviceAccount.name }} serviceAccountName: {{ include "argo-rollouts.serviceAccountName" . }}
containers: containers:
- image: "{{ .Values.controller.image.repository }}:{{ .Values.controller.image.tag }}" - image: "{{ .Values.controller.image.registry }}/{{ .Values.controller.image.repository }}:{{ default .Chart.AppVersion .Values.controller.image.tag }}"
{{- if not .Values.clusterInstall }} {{- if not .Values.clusterInstall }}
args: args:
- --namespaced - --namespaced
{{- end }} {{- end }}
imagePullPolicy: {{ .Values.controller.image.pullPolicy }} imagePullPolicy: {{ .Values.controller.image.pullPolicy }}
name: {{ .Values.controller.name }} name: argo-rollouts
ports:
- containerPort: 8090
name: metrics
securityContext: securityContext:
{{- toYaml .Values.securityContext | nindent 12 }} {{- toYaml .Values.containerSecurityContext | nindent 10 }}
resources: resources:
{{- toYaml .Values.controller.resources | nindent 10 }} {{- toYaml .Values.controller.resources | nindent 10 }}
{{- if .Values.controller.nodeSelector }} {{- if .Values.controller.nodeSelector }}
nodeSelector: nodeSelector:
{{- toYaml .Values.controller.nodeSelector | nindent 8 }} {{- toYaml .Values.controller.nodeSelector | nindent 8 }}
{{- end }} {{- end }}
securityContext:
{{- toYaml .Values.podSecurityContext | nindent 8 }}
{{- if .Values.controller.tolerations }} {{- if .Values.controller.tolerations }}
tolerations: tolerations:
{{- toYaml .Values.controller.tolerations | nindent 8 }} {{- toYaml .Values.controller.tolerations | nindent 8 }}
@ -53,5 +57,3 @@ spec:
affinity: affinity:
{{- toYaml .Values.controller.affinity | nindent 8 }} {{- toYaml .Values.controller.affinity | nindent 8 }}
{{- end }} {{- end }}
strategy:
type: Recreate

View file

@ -1,14 +1,14 @@
{{- if .Values.controller.metrics.enabled }}
apiVersion: v1 apiVersion: v1
kind: Service kind: Service
metadata: metadata:
name: {{ .Release.Name }}-metrics name: {{ include "argo-rollouts.fullname" . }}-metrics
labels: labels:
app.kubernetes.io/component: server app.kubernetes.io/component: server
app.kubernetes.io/name: {{ .Release.Name }}-metrics {{- include "argo-rollouts.labels" . | nindent 4 }}
app.kubernetes.io/part-of: {{ .Release.Name }} {{- with .Values.serviceAnnotations }}
annotations: annotations:
{{- range $key, $value := .Values.serviceAnnotations }} {{- toYaml . | nindent 4 }}
{{ $key }}: {{ $value | quote }}
{{- end }} {{- end }}
spec: spec:
ports: ports:
@ -17,4 +17,5 @@ spec:
port: 8090 port: 8090
targetPort: 8090 targetPort: 8090
selector: selector:
app.kubernetes.io/name: {{ .Release.Name }} {{- include "argo-rollouts.selectorLabels" . | nindent 6 }}
{{- end }}

View file

@ -1,11 +1,11 @@
{{- if not .Values.clusterInstall }}
apiVersion: rbac.authorization.k8s.io/v1 apiVersion: rbac.authorization.k8s.io/v1
kind: Role kind: Role
metadata: metadata:
name: {{ .Release.Name }}-role name: {{ include "argo-rollouts.fullname" . }}
labels: labels:
app.kubernetes.io/component: {{ .Values.controller.component }} app.kubernetes.io/component: {{ .Values.controller.component }}
app.kubernetes.io/name: {{ .Release.Name }}-role {{- include "argo-rollouts.labels" . | nindent 4 }}
app.kubernetes.io/part-of: {{ .Release.Name }}
rules: rules:
- apiGroups: - apiGroups:
- argoproj.io - argoproj.io
@ -145,3 +145,4 @@ rules:
- get - get
- update - update
- patch - patch
{{- end }}

View file

@ -1,15 +1,16 @@
{{- if not .Values.clusterInstall }}
apiVersion: rbac.authorization.k8s.io/v1 apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding kind: RoleBinding
metadata: metadata:
name: {{ .Release.Name }}-role-binding name: {{ include "argo-rollouts.fullname" . }}
labels: labels:
app.kubernetes.io/component: {{ .Values.controller.component }} app.kubernetes.io/component: {{ .Values.controller.component }}
app.kubernetes.io/name: {{ .Release.Name }}-role-binding {{- include "argo-rollouts.labels" . | nindent 4 }}
app.kubernetes.io/part-of: {{ .Release.Name }}
roleRef: roleRef:
apiGroup: rbac.authorization.k8s.io apiGroup: rbac.authorization.k8s.io
kind: Role kind: Role
name: {{ .Release.Name }}-role name: {{ include "argo-rollouts.fullname" . }}
subjects: subjects:
- kind: ServiceAccount - kind: ServiceAccount
name: {{ .Values.serviceAccount.name }} name: {{ include "argo-rollouts.serviceAccountName" . }}
{{- end }}

View file

@ -1,8 +1,13 @@
{{- if .Values.serviceAccount.create -}}
apiVersion: v1 apiVersion: v1
kind: ServiceAccount kind: ServiceAccount
metadata: metadata:
name: {{ .Values.serviceAccount.name }} name: {{ include "argo-rollouts.serviceAccountName" . }}
labels: labels:
app.kubernetes.io/component: {{ .Values.controller.component }} app.kubernetes.io/component: {{ .Values.controller.component }}
app.kubernetes.io/name: {{ .Release.Name }} {{- include "argo-rollouts.labels" . | nindent 4 }}
app.kubernetes.io/part-of: {{ .Release.Name }} {{- with .Values.serviceAccount.annotations }}
annotations:
{{- toYaml . | nindent 4 }}
{{- end }}
{{- end }}

View file

@ -1,18 +1,17 @@
{{- if .Values.controller.metrics.serviceMonitor.enabled }} {{- if and .Values.controller.metrics.enabled .Values.controller.metrics.serviceMonitor.enabled }}
apiVersion: monitoring.coreos.com/v1 apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor kind: ServiceMonitor
metadata: metadata:
name: {{ .Release.Name }} name: {{ include "argo-rollouts.fullname" . }}
labels: labels:
app.kubernetes.io/component: server app.kubernetes.io/component: server
app.kubernetes.io/name: {{ .Release.Name }}-metrics {{- include "argo-rollouts.labels" . | nindent 4 }}
app.kubernetes.io/part-of: {{ .Release.Name }} {{- range $key, $value := .Values.controller.metrics.serviceMonitor.additionalLabels }}
{{- if .Values.controller.metrics.serviceMonitor.additionalLabels }} {{ $key }}: {{ $value | quote }}
{{ toYaml .Values.controller.metrics.serviceMonitor.additionalLabels | indent 4 }}
{{- end }} {{- end }}
{{- if .Values.controller.metrics.serviceMonitor.additionalAnnotations }} {{- with .Values.controller.metrics.serviceMonitor.additionalAnnotations }}
annotations: annotations:
{{ toYaml .Values.controller.metrics.serviceMonitor.additionalAnnotations | indent 4 }} {{- toYaml . | nindent 4 }}
{{- end }} {{- end }}
spec: spec:
endpoints: endpoints:
@ -23,6 +22,5 @@ spec:
selector: selector:
matchLabels: matchLabels:
app.kubernetes.io/component: server app.kubernetes.io/component: server
app.kubernetes.io/name: {{ .Release.Name }}-metrics {{- include "argo-rollouts.selectorLabels" . | nindent 6 }}
app.kubernetes.io/part-of: {{ .Release.Name }}
{{- end }} {{- end }}

View file

@ -3,9 +3,9 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition kind: CustomResourceDefinition
metadata: metadata:
annotations: annotations:
controller-gen.kubebuilder.io/version: v0.4.1 controller-gen.kubebuilder.io/version: v0.5.0
{{- if .Values.crdAnnotations }} {{- if .Values.crdAnnotations }}
{{- toYaml .Values.crdAnnotations | nindent 4 }} {{- toYaml .Values.crdAnnotations | nindent 4 }}
{{- end }} {{- end }}
labels: labels:
app.kubernetes.io/name: argo-rollouts app.kubernetes.io/name: argo-rollouts
@ -2308,6 +2308,7 @@ spec:
start: start:
type: string type: string
step: step:
format: int64
type: integer type: integer
required: required:
- end - end
@ -2327,6 +2328,7 @@ spec:
start: start:
type: string type: string
step: step:
format: int64
type: integer type: integer
required: required:
- end - end
@ -2348,8 +2350,10 @@ spec:
threshold: threshold:
properties: properties:
marginal: marginal:
format: int64
type: integer type: integer
pass: pass:
format: int64
type: integer type: integer
required: required:
- marginal - marginal
@ -2407,6 +2411,7 @@ spec:
jsonPath: jsonPath:
type: string type: string
timeoutSeconds: timeoutSeconds:
format: int64
type: integer type: integer
url: url:
type: string type: string

View file

@ -3,9 +3,9 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition kind: CustomResourceDefinition
metadata: metadata:
annotations: annotations:
controller-gen.kubebuilder.io/version: v0.4.1 controller-gen.kubebuilder.io/version: v0.5.0
{{- if .Values.crdAnnotations }} {{- if .Values.crdAnnotations }}
{{- toYaml .Values.crdAnnotations | nindent 4 }} {{- toYaml .Values.crdAnnotations | nindent 4 }}
{{- end }} {{- end }}
labels: labels:
app.kubernetes.io/name: argo-rollouts app.kubernetes.io/name: argo-rollouts
@ -2303,6 +2303,7 @@ spec:
start: start:
type: string type: string
step: step:
format: int64
type: integer type: integer
required: required:
- end - end
@ -2322,6 +2323,7 @@ spec:
start: start:
type: string type: string
step: step:
format: int64
type: integer type: integer
required: required:
- end - end
@ -2343,8 +2345,10 @@ spec:
threshold: threshold:
properties: properties:
marginal: marginal:
format: int64
type: integer type: integer
pass: pass:
format: int64
type: integer type: integer
required: required:
- marginal - marginal
@ -2402,6 +2406,7 @@ spec:
jsonPath: jsonPath:
type: string type: string
timeoutSeconds: timeoutSeconds:
format: int64
type: integer type: integer
url: url:
type: string type: string

View file

@ -3,9 +3,9 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition kind: CustomResourceDefinition
metadata: metadata:
annotations: annotations:
controller-gen.kubebuilder.io/version: v0.4.1 controller-gen.kubebuilder.io/version: v0.5.0
{{- if .Values.crdAnnotations }} {{- if .Values.crdAnnotations }}
{{- toYaml .Values.crdAnnotations | nindent 4 }} {{- toYaml .Values.crdAnnotations | nindent 4 }}
{{- end }} {{- end }}
labels: labels:
app.kubernetes.io/name: argo-rollouts app.kubernetes.io/name: argo-rollouts
@ -2303,6 +2303,7 @@ spec:
start: start:
type: string type: string
step: step:
format: int64
type: integer type: integer
required: required:
- end - end
@ -2322,6 +2323,7 @@ spec:
start: start:
type: string type: string
step: step:
format: int64
type: integer type: integer
required: required:
- end - end
@ -2343,8 +2345,10 @@ spec:
threshold: threshold:
properties: properties:
marginal: marginal:
format: int64
type: integer type: integer
pass: pass:
format: int64
type: integer type: integer
required: required:
- marginal - marginal
@ -2402,6 +2406,7 @@ spec:
jsonPath: jsonPath:
type: string type: string
timeoutSeconds: timeoutSeconds:
format: int64
type: integer type: integer
url: url:
type: string type: string

View file

@ -3,9 +3,9 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition kind: CustomResourceDefinition
metadata: metadata:
annotations: annotations:
controller-gen.kubebuilder.io/version: v0.4.1 controller-gen.kubebuilder.io/version: v0.5.0
{{- if .Values.crdAnnotations }} {{- if .Values.crdAnnotations }}
{{- toYaml .Values.crdAnnotations | nindent 4 }} {{- toYaml .Values.crdAnnotations | nindent 4 }}
{{- end }} {{- end }}
labels: labels:
app.kubernetes.io/name: argo-rollouts app.kubernetes.io/name: argo-rollouts

View file

@ -3,9 +3,9 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition kind: CustomResourceDefinition
metadata: metadata:
annotations: annotations:
controller-gen.kubebuilder.io/version: v0.4.1 controller-gen.kubebuilder.io/version: v0.5.0
{{- if .Values.crdAnnotations }} {{- if .Values.crdAnnotations }}
{{- toYaml .Values.crdAnnotations | nindent 4 }} {{- toYaml .Values.crdAnnotations | nindent 4 }}
{{- end }} {{- end }}
labels: labels:
app.kubernetes.io/name: argo-rollouts app.kubernetes.io/name: argo-rollouts
@ -32,11 +32,13 @@ spec:
jsonPath: .status.replicas jsonPath: .status.replicas
name: Current name: Current
type: integer type: integer
- description: Total number of non-terminated pods targeted by this rollout that have the desired template spec - description: Total number of non-terminated pods targeted by this rollout that
have the desired template spec
jsonPath: .status.updatedReplicas jsonPath: .status.updatedReplicas
name: Up-to-date name: Up-to-date
type: integer type: integer
- description: Total number of available pods (ready for at least minReadySeconds) targeted by this rollout - description: Total number of available pods (ready for at least minReadySeconds)
targeted by this rollout
jsonPath: .status.availableReplicas jsonPath: .status.availableReplicas
name: Available name: Available
type: integer type: integer
@ -303,6 +305,12 @@ spec:
- type: integer - type: integer
- type: string - type: string
x-kubernetes-int-or-string: true x-kubernetes-int-or-string: true
scaleDownDelayRevisionLimit:
format: int32
type: integer
scaleDownDelaySeconds:
format: int32
type: integer
stableMetadata: stableMetadata:
properties: properties:
annotations: annotations:
@ -490,6 +498,15 @@ spec:
- ingress - ingress
- servicePort - servicePort
type: object type: object
ambassador:
properties:
mappings:
items:
type: string
type: array
required:
- mappings
type: object
istio: istio:
properties: properties:
destinationRule: destinationRule:
@ -2651,9 +2668,15 @@ spec:
- containers - containers
type: object type: object
type: object type: object
required: workloadRef:
- selector properties:
- template apiVersion:
type: string
kind:
type: string
name:
type: string
type: object
type: object type: object
status: status:
properties: properties:
@ -2768,6 +2791,8 @@ spec:
currentStepIndex: currentStepIndex:
format: int32 format: int32
type: integer type: integer
message:
type: string
observedGeneration: observedGeneration:
type: string type: string
pauseConditions: pauseConditions:
@ -2783,6 +2808,8 @@ spec:
- startTime - startTime
type: object type: object
type: array type: array
phase:
type: string
promoteFull: promoteFull:
type: boolean type: boolean
readyReplicas: readyReplicas:

View file

@ -3,7 +3,6 @@ installCRDs: true
clusterInstall: true clusterInstall: true
controller: controller:
name: argo-rollouts
component: rollouts-controller component: rollouts-controller
## Node selectors and tolerations for server scheduling to nodes with taints ## Node selectors and tolerations for server scheduling to nodes with taints
## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ ## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
@ -12,8 +11,9 @@ controller:
tolerations: [] tolerations: []
affinity: {} affinity: {}
image: image:
registry: quay.io
repository: argoproj/argo-rollouts repository: argoproj/argo-rollouts
tag: v0.10.2 tag: ""
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
resources: {} resources: {}
@ -25,13 +25,20 @@ controller:
# memory: 64Mi # memory: 64Mi
metrics: metrics:
enabled: false
serviceMonitor: serviceMonitor:
enabled: false enabled: false
additionalLabels: {} additionalLabels: {}
additionalAnnotations: {} additionalAnnotations: {}
serviceAccount: serviceAccount:
name: argo-rollouts # Specifies whether a service account should be created
create: true
# Annotations to add to the service account
annotations: {}
# The name of the service account to use.
# If not set and create is true, a name is generated using the fullname template
name: ""
## Annotations to be added to all CRDs ## Annotations to be added to all CRDs
## ##
@ -41,6 +48,21 @@ crdAnnotations: {}
## ##
podAnnotations: {} podAnnotations: {}
## Security Context to set on pod level
##
podSecurityContext:
runAsNonRoot: true
## Security Context to set on container level
##
containerSecurityContext: {}
# capabilities:
# drop:
# - ALL
# readOnlyRootFilesystem: true
# runAsNonRoot: true
# runAsUser: 1000
## Annotations to be added to the Rollout service ## Annotations to be added to the Rollout service
## ##
serviceAnnotations: {} serviceAnnotations: {}

View file

@ -2,7 +2,7 @@ apiVersion: v2
name: argo-workflows name: argo-workflows
description: A Helm chart for Argo Workflows description: A Helm chart for Argo Workflows
type: application type: application
version: 0.1.5 version: 0.2.2
appVersion: "v3.0.2" appVersion: "v3.0.2"
icon: https://raw.githubusercontent.com/argoproj/argo-workflows/master/docs/assets/argo.png icon: https://raw.githubusercontent.com/argoproj/argo-workflows/master/docs/assets/argo.png
home: https://github.com/argoproj/argo-helm home: https://github.com/argoproj/argo-helm

View file

@ -26,9 +26,17 @@ 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). We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
*/}} */}}
{{- define "argo-workflows.fullname" -}} {{- define "argo-workflows.fullname" -}}
{{- if .Values.fullnameOverride -}}
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
{{- else -}}
{{- $name := default .Chart.Name .Values.nameOverride -}} {{- $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 "-" -}} {{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
{{- end -}} {{- end -}}
{{- end -}}
{{- end -}}
{{/* {{/*
Create chart name and version as used by the chart label. Create chart name and version as used by the chart label.

View file

@ -70,7 +70,7 @@ spec:
apiVersion: v1 apiVersion: v1
fieldPath: metadata.name fieldPath: metadata.name
{{- with .Values.controller.extraEnv }} {{- with .Values.controller.extraEnv }}
{{ toYaml . | nindent 10 }} {{- toYaml . | nindent 12 }}
{{- end }} {{- end }}
resources: resources:
{{- toYaml .Values.controller.resources | nindent 12 }} {{- toYaml .Values.controller.resources | nindent 12 }}

View file

@ -60,15 +60,18 @@ spec:
initialDelaySeconds: 10 initialDelaySeconds: 10
periodSeconds: 20 periodSeconds: 20
env: env:
- name: IN_CLUSTER - name: IN_CLUSTER
value: "true" value: "true"
- name: ARGO_NAMESPACE - name: ARGO_NAMESPACE
valueFrom: valueFrom:
fieldRef: fieldRef:
apiVersion: v1 apiVersion: v1
fieldPath: metadata.namespace fieldPath: metadata.namespace
- name: BASE_HREF - name: BASE_HREF
value: {{ .Values.server.baseHref | quote }} value: {{ .Values.server.baseHref | quote }}
{{- with .Values.server.extraEnv }}
{{- toYaml . | nindent 12 }}
{{- end }}
resources: resources:
{{- toYaml .Values.server.resources | nindent 12 }} {{- toYaml .Values.server.resources | nindent 12 }}
volumeMounts: volumeMounts:

View file

@ -120,9 +120,13 @@ controller:
# service type `LoadBalancer` # service type `LoadBalancer`
loadBalancerSourceRanges: [] loadBalancerSourceRanges: []
resources: {} resources: {}
# The list of environment variable definitions to be added to the controller
# manages container verbatim. ## Extra environment variables to provide to the controller container
## extraEnv:
## - name: FOO
## value: "bar"
extraEnv: [] extraEnv: []
# Extra arguments to be added to the controller # Extra arguments to be added to the controller
extraArgs: [] extraArgs: []
replicas: 1 replicas: 1
@ -226,6 +230,12 @@ server:
# https://argoproj.github.io/argo-workflows/tls/ # https://argoproj.github.io/argo-workflows/tls/
secure: false secure: false
## Extra environment variables to provide to the argo-server container
## extraEnv:
## - name: FOO
## value: "bar"
extraEnv: []
# Extra arguments to provide to the Argo server binary. # Extra arguments to provide to the Argo server binary.
extraArgs: [] extraArgs: []
@ -257,6 +267,14 @@ server:
# backend: # backend:
# serviceName: ssl-redirect # serviceName: ssl-redirect
# servicePort: use-annotation # servicePort: use-annotation
## for Kubernetes >=1.19 (when "networking.k8s.io/v1" is used)
# - path: /*
# pathType: Prefix
# backend:
# service
# name: ssl-redirect
# port:
# name: use-annotation
tls: tls:
[] []
# - secretName: argocd-example-tls # - secretName: argocd-example-tls