diff --git a/charts/argo-rollouts/Chart.yaml b/charts/argo-rollouts/Chart.yaml index 376cd8ce..29368618 100644 --- a/charts/argo-rollouts/Chart.yaml +++ b/charts/argo-rollouts/Chart.yaml @@ -15,5 +15,7 @@ maintainers: url: https://argoproj.github.io/ annotations: artifacthub.io/changes: | + - kind: added + description: Ability to configure metrics and healthz ports - kind: added description: Ability to provide additional volumes and volumeMounts diff --git a/charts/argo-rollouts/README.md b/charts/argo-rollouts/README.md index 56a79852..4256f3f3 100644 --- a/charts/argo-rollouts/README.md +++ b/charts/argo-rollouts/README.md @@ -79,6 +79,8 @@ For full list of changes please check ArtifactHub [changelog]. | controller.extraArgs | list | `[]` | Additional command line arguments to pass to rollouts-controller. A list of flags. | | controller.extraContainers | list | `[]` | Literal yaml for extra containers to be added to controller deployment. | | controller.extraEnv | list | `[]` | Additional environment variables for rollouts-controller. A list of name/value maps. | +| controller.healthz.port | int | `8080` | | +| controller.healthz.portName | string | `"healthz"` | | | 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 | @@ -86,6 +88,9 @@ For full list of changes please check ArtifactHub [changelog]. | controller.initContainers | list | `[]` | Init containers to add to the rollouts controller pod | | controller.livenessProbe | object | See [values.yaml] | Configure liveness [probe] for the controller | | controller.metrics.enabled | bool | `false` | Deploy metrics service | +| controller.metrics.service.port | int | `8090` | | +| controller.metrics.service.portName | string | `"metrics"` | | +| controller.metrics.service.targetPort | int | `8090` | | | controller.metrics.serviceMonitor.additionalAnnotations | object | `{}` | Annotations to be added to the ServiceMonitor | | controller.metrics.serviceMonitor.additionalLabels | object | `{}` | Labels to be added to the ServiceMonitor | | controller.metrics.serviceMonitor.enabled | bool | `false` | Enable a prometheus ServiceMonitor | diff --git a/charts/argo-rollouts/templates/controller/deployment.yaml b/charts/argo-rollouts/templates/controller/deployment.yaml index 95ec845f..b48a4a64 100644 --- a/charts/argo-rollouts/templates/controller/deployment.yaml +++ b/charts/argo-rollouts/templates/controller/deployment.yaml @@ -37,6 +37,8 @@ spec: containers: - image: "{{ .Values.controller.image.registry }}/{{ .Values.controller.image.repository }}:{{ default .Chart.AppVersion .Values.controller.image.tag }}" args: + - --healthzPort={{ .Values.controller.healthz.port }} + - --metricsport={{ .Values.controller.metrics.service.port }} {{- if not .Values.clusterInstall }} - --namespaced {{- end }} @@ -53,10 +55,10 @@ spec: imagePullPolicy: {{ .Values.controller.image.pullPolicy }} name: argo-rollouts ports: - - containerPort: 8090 - name: metrics - - containerPort: 8080 - name: healthz + - containerPort: {{ .Values.controller.metrics.service.port }} + name: {{ .Values.controller.metrics.service.portName }} + - containerPort: {{ .Values.controller.healthz.port }} + name: {{ .Values.controller.healthz.portName }} livenessProbe: {{- toYaml .Values.controller.livenessProbe | nindent 10 }} readinessProbe: diff --git a/charts/argo-rollouts/templates/controller/metrics-service.yaml b/charts/argo-rollouts/templates/controller/metrics-service.yaml index 0effcc23..ffcd1cb0 100644 --- a/charts/argo-rollouts/templates/controller/metrics-service.yaml +++ b/charts/argo-rollouts/templates/controller/metrics-service.yaml @@ -13,10 +13,10 @@ metadata: {{- end }} spec: ports: - - name: metrics + - name: {{ .Values.controller.metrics.service.portName }} protocol: TCP - port: 8090 - targetPort: 8090 + port: {{ .Values.controller.metrics.service.port }} + targetPort: {{ .Values.controller.metrics.service.targetPort }} selector: app.kubernetes.io/component: {{ .Values.controller.component }} {{- include "argo-rollouts.selectorLabels" . | nindent 4 }} diff --git a/charts/argo-rollouts/templates/controller/servicemonitor.yaml b/charts/argo-rollouts/templates/controller/servicemonitor.yaml index f64dc328..67690acb 100644 --- a/charts/argo-rollouts/templates/controller/servicemonitor.yaml +++ b/charts/argo-rollouts/templates/controller/servicemonitor.yaml @@ -16,7 +16,7 @@ metadata: {{- end }} spec: endpoints: - - port: metrics + - port: {{ .Values.controller.metrics.service.portName }} namespaceSelector: matchNames: - {{ .Release.Namespace }} diff --git a/charts/argo-rollouts/values.yaml b/charts/argo-rollouts/values.yaml index e451602f..c383bdd3 100644 --- a/charts/argo-rollouts/values.yaml +++ b/charts/argo-rollouts/values.yaml @@ -106,9 +106,17 @@ controller: # -- flag to enable creation of cluster controller role (requires cluster RBAC) createClusterRole: true + healthz: + portName: healthz + port: 8080 + metrics: # -- Deploy metrics service enabled: false + service: + portName: metrics + port: 8090 + targetPort: 8090 serviceMonitor: # -- Enable a prometheus ServiceMonitor enabled: false