Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit a38d607

Browse files
committedJun 25, 2024·
Add bindPort & webhook port.
Allows customization of the metrics bind port for the operator container as well as the webhook port. Important for when hostNetwork is `true` Signed-off-by: Christopher Pitstick <cpitstick@lat.ai>
1 parent 339e5c8 commit a38d607

File tree

4 files changed

+100
-89
lines changed

4 files changed

+100
-89
lines changed
 

‎chart/open-feature-operator/README.md

+20-19
Original file line numberDiff line numberDiff line change
@@ -158,22 +158,23 @@ The command removes all the Kubernetes components associated with the chart and
158158

159159
### Operator resource configuration
160160

161-
| Name | Description | Value |
162-
| ------------------------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------- |
163-
| `controllerManager.kubeRbacProxy.image.repository` | Sets the image for the kube-rbac-proxy. | `gcr.io/kubebuilder/kube-rbac-proxy` |
164-
| `controllerManager.kubeRbacProxy.image.tag` | Sets the version tag for the kube-rbac-proxy. | `v0.14.1` |
165-
| `controllerManager.kubeRbacProxy.resources.limits.cpu` | Sets cpu resource limits for kube-rbac-proxy. | `500m` |
166-
| `controllerManager.kubeRbacProxy.resources.limits.memory` | Sets memory resource limits for kube-rbac-proxy. | `128Mi` |
167-
| `controllerManager.kubeRbacProxy.resources.requests.cpu` | Sets cpu resource requests for kube-rbac-proxy. | `5m` |
168-
| `controllerManager.kubeRbacProxy.resources.requests.memory` | Sets memory resource requests for kube-rbac-proxy. | `64Mi` |
169-
| `controllerManager.manager.image.repository` | Sets the image for the operator. | `ghcr.io/open-feature/open-feature-operator` |
170-
| `controllerManager.manager.image.tag` | Sets the version tag for the operator. | `v0.6.0` |
171-
| `controllerManager.manager.resources.limits.cpu` | Sets cpu resource limits for operator. | `500m` |
172-
| `controllerManager.manager.resources.limits.memory` | Sets memory resource limits for operator. | `128Mi` |
173-
| `controllerManager.manager.resources.requests.cpu` | Sets cpu resource requests for operator. | `10m` |
174-
| `controllerManager.manager.resources.requests.memory` | Sets memory resource requests for operator. | `64Mi` |
175-
| `controllerManager.replicas` | Sets number of replicas of the OpenFeature operator pod. | `1` |
176-
| `managerConfig.flagsValidatonEnabled` | Enables the validating webhook for FeatureFlag CR. | `true` |
177-
| `managerConfig.controllerManagerConfigYaml.health.healthProbeBindAddress` | Sets the bind address for health probes. | `:8081` |
178-
| `managerConfig.controllerManagerConfigYaml.metrics.bindAddress` | Sets the bind address for metrics. | `127.0.0.1:8080` |
179-
| `managerConfig.controllerManagerConfigYaml.webhook.port` | Sets the bind address for webhook. | `9443` |
161+
| Name | Description | Value |
162+
| ------------------------------------------------------------------------- | ----------------------------------------------------------- | -------------------------------------------- |
163+
| `controllerManager.kubeRbacProxy.image.repository` | Sets the image for the kube-rbac-proxy. | `gcr.io/kubebuilder/kube-rbac-proxy` |
164+
| `controllerManager.kubeRbacProxy.image.tag` | Sets the version tag for the kube-rbac-proxy. | `v0.14.1` |
165+
| `controllerManager.kubeRbacProxy.resources.limits.cpu` | Sets cpu resource limits for kube-rbac-proxy. | `500m` |
166+
| `controllerManager.kubeRbacProxy.resources.limits.memory` | Sets memory resource limits for kube-rbac-proxy. | `128Mi` |
167+
| `controllerManager.kubeRbacProxy.resources.requests.cpu` | Sets cpu resource requests for kube-rbac-proxy. | `5m` |
168+
| `controllerManager.kubeRbacProxy.resources.requests.memory` | Sets memory resource requests for kube-rbac-proxy. | `64Mi` |
169+
| `controllerManager.manager.image.repository` | Sets the image for the operator. | `ghcr.io/open-feature/open-feature-operator` |
170+
| `controllerManager.manager.image.tag` | Sets the version tag for the operator. | `v0.6.1` |
171+
| `controllerManager.manager.resources.limits.cpu` | Sets cpu resource limits for operator. | `500m` |
172+
| `controllerManager.manager.resources.limits.memory` | Sets memory resource limits for operator. | `128Mi` |
173+
| `controllerManager.manager.resources.requests.cpu` | Sets cpu resource requests for operator. | `10m` |
174+
| `controllerManager.manager.resources.requests.memory` | Sets memory resource requests for operator. | `64Mi` |
175+
| `controllerManager.replicas` | Sets number of replicas of the OpenFeature operator pod. | `1` |
176+
| `managerConfig.flagsValidatonEnabled` | Enables the validating webhook for FeatureFlag CR. | `true` |
177+
| `managerConfig.controllerManagerConfigYaml.health.healthProbeBindAddress` | Sets the bind address for health probes. | `:8081` |
178+
| `managerConfig.controllerManagerConfigYaml.metrics.bindAddress` | Sets the bind address for metrics (combined with bindPort). | `127.0.0.1` |
179+
| `managerConfig.controllerManagerConfigYaml.metrics.bindPort` | Sets the bind port for metrics. | `:8080` |
180+
| `managerConfig.controllerManagerConfigYaml.webhook.port` | Sets the bind address for webhook. | `9443` |

