![]() * Fix service name for ingress rollouts dashboard Signed-off-by: Sergey Shaykhullin <sergeyshaykhullin@gmail.com> * Update Chart.yaml Signed-off-by: Sergey Shaykhullin <sergeyshaykhullin@gmail.com> * Fix it centrally Signed-off-by: Marco Kilchhofer <mkilchhofer@users.noreply.github.com> Co-authored-by: Marco Kilchhofer <mkilchhofer@users.noreply.github.com> |
||
---|---|---|
.. | ||
ci | ||
templates | ||
.helmignore | ||
Chart.yaml | ||
README.md | ||
values.yaml |
Argo Rollouts Chart
A Helm chart for Argo Rollouts, progressive delivery for Kubernetes.
Source code can be found here
Additional Information
This is a community maintained chart. This chart installs argo-rollouts, progressive delivery for Kubernetes.
The default installation is intended to be similar to the provided Argo Rollouts releases.
Prerequisites
- Kubernetes 1.7+
- Helm v3.0.0+
Installing the Chart
To install the chart with the release name my-release
:
$ helm repo add argo https://argoproj.github.io/argo-helm
$ helm install my-release argo/argo-rollouts
UI Dashboard
If dashboard is installed by --set dashboard.enabled=true
, checkout the argo-rollouts dashboard by
kubectl port-forward service/argo-rollouts-dashboard 31000:3100
and pointing the browser to localhost:31000
⚠️ WARNING when the Service type is set to LoadBalancer or NodePort |
---|
The chart provides an option to change the service type (dashboard.service.type ). Also it provides the ability to expose the dashboard via Ingress. Dashboard was never intended to be exposed as an administrative console -- it started out as a local view available via CLI. It should be protected by something (e.g. network access or even better an oauth proxy). |
Chart Values
Key | Type | Default | Description |
---|---|---|---|
apiVersionOverrides.ingress | string | "" |
String to override apiVersion of ingresses rendered by this helm chart |
clusterInstall | bool | true |
false runs controller in namespaced mode (does not require cluster RBAC) |
controller.component | string | "rollouts-controller" |
Value of label app.kubernetes.io/component |
controller.image.pullPolicy | string | "IfNotPresent" |
Image pull policy |
controller.image.registry | string | quay.io |
Registry to use |
controller.image.repository | string | "argoproj/argo-rollouts" |
Repository to use |
controller.image.tag | string | "" |
Overrides the image tag (default is the chart appVersion) |
controller.extraArgs | list | [] |
Additional arguments for the controller. A list of flags. |
controller.extraContainers | list | [] |
Literal yaml for extra containers to be added to controller deployment. |
controller.resources | object | {} |
Resource limits and requests for the controller pods. |
controller.tolerations | list | [] |
Tolerations for use with node taints |
controller.affinity | object | {} |
Assign custom affinity rules to the deployment |
controller.nodeSelector | object | {} |
Node selector |
controller.metrics.enabled | bool | false |
Deploy metrics service |
controller.metrics.serviceMonitor.enabled | bool | false |
Enable a prometheus ServiceMonitor |
controller.metrics.serviceMonitor.additionalAnnotations | object | {} |
Annotations to be added to the ServiceMonitor |
controller.metrics.serviceMonitor.additionalLabels | object | {} |
Labels to be added to the ServiceMonitor |
imagePullSecrets | list | [] |
Registry secret names as an array |
installCRDs | bool | true |
Install and upgrade CRDs |
keepCRDs | bool | true |
Keep CRD's on helm uninstall |
kubeVersionOverride | string | "" |
Override the Kubernetes version, which is used to evaluate certain manifests |
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 |
dashboard.enabled | bool | false |
Deploy dashboard server |
dashboard.component | string | "rollouts-dashboard" |
Value of label app.kubernetes.io/component |
dashboard.image.pullPolicy | string | "IfNotPresent" |
Image pull policy |
dashboard.image.registry | string | quay.io |
Registry to use |
dashboard.image.repository | string | "argoproj/kubectl-argo-rollouts" |
Repository to use |
dashboard.image.tag | string | "" |
Overrides the image tag (default is the chart appVersion) |
dashboard.extraArgs | list | [] |
Additional arguments for the dashboard. A list of flags. |
dashboard.resources | object | {} |
Resource limits and requests for the dashboard pods. |
dashboard.service.externalIPs | list | [] |
Dashboard service external IPs |
dashboard.service.loadBalancerIP | string | "" |
LoadBalancer will get created with the IP specified in this field |
dashboard.service.loadBalancerSourceRanges | list | [] |
Source IP ranges to allow access to service from |
dashboard.service.type | string | ClusterIP |
Sets the type of the Service |
dashboard.tolerations | list | [] |
Tolerations for use with node taints |
dashboard.affinity | object | {} |
Assign custom affinity rules to the deployment |
dashboard.nodeSelector | object | {} |
Node selector |
dashboard.podSecurityContext | object | {"runAsNonRoot": true} |
Security Context to set on pod level |
dashboard.containerSecurityContext | object | {} |
Security Context to set on container level |
dashboard.serviceAccount.create | bool | true |
Specifies whether a dashboard service account should be created |
dashboard.serviceAccount.annotations | object | {} |
Annotations to add to the dashboard service account |
dashboard.serviceAccount.name | string | "" |
The name of the dashboard service account to use. If not set and create is true, a name is generated using the fullname template |
dashboard.service.annotations | object | {} |
Dashboard service annotations |
dashboard.service.labels | object | {} |
Dashboard service labels |
dashboard.service.portName | string | dashboard |
Dashboard service port name |
dashboard.service.port | int | 3100 |
Dashboard service port |
dashboard.service.targetPort | int | 3100 |
Dashboard service target port |
dashboard.ingress.enabled | bool | false |
Enable dashboard ingress support |
dashboard.ingress.annotations | object | {} |
Dashboard ingress annotations |
dashboard.ingress.labels | object | {} |
Dashboard ingress labels |
dashboard.ingress.ingressClassName | string | "" |
Dashboard ingress class name |
dashboard.ingress.hosts | list | [] |
Dashboard ingress hosts |
dashboard.ingress.paths | list | ["/"] |
Dashboard ingress paths |
dashboard.ingress.pathType | string | Prefix |
Dashboard ingress path type |
dashboard.ingress.extraPaths | list | [] |
Dashboard ingress extra paths |
dashboard.ingress.tls | list | [] |
Dashboard ingress tls |
Upgrading
To 2.0.0
- The argo-rollouts dashboard is added to the template and can be enabled by setting
dashboard.enabled=true
. - There is a breaking change where the selector label
app.kubernetes.io/component: {{ .Values.controller.component }}
is added to rollout's deployment and service in order to distinguish between the controller and the dashboard component. To upgrade an existing installation, please add the--force
parameter to thehelm upgrade
command or delete the Deployment and Service resource before you upgrade. This is necessary because Deployment's label selector is immutable.
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. This tool will convert the existing ConfigMap used for Tiller to a Secret of typehelm.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 thehelm 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 thenameOverride
andfullnameOverride
parameters. - Breaking parameters update
securityContext
was renamed tocontainerSecurityContext
- Added
controller.image.registry
. Prior to this chart version you had to override the registry viacontroller.image.repository