From 88db919916263460ea87fb21983296ed4e0e797b Mon Sep 17 00:00:00 2001 From: Johannes Scheerer Date: Tue, 18 Feb 2025 16:04:23 +0100 Subject: [PATCH] Make extension ports configurable via helm values --- .../templates/deployment.yaml | 16 +++++++--------- .../templates/service.yaml | 8 ++++---- .../values.yaml | 13 +++++++++---- 3 files changed, 20 insertions(+), 17 deletions(-) diff --git a/charts/gardener-extension-provider-openstack/templates/deployment.yaml b/charts/gardener-extension-provider-openstack/templates/deployment.yaml index 23344abf8..c7c46d6d8 100644 --- a/charts/gardener-extension-provider-openstack/templates/deployment.yaml +++ b/charts/gardener-extension-provider-openstack/templates/deployment.yaml @@ -31,7 +31,7 @@ spec: prometheus.io/name: "{{ .Release.Name }}" prometheus.io/scrape: "true" # default metrics endpoint in controller-runtime - prometheus.io/port: "{{ .Values.metricsPort }}" + prometheus.io/port: "{{ tpl .Values.metricsPort . }}" {{- end }} labels: {{ include "labels" . | indent 8 }} @@ -67,7 +67,7 @@ spec: - --worker-max-concurrent-reconciles={{ .Values.controllers.worker.concurrentSyncs }} - --webhook-config-namespace={{ .Release.Namespace }} - --webhook-config-service-port={{ .Values.webhookConfig.servicePort }} - - --webhook-config-server-port={{ .Values.webhookConfig.serverPort }} + - --webhook-config-server-port={{ tpl .Values.webhookConfig.serverPort . }} {{- if .Values.gardener.runtimeCluster.enabled }} - --controllers=backupbucket,dnsrecord - --disable-webhooks="*" @@ -76,10 +76,8 @@ spec: - --disable-controllers={{ .Values.disableControllers | join "," }} - --disable-webhooks={{ .Values.disableWebhooks | join "," }} {{- end }} - {{- if .Values.metricsPort }} - - --metrics-bind-address=:{{ .Values.metricsPort }} - {{- end }} - - --health-bind-address=:{{ .Values.healthPort }} + - --metrics-bind-address=:{{ tpl .Values.metricsPort . }} + - --health-bind-address=:{{ tpl .Values.healthPort . }} - --gardener-version={{ .Values.gardener.version }} env: - name: LEADER_ELECTION_NAMESPACE @@ -93,18 +91,18 @@ spec: livenessProbe: httpGet: path: /healthz - port: {{ .Values.healthPort }} + port: {{ tpl .Values.healthPort . }} scheme: HTTP initialDelaySeconds: 10 readinessProbe: httpGet: path: /readyz - port: {{ .Values.healthPort }} + port: {{ tpl .Values.healthPort . }} scheme: HTTP initialDelaySeconds: 5 ports: - name: webhook-server - containerPort: {{ .Values.webhookConfig.serverPort }} + containerPort: {{ tpl .Values.webhookConfig.serverPort . }} protocol: TCP {{- if .Values.resources }} resources: diff --git a/charts/gardener-extension-provider-openstack/templates/service.yaml b/charts/gardener-extension-provider-openstack/templates/service.yaml index 68da71896..b6343c382 100644 --- a/charts/gardener-extension-provider-openstack/templates/service.yaml +++ b/charts/gardener-extension-provider-openstack/templates/service.yaml @@ -4,8 +4,8 @@ metadata: name: {{ include "name" . }} namespace: {{ .Release.Namespace }} annotations: - networking.resources.gardener.cloud/from-world-to-ports: '[{"protocol":"TCP","port":{{ .Values.webhookConfig.serverPort }}}]' - networking.resources.gardener.cloud/from-all-seed-scrape-targets-allowed-ports: '[{"port":{{ .Values.metricsPort }},"protocol":"TCP"}]' + networking.resources.gardener.cloud/from-world-to-ports: '[{"protocol":"TCP","port":{{ tpl .Values.webhookConfig.serverPort . }}}]' + networking.resources.gardener.cloud/from-all-seed-scrape-targets-allowed-ports: '[{"port":{{ tpl .Values.metricsPort . }},"protocol":"TCP"}]' networking.resources.gardener.cloud/namespace-selectors: '[{"matchLabels":{"kubernetes.io/metadata.name":"garden"}}]' networking.resources.gardener.cloud/pod-label-selector-namespace-alias: extensions {{- if .Values.ignoreResources }} @@ -13,7 +13,7 @@ metadata: {{- end }} # TODO: This label approach is deprecated and no longer needed in the future. Remove them as soon as gardener/gardener@v1.75 has been released. networking.resources.gardener.cloud/from-policy-pod-label-selector: all-seed-scrape-targets - networking.resources.gardener.cloud/from-policy-allowed-ports: '[{"port":{{ .Values.metricsPort }},"protocol":"TCP"}]' + networking.resources.gardener.cloud/from-policy-allowed-ports: '[{"port":{{ tpl .Values.metricsPort . }},"protocol":"TCP"}]' labels: {{ include "labels" . | indent 4 }} spec: @@ -23,4 +23,4 @@ spec: ports: - port: {{ .Values.webhookConfig.servicePort }} protocol: TCP - targetPort: {{ .Values.webhookConfig.serverPort }} + targetPort: {{ tpl .Values.webhookConfig.serverPort . }} diff --git a/charts/gardener-extension-provider-openstack/values.yaml b/charts/gardener-extension-provider-openstack/values.yaml index 49d42e119..4631c753a 100644 --- a/charts/gardener-extension-provider-openstack/values.yaml +++ b/charts/gardener-extension-provider-openstack/values.yaml @@ -13,8 +13,8 @@ vpa: updatePolicy: updateMode: "Auto" -metricsPort: 8080 -healthPort: 8081 +metricsPort: "{{ index .Values.usablePorts 0 }}" +healthPort: "{{ index .Values.usablePorts 2 }}" monitoring: createClusterFilters: true @@ -59,7 +59,7 @@ ignoreResources: false webhookConfig: servicePort: 443 - serverPort: 10250 + serverPort: "{{ index .Values.usablePorts 1 }}" ## settings for metrics, e.g. scraping by seed-prometheus metrics: @@ -94,4 +94,9 @@ gardener: provider: openstack runtimeCluster: enabled: false - # priorityClassName: gardener-garden-system-200 \ No newline at end of file + # priorityClassName: gardener-garden-system-200 + +usablePorts: +- 8080 # metrics +- 10250 # webhook server +- 8081 # healthcheck