‎chart/open-feature-operator/values.yaml

+5-3
Original file line numberDiff line numberDiff line change
@@ -147,9 +147,11 @@ managerConfig:
147147
health:
148148
## @param managerConfig.controllerManagerConfigYaml.health.healthProbeBindAddress Sets the bind address for health probes.
149149
healthProbeBindAddress: :8081
150-
metrics:
151-
## @param managerConfig.controllerManagerConfigYaml.metrics.bindAddress Sets the bind address for metrics.
152-
bindAddress: 127.0.0.1:8080
150+
metrics:
151+
## @param managerConfig.controllerManagerConfigYaml.metrics.bindAddress Sets the bind address for metrics (combined with bindPort).
152+
bindAddress: 127.0.0.1
153+
## @param managerConfig.controllerManagerConfigYaml.metrics.bindPort Sets the bind port for metrics.
154+
bindPort: 8080
153155
webhook:
154156
## @param managerConfig.controllerManagerConfigYaml.webhook.port Sets the bind address for webhook.
155157
port: 9443

‎config/overlays/helm/controller_manager_config.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,6 @@ kind: ControllerManagerConfig
33
health:
44
healthProbeBindAddress: "{{ .Values.managerConfig.controllerManagerConfigYaml.health.healthProbeBindAddress }}"
55
metrics:
6-
bindAddress: "{{ .Values.managerConfig.controllerManagerConfigYaml.metrics.bindAddress }}"
6+
bindAddress: "{{ .Values.managerConfig.controllerManagerConfigYaml.metrics.bindAddress }}:{{ .Values.managerConfig.controllerManagerConfigYaml.metrics.bindPort }}"
77
webhook:
88
port: 0{{ .Values.managerConfig.controllerManagerConfigYaml.webhook.port }}

‎config/overlays/helm/manager.yaml

