feat(argo-rollouts): Add possibility to configure healthz and metrics ports to be compatible with Istio (#1976)

pull/2067/head^2 argo-rollouts-2.29.0
Yevhen Tienkaiev 2023-05-20 18:39:17 +03:00 committed by GitHub
parent 5766533626
commit b651465fb2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 26 additions and 10 deletions

View File

@ -2,7 +2,7 @@ apiVersion: v2
appVersion: v1.5.0
description: A Helm chart for Argo Rollouts
name: argo-rollouts
version: 2.28.0
version: 2.29.0
home: https://github.com/argoproj/argo-helm
icon: https://argoproj.github.io/argo-rollouts/assets/logo.png
keywords:
@ -18,7 +18,5 @@ annotations:
fingerprint: 2B8F22F57260EFA67BE1C5824B11F800CD9D2252
url: https://argoproj.github.io/argo-helm/pgp_keys.asc
artifacthub.io/changes: |
- kind: changed
description: Upgrade Argo Rollouts to v1.5.0
- kind: added
description: Introduce chart signing
description: Ability to configure healthz and metrics ports to be compatible with Istio

View File

@ -75,6 +75,8 @@ For full list of changes please check ArtifactHub [changelog].
| containerSecurityContext | object | `{}` | Security Context to set on container level |
| controller.affinity | object | `{}` | Assign custom [affinity] rules to the deployment |
| controller.component | string | `"rollouts-controller"` | Value of label `app.kubernetes.io/component` |
| controller.containerPorts.healthz | int | `8080` | Healthz container port |
| controller.containerPorts.metrics | int | `8090` | Metrics container port |
| controller.createClusterRole | bool | `true` | flag to enable creation of cluster controller role (requires cluster RBAC) |
| 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. |
@ -87,6 +89,8 @@ For full list of changes please check ArtifactHub [changelog].
| controller.livenessProbe | object | See [values.yaml] | Configure liveness [probe] for the controller |
| controller.metricProviderPlugins | object | `{}` | Configures 3rd party metric providers for controller |
| controller.metrics.enabled | bool | `false` | Deploy metrics service |
| controller.metrics.service.port | int | `8090` | Metrics service port |
| controller.metrics.service.portName | string | `"metrics"` | Metrics service port name |
| 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 |

View File

@ -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.containerPorts.healthz }}
- --metricsport={{ .Values.controller.containerPorts.metrics }}
{{- if not .Values.clusterInstall }}
- --namespaced
{{- end }}
@ -53,9 +55,9 @@ spec:
imagePullPolicy: {{ .Values.controller.image.pullPolicy }}
name: argo-rollouts
ports:
- containerPort: 8090
- containerPort: {{ .Values.controller.containerPorts.metrics }}
name: metrics
- containerPort: 8080
- containerPort: {{ .Values.controller.containerPorts.healthz }}
name: healthz
livenessProbe:
{{- toYaml .Values.controller.livenessProbe | nindent 10 }}

View File

@ -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: metrics
selector:
app.kubernetes.io/component: {{ .Values.controller.component }}
{{- include "argo-rollouts.selectorLabels" . | nindent 4 }}

View File

@ -16,7 +16,7 @@ metadata:
{{- end }}
spec:
endpoints:
- port: metrics
- port: {{ .Values.controller.metrics.service.portName }}
{{- with .Values.controller.metrics.serviceMonitor.relabelings }}
relabelings:
{{- toYaml . | nindent 6 }}

View File

@ -106,9 +106,21 @@ controller:
# -- flag to enable creation of cluster controller role (requires cluster RBAC)
createClusterRole: true
# Controller container ports
containerPorts:
# -- Metrics container port
metrics: 8090
# -- Healthz container port
healthz: 8080
metrics:
# -- Deploy metrics service
enabled: false
service:
# -- Metrics service port name
portName: metrics
# -- Metrics service port
port: 8090
serviceMonitor:
# -- Enable a prometheus ServiceMonitor
enabled: false