argocd-helm/charts/argo-workflows/README.md.gotmpl
Prateek Khera 5112c77824
feat(argo-workflows): Add mainContainer config in configmap (#1310)
* Specify logformat for Argo-CD notifications component (#1303)

* Add: Specify logformat for Argo-CD notifications component

Signed-off-by: Nicolas Lamirault <nicolas.lamirault@gmail.com>

* Update: Chart changelog

Signed-off-by: Nicolas Lamirault <nicolas.lamirault@gmail.com>

* Fix: documentation

Signed-off-by: Nicolas Lamirault <nicolas.lamirault@gmail.com>
Signed-off-by: Prateek Khera <mail.prateekkhera@gmail.com>

* feat(argo-rollouts): readonly dashboard (#1304)

* feat-argo-rollouts-readonly-dashboard

Signed-off-by: foxtel-temujincabigao
<86087373+foxtel-temujincabigao@users.noreply.github.com>"
Signed-off-by: foxtel-temujincabigao <86087373+foxtel-temujincabigao@users.noreply.github.com>

* fixing readme values version link

Signed-off-by: foxtel-temujincabigao
<86087373+foxtel-temujincabigao@users.noreply.github.com>
Signed-off-by: foxtel-temujincabigao <86087373+foxtel-temujincabigao@users.noreply.github.com>

Co-authored-by: Marco Kilchhofer <mkilchhofer@users.noreply.github.com>
Signed-off-by: Prateek Khera <mail.prateekkhera@gmail.com>

* fix(argo-workflows): Remove unsupported value (#1302)

* fix(argo-workflows): Add comment about removed flag

Signed-off-by: yu-croco <yuki.kita22@gmail.com>

* fix(argo-workflows): Remove unsupported value
Signed-off-by: yu-croco <yuki.kita22@gmail.com>
Signed-off-by: Prateek Khera <mail.prateekkhera@gmail.com>

* add mainContainer config in configmap

Signed-off-by: Prateek Khera <mail.prateekkhera@gmail.com>

* update version

Signed-off-by: Prateek Khera <mail.prateekkhera@gmail.com>

* add mainContainer to values

Signed-off-by: Prateek Khera <mail.prateekkhera@gmail.com>

* add mainContainer to readme

Signed-off-by: Prateek Khera <mail.prateekkhera@gmail.com>

* add changelog

Signed-off-by: Prateek Khera <mail.prateekkhera@gmail.com>

* add Workflow Main Container key

Signed-off-by: Prateek Khera <mail.prateekkhera@gmail.com>

* fix(argo-cd): AppSet and Notifications respect global.podAnnotations (#1308)

Signed-off-by: Marco Kilchhofer <mkilchhofer@users.noreply.github.com>
Signed-off-by: Prateek Khera <mail.prateekkhera@gmail.com>

* feat(argo-cd): support separate imagePullSecrets (#1311)

Signed-off-by: yu-croco <yuki.kita22@gmail.com>

Co-authored-by: Marco Kilchhofer <mkilchhofer@users.noreply.github.com>
Signed-off-by: Prateek Khera <mail.prateekkhera@gmail.com>

* chore: Update some tools' version on GitHub Actions (#1312)

Signed-off-by: yu-croco <yuki.kita22@gmail.com>
Signed-off-by: Prateek Khera <mail.prateekkhera@gmail.com>

* chore(CODEOWNERS): Add jmeridth as approver (#1271)

Signed-off-by: jmeridth <jmeridth@gmail.com>

Co-authored-by: Marco Kilchhofer <mkilchhofer@users.noreply.github.com>
Signed-off-by: Prateek Khera <mail.prateekkhera@gmail.com>

* feat(argo-cd): Support annotations in argocd-configs secrets (#1314)

* feat(argo-cd): support annotations in argocd-configs secrets
Signed-off-by: yu-croco <yuki.kita22@gmail.com>

* fix(argo-cd): align to exitsing format

Signed-off-by: yu-croco <yuki.kita22@gmail.com>
Signed-off-by: Prateek Khera <mail.prateekkhera@gmail.com>

* add new line to fix failed liniting

Signed-off-by: Prateek Khera <mail.prateekkhera@gmail.com>

* remove auto-generating readme

Signed-off-by: Prateek Khera <mail.prateekkhera@gmail.com>

* match readme as per the comment in values file

Signed-off-by: Prateek Khera <mail.prateekkhera@gmail.com>

* add image pullpolicy to values.yaml

Signed-off-by: Prateek Khera <mail.prateekkhera@gmail.com>

* add image pullpolicy to values.yaml

Signed-off-by: Prateek Khera <mail.prateekkhera@gmail.com>

* add image pullpolicy to readme

Signed-off-by: Prateek Khera <mail.prateekkhera@gmail.com>

* fix ordering in readme

Signed-off-by: Prateek Khera <mail.prateekkhera@gmail.com>

* Exclude "mainContainer" prefix from General parameters

Signed-off-by: Marco Kilchhofer <mkilchhofer@users.noreply.github.com>

Co-authored-by: Nicolas Lamirault <nicolas.lamirault@gmail.com>
Co-authored-by: foxtel-temujincabigao <86087373+foxtel-temujincabigao@users.noreply.github.com>
Co-authored-by: Marco Kilchhofer <mkilchhofer@users.noreply.github.com>
Co-authored-by: Aikawa <yuki.kita22@gmail.com>
Co-authored-by: Prateek Khera <mail.prateekkhera@gmail.com>
Co-authored-by: JM" (Jason Meridth) <jmeridth@gmail.com>
2022-06-10 17:50:01 +01:00

136 lines
7 KiB
Go Template

# Argo Workflows Chart
This is a **community maintained** chart. It is used to set up argo and its needed dependencies through one command. This is used in conjunction with [helm](https://github.com/kubernetes/helm).
If you want your deployment of this helm chart to most closely match the [argo CLI](https://github.com/argoproj/argo-workflows), you should deploy it in the `kube-system` namespace.
## Pre-Requisites
This chart uses an install hook to configure the CRD definition. Installation of CRDs is a somewhat privileged process in itself and in RBAC enabled clusters the `default` service account for namespaces does not typically have the ability to create these.
A few options are:
- Manually create a ServiceAccount in the Namespace in which your release will be deployed w/ appropriate bindings to perform this action and set the `serviceAccountName` field in the Workflow spec
- Augment the `default` ServiceAccount permissions in the Namespace in which your Release is deployed to have the appropriate permissions
## Usage Notes
### Workflow controller
This chart defaults to setting the `controller.instanceID.enabled` to `false` now, which means the deployed controller will act upon any workflow deployed to the cluster. If you would like to limit the behavior and deploy multiple workflow controllers, please use the `controller.instanceID.enabled` attribute along with one of its configuration options to set the `instanceID` of the workflow controller to be properly scoped for your needs.
### Workflow server authentication
By default, the chart requires some kind of authentication mechanism. This adopts the [default behaviour from the Argo project](https://github.com/argoproj/argo-workflows/pull/5211) itself. However, for local development purposes, or cases where your gateway authentication is covered by some other means, you can set the authentication mode for the Argo server by setting the `server.extraArgs: [--auth-mode=server]`. There are a few additional comments in the values.yaml file itself, including commented-out settings to disable authentication on the server UI itself using the same `--auth-mode=server` setting.
## Values
The `values.yaml` contains items used to tweak a deployment of this chart.
Fields to note:
- `controller.instanceID.enabled`: If set to true, the Argo Controller will **ONLY** monitor Workflow submissions with a `--instanceid` attribute
- `controller.instanceID.useReleaseName`: If set to true then chart set controller instance id to release name
- `controller.instanceID.explicitID`: Allows customization of an instance id for the workflow controller to monitor
- `singleNamespace`: When true, restricts the workflow controller to operate
in just the single namespace (that one of the Helm release).
- `controller.workflowNamespaces`: This is a list of namespaces where the
workflow controller will manage workflows. Only valid when `singleNamespace`
is false.
### General parameters
| Key | Type | Default | Description |
|-----|------|---------|-------------|
{{- range .Values }}
{{- if not (or (hasPrefix "workflow" .Key) (hasPrefix "controller" .Key) (hasPrefix "executor" .Key) (hasPrefix "server" .Key) (hasPrefix "artifactRepository" .Key) (hasPrefix "use" .Key) (hasPrefix "mainContainer" .Key) ) }}
| {{ .Key }} | {{ .Type }} | {{ if .Default }}{{ .Default }}{{ else }}{{ .AutoDefault }}{{ end }} | {{ if .Description }}{{ .Description }}{{ else }}{{ .AutoDescription }}{{ end }} |
{{- end }}
{{- end }}
### Workflow
| Key | Type | Default | Description |
|-----|------|---------|-------------|
{{- range .Values }}
{{- if hasPrefix "workflow" .Key }}
| {{ .Key }} | {{ .Type }} | {{ if .Default }}{{ .Default }}{{ else }}{{ .AutoDefault }}{{ end }} | {{ if .Description }}{{ .Description }}{{ else }}{{ .AutoDescription }}{{ end }} |
{{- end }}
{{- end }}
### Workflow Controller
| Key | Type | Default | Description |
|-----|------|---------|-------------|
{{- range .Values }}
{{- if hasPrefix "controller" .Key }}
| {{ .Key }} | {{ .Type }} | {{ if .Default }}{{ .Default }}{{ else }}{{ .AutoDefault }}{{ end }} | {{ if .Description }}{{ .Description }}{{ else }}{{ .AutoDescription }}{{ end }} |
{{- end }}
{{- end }}
### Workflow Main Container
| Key | Type | Default | Description |
|-----|------|---------|-------------|
{{- range .Values }}
{{- if hasPrefix "mainContainer" .Key }}
| {{ .Key }} | {{ .Type }} | {{ if .Default }}{{ .Default }}{{ else }}{{ .AutoDefault }}{{ end }} | {{ if .Description }}{{ .Description }}{{ else }}{{ .AutoDescription }}{{ end }} |
{{- end }}
{{- end }}
### Workflow Executor
| Key | Type | Default | Description |
|-----|------|---------|-------------|
{{- range .Values }}
{{- if hasPrefix "executor" .Key }}
| {{ .Key }} | {{ .Type }} | {{ if .Default }}{{ .Default }}{{ else }}{{ .AutoDefault }}{{ end }} | {{ if .Description }}{{ .Description }}{{ else }}{{ .AutoDescription }}{{ end }} |
{{- end }}
{{- end }}
### Workflow Server
| Key | Type | Default | Description |
|-----|------|---------|-------------|
{{- range .Values }}
{{- if hasPrefix "server" .Key }}
| {{ .Key }} | {{ .Type }} | {{ if .Default }}{{ .Default }}{{ else }}{{ .AutoDefault }}{{ end }} | {{ if .Description }}{{ .Description }}{{ else }}{{ .AutoDescription }}{{ end }} |
{{- end }}
{{- end }}
### Artifact Repository
| Key | Type | Default | Description |
|-----|------|---------|-------------|
{{- range .Values }}
{{- if or (hasPrefix "artifactRepository" .Key) (hasPrefix "use" .Key) }}
| {{ .Key }} | {{ .Type }} | {{ if .Default }}{{ .Default }}{{ else }}{{ .AutoDefault }}{{ end }} | {{ if .Description }}{{ .Description }}{{ else }}{{ .AutoDescription }}{{ end }} |
{{- end }}
{{- end }}
## Breaking changes from the deprecated `argo` chart
1. the `installCRD` value has been removed. CRDs are now only installed from the conventional crds/ directory
1. the CRDs were updated to `apiextensions.k8s.io/v1`
1. the container image registry/project/tag format was changed to be more in line with the more common
```yaml
image:
registry: quay.io
repository: argoproj/argocli
tag: v3.0.1
```
this also makes it easier for automatic update tooling (eg. renovate bot) to detect and update images.
1. switched to quay.io as the default registry for all images
1. removed any included usage of Minio
1. aligned the configuration of serviceAccounts with the argo-cd chart, ie: what used to be `server.createServiceAccount` is now `server.serviceAccount.create`
1. moved the field previously known as `telemetryServicePort` inside the `telemetryConfig` as `telemetryConfig.servicePort` - same for `metricsConfig`
[affinity]: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
[links]: https://argoproj.github.io/argo-workflows/links/
[Node selector]: https://kubernetes.io/docs/user-guide/node-selection/
[Pod Disruption Budget]: https://kubernetes.io/docs/tasks/run-application/configure-pdb/
[probe]: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes
[Tolerations]: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
[values.yaml]: values.yaml