+74-66
Original file line numberDiff line numberDiff line change
@@ -19,80 +19,88 @@ spec:
1919
requests:
2020
cpu: "{{ .Values.controllerManager.manager.resources.requests.cpu }}"
2121
memory: "{{ .Values.controllerManager.manager.resources.requests.memory }}"
22+
ports:
23+
- containerPort: "___{{ .Values.managerConfig.controllerManagerConfigYaml.webhook.port }} ___"
24+
name: webhook-server
25+
protocol: TCP
26+
- containerPort: "___{{ .Values.managerConfig.controllerManagerConfigYaml.metrics.bindPort }}___"
27+
name: metrics-server
28+
protocol: TCP
2229
env:
23-
- name: SIDECAR_MANAGEMENT_PORT
24-
value: "{{ .Values.sidecarConfiguration.managementPort }}"
25-
- name: SIDECAR_PORT
26-
value: "{{ .Values.sidecarConfiguration.port }}"
27-
- name: SIDECAR_SOCKET_PATH
28-
value: "{{ .Values.sidecarConfiguration.socketPath }}"
29-
- name: SIDECAR_IMAGE
30-
value: "{{ .Values.sidecarConfiguration.image.repository }}"
31-
- name: SIDECAR_TAG
32-
value: "{{ .Values.sidecarConfiguration.image.tag }}"
33-
- name: SIDECAR_PROVIDER_ARGS
34-
value: "{{ .Values.sidecarConfiguration.providerArgs }}"
35-
- name: SIDECAR_ENV_VAR_PREFIX
36-
value: "{{ .Values.sidecarConfiguration.envVarPrefix }}"
37-
- name: SIDECAR_SYNC_PROVIDER
38-
value: "{{ .Values.sidecarConfiguration.defaultSyncProvider }}"
39-
- name: SIDECAR_EVALUATOR
40-
value: "{{ .Values.sidecarConfiguration.evaluator }}"
41-
- name: SIDECAR_LOG_FORMAT
42-
value: "{{ .Values.sidecarConfiguration.logFormat }}"
43-
- name: SIDECAR_PROBES_ENABLED
44-
value: "{{ .Values.sidecarConfiguration.probesEnabled }}"
45-
- name: FLAGD_PROXY_IMAGE
46-
value: "{{ .Values.flagdProxyConfiguration.image.repository }}"
47-
- name: FLAGD_PROXY_TAG
48-
value: "{{ .Values.flagdProxyConfiguration.image.tag }}"
49-
- name: FLAGD_PROXY_PORT
50-
value: "{{ .Values.flagdProxyConfiguration.port }}"
51-
- name: FLAGD_PROXY_MANAGEMENT_PORT
52-
value: "{{ .Values.flagdProxyConfiguration.managementPort }}"
53-
- name: FLAGD_PROXY_DEBUG_LOGGING
54-
value: "{{ .Values.flagdProxyConfiguration.debugLogging }}"
55-
- name: FLAGD_IMAGE
56-
value: "{{ .Values.flagdConfiguration.image.repository }}"
57-
- name: FLAGD_TAG
58-
value: "{{ .Values.flagdConfiguration.image.tag }}"
59-
- name: FLAGD_PORT
60-
value: "{{ .Values.flagdConfiguration.port }}"
61-
- name: FLAGD_OFREP_PORT
62-
value: "{{ .Values.flagdConfiguration.ofrepPort }}"
63-
- name: FLAGD_SYNC_PORT
64-
value: "{{ .Values.flagdConfiguration.syncPort }}"
65-
- name: FLAGD_MANAGEMENT_PORT
66-
value: "{{ .Values.flagdConfiguration.managementPort }}"
67-
- name: FLAGD_DEBUG_LOGGING
68-
value: "{{ .Values.flagdConfiguration.debugLogging }}"
69-
- name: FLAGS_VALIDATION_ENABLED
70-
value: "{{ .Values.managerConfig.flagsValidatonEnabled }}"
71-
- name: IN_PROCESS_PORT
72-
value: "{{ .Values.inProcessConfiguration.port }}"
73-
- name: IN_PROCESS_HOST
74-
value: "{{ .Values.inProcessConfiguration.host }}"
75-
- name: IN_PROCESS_SOCKET_PATH
76-
value: "{{ .Values.inProcessConfiguration.socketPath }}"
77-
- name: IN_PROCESS_TLS
78-
value: "{{ .Values.inProcessConfiguration.tls }}"
79-
- name: IN_PROCESS_OFFLINE_FLAG_SOURCE_PATH
80-
value: "{{ .Values.inProcessConfiguration.offlineFlagSourcePath }}"
81-
- name: IN_PROCESS_SELECTOR
82-
value: "{{ .Values.inProcessConfiguration.selector }}"
83-
- name: IN_PROCESS_CACHE
84-
value: "{{ .Values.inProcessConfiguration.cache.type }}"
85-
- name: IN_PROCESS_ENV_VAR_PREFIX
86-
value: "{{ .Values.inProcessConfiguration.envVarPrefix }}"
87-
- name: IN_PROCESS_CACHE_MAX_SIZE
88-
value: "{{ .Values.inProcessConfiguration.cache.size }}"
30+
- name: SIDECAR_MANAGEMENT_PORT
31+
value: "{{ .Values.sidecarConfiguration.managementPort }}"
32+
- name: SIDECAR_PORT
33+
value: "{{ .Values.sidecarConfiguration.port }}"
34+
- name: SIDECAR_SOCKET_PATH
35+
value: "{{ .Values.sidecarConfiguration.socketPath }}"
36+
- name: SIDECAR_IMAGE
37+
value: "{{ .Values.sidecarConfiguration.image.repository }}"
38+
- name: SIDECAR_TAG
39+
value: "{{ .Values.sidecarConfiguration.image.tag }}"
40+
- name: SIDECAR_PROVIDER_ARGS
41+
value: "{{ .Values.sidecarConfiguration.providerArgs }}"
42+
- name: SIDECAR_ENV_VAR_PREFIX
43+
value: "{{ .Values.sidecarConfiguration.envVarPrefix }}"
44+
- name: SIDECAR_SYNC_PROVIDER
45+
value: "{{ .Values.sidecarConfiguration.defaultSyncProvider }}"
46+
- name: SIDECAR_EVALUATOR
47+
value: "{{ .Values.sidecarConfiguration.evaluator }}"
48+
- name: SIDECAR_LOG_FORMAT
49+
value: "{{ .Values.sidecarConfiguration.logFormat }}"
50+
- name: SIDECAR_PROBES_ENABLED
51+
value: "{{ .Values.sidecarConfiguration.probesEnabled }}"
52+
- name: FLAGD_PROXY_IMAGE
53+
value: "{{ .Values.flagdProxyConfiguration.image.repository }}"
54+
- name: FLAGD_PROXY_TAG
55+
value: "{{ .Values.flagdProxyConfiguration.image.tag }}"
56+
- name: FLAGD_PROXY_PORT
57+
value: "{{ .Values.flagdProxyConfiguration.port }}"
58+
- name: FLAGD_PROXY_MANAGEMENT_PORT
59+
value: "{{ .Values.flagdProxyConfiguration.managementPort }}"
60+
- name: FLAGD_PROXY_DEBUG_LOGGING
61+
value: "{{ .Values.flagdProxyConfiguration.debugLogging }}"
62+
- name: FLAGD_IMAGE
63+
value: "{{ .Values.flagdConfiguration.image.repository }}"
64+
- name: FLAGD_TAG
65+
value: "{{ .Values.flagdConfiguration.image.tag }}"
66+
- name: FLAGD_PORT
67+
value: "{{ .Values.flagdConfiguration.port }}"
68+
- name: FLAGD_OFREP_PORT
69+
value: "{{ .Values.flagdConfiguration.ofrepPort }}"
70+
- name: FLAGD_SYNC_PORT
71+
value: "{{ .Values.flagdConfiguration.syncPort }}"
72+
- name: FLAGD_MANAGEMENT_PORT
73+
value: "{{ .Values.flagdConfiguration.managementPort }}"
74+
- name: FLAGD_DEBUG_LOGGING
75+
value: "{{ .Values.flagdConfiguration.debugLogging }}"
76+
- name: FLAGS_VALIDATION_ENABLED
77+
value: "{{ .Values.managerConfig.flagsValidatonEnabled }}"
78+
- name: IN_PROCESS_PORT
79+
value: "{{ .Values.inProcessConfiguration.port }}"
80+
- name: IN_PROCESS_HOST
81+
value: "{{ .Values.inProcessConfiguration.host }}"
82+
- name: IN_PROCESS_SOCKET_PATH
83+
value: "{{ .Values.inProcessConfiguration.socketPath }}"
84+
- name: IN_PROCESS_TLS
85+
value: "{{ .Values.inProcessConfiguration.tls }}"
86+
- name: IN_PROCESS_OFFLINE_FLAG_SOURCE_PATH
87+
value: "{{ .Values.inProcessConfiguration.offlineFlagSourcePath }}"
88+
- name: IN_PROCESS_SELECTOR
89+
value: "{{ .Values.inProcessConfiguration.selector }}"
90+
- name: IN_PROCESS_CACHE
91+
value: "{{ .Values.inProcessConfiguration.cache.type }}"
92+
- name: IN_PROCESS_ENV_VAR_PREFIX
93+
value: "{{ .Values.inProcessConfiguration.envVarPrefix }}"
94+
- name: IN_PROCESS_CACHE_MAX_SIZE
95+
value: "{{ .Values.inProcessConfiguration.cache.size }}"
8996
args:
9097
- --leader-elect
9198
- --sidecar-cpu-limit={{ .Values.sidecarConfiguration.resources.limits.cpu }}
9299
- --sidecar-ram-limit={{ .Values.sidecarConfiguration.resources.limits.memory }}
93100
- --sidecar-cpu-request={{ .Values.sidecarConfiguration.resources.requests.cpu }}
94101
- --sidecar-ram-request={{ .Values.sidecarConfiguration.resources.requests.memory }}
95102
- --image-pull-secrets={{ range .Values.imagePullSecrets }}{{ .name }},{{- end }}
103+
- --metrics-bind-address=:{{ .Values.managerConfig.controllerManagerConfigYaml.metrics.bindPort }}
96104
- name: kube-rbac-proxy
97105
image: "{{ .Values.controllerManager.kubeRbacProxy.image.repository }}:{{ .Values.controllerManager.kubeRbacProxy.image.tag }}"
98106
resources:

0 commit comments

Comments
 (0)
Please sign in to comment.