Skip to content

Commit 58890dc

Browse files
Add hostNetwork flag.
- Necessary for EKS clusters with a custom CNI.
1 parent 339e5c8 commit 58890dc

File tree

3 files changed

+93
-85
lines changed

3 files changed

+93
-85
lines changed

chart/open-feature-operator/README.md

+21-19
Original file line numberDiff line numberDiff line change
@@ -158,22 +158,24 @@ 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.manager.hostNetwork` | Should the injector pods run on the host network (useful when using an alternate CNI in EKS) | `false` |
176+
| `controllerManager.manager.dnsPolicy` | Pod DNS resolution scheme. Should be `ClusterFirstWithHostNet` if hostNetwork is true, `ClusterFirst` otherwise. | `ClusterFirst` |
177+
| `controllerManager.replicas` | Sets number of replicas of the OpenFeature operator pod. | `1` |
178+
| `managerConfig.flagsValidatonEnabled` | Enables the validating webhook for FeatureFlag CR. | `true` |
179+
| `managerConfig.controllerManagerConfigYaml.health.healthProbeBindAddress` | Sets the bind address for health probes. | `:8081` |
180+
| `managerConfig.controllerManagerConfigYaml.metrics.bindAddress` | Sets the bind address for metrics. | `127.0.0.1:8080` |
181+
| `managerConfig.controllerManagerConfigYaml.webhook.port` | Sets the bind address for webhook. | `9443` |

chart/open-feature-operator/values.yaml

+4
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,10 @@ controllerManager:
137137
cpu: 10m
138138
## @param controllerManager.manager.resources.requests.memory Sets memory resource requests for operator.
139139
memory: 64Mi
140+
## @param controllerManager.manager.hostNetwork Should the injector pods run on the host network (useful when using an alternate CNI in EKS)
141+
hostNetwork: false
142+
## @param controllerManager.manager.dnsPolicy Pod DNS resolution scheme. Should be `ClusterFirstWithHostNet` if hostNetwork is true, `ClusterFirst` otherwise.
143+
dnsPolicy: ClusterFirst
140144
## @param controllerManager.replicas Sets number of replicas of the OpenFeature operator pod.
141145
replicas: 1
142146

config/overlays/helm/manager.yaml

+68-66
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ spec:
1212
containers:
1313
- name: manager
1414
image: "{{ .Values.controllerManager.manager.image.repository }}:{{ .Values.controllerManager.manager.image.tag }}"
15+
dnsPolicy: "{{ .Values.controllerManager.manager.dnsPolicy }}"
16+
hostNetwork: "{{ .Values.controllerManager.manager.hostNetwork }}"
1517
resources:
1618
limits:
1719
cpu: "{{ .Values.controllerManager.manager.resources.limits.cpu }}"
@@ -20,72 +22,72 @@ spec:
2022
cpu: "{{ .Values.controllerManager.manager.resources.requests.cpu }}"
2123
memory: "{{ .Values.controllerManager.manager.resources.requests.memory }}"
2224
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 }}"
25+
- name: SIDECAR_MANAGEMENT_PORT
26+
value: "{{ .Values.sidecarConfiguration.managementPort }}"
27+
- name: SIDECAR_PORT
28+
value: "{{ .Values.sidecarConfiguration.port }}"
29+
- name: SIDECAR_SOCKET_PATH
30+
value: "{{ .Values.sidecarConfiguration.socketPath }}"
31+
- name: SIDECAR_IMAGE
32+
value: "{{ .Values.sidecarConfiguration.image.repository }}"
33+
- name: SIDECAR_TAG
34+
value: "{{ .Values.sidecarConfiguration.image.tag }}"
35+
- name: SIDECAR_PROVIDER_ARGS
36+
value: "{{ .Values.sidecarConfiguration.providerArgs }}"
37+
- name: SIDECAR_ENV_VAR_PREFIX
38+
value: "{{ .Values.sidecarConfiguration.envVarPrefix }}"
39+
- name: SIDECAR_SYNC_PROVIDER
40+
value: "{{ .Values.sidecarConfiguration.defaultSyncProvider }}"
41+
- name: SIDECAR_EVALUATOR
42+
value: "{{ .Values.sidecarConfiguration.evaluator }}"
43+
- name: SIDECAR_LOG_FORMAT
44+
value: "{{ .Values.sidecarConfiguration.logFormat }}"
45+
- name: SIDECAR_PROBES_ENABLED
46+
value: "{{ .Values.sidecarConfiguration.probesEnabled }}"
47+
- name: FLAGD_PROXY_IMAGE
48+
value: "{{ .Values.flagdProxyConfiguration.image.repository }}"
49+
- name: FLAGD_PROXY_TAG
50+
value: "{{ .Values.flagdProxyConfiguration.image.tag }}"
51+
- name: FLAGD_PROXY_PORT
52+
value: "{{ .Values.flagdProxyConfiguration.port }}"
53+
- name: FLAGD_PROXY_MANAGEMENT_PORT
54+
value: "{{ .Values.flagdProxyConfiguration.managementPort }}"
55+
- name: FLAGD_PROXY_DEBUG_LOGGING
56+
value: "{{ .Values.flagdProxyConfiguration.debugLogging }}"
57+
- name: FLAGD_IMAGE
58+
value: "{{ .Values.flagdConfiguration.image.repository }}"
59+
- name: FLAGD_TAG
60+
value: "{{ .Values.flagdConfiguration.image.tag }}"
61+
- name: FLAGD_PORT
62+
value: "{{ .Values.flagdConfiguration.port }}"
63+
- name: FLAGD_OFREP_PORT
64+
value: "{{ .Values.flagdConfiguration.ofrepPort }}"
65+
- name: FLAGD_SYNC_PORT
66+
value: "{{ .Values.flagdConfiguration.syncPort }}"
67+
- name: FLAGD_MANAGEMENT_PORT
68+
value: "{{ .Values.flagdConfiguration.managementPort }}"
69+
- name: FLAGD_DEBUG_LOGGING
70+
value: "{{ .Values.flagdConfiguration.debugLogging }}"
71+
- name: FLAGS_VALIDATION_ENABLED
72+
value: "{{ .Values.managerConfig.flagsValidatonEnabled }}"
73+
- name: IN_PROCESS_PORT
74+
value: "{{ .Values.inProcessConfiguration.port }}"
75+
- name: IN_PROCESS_HOST
76+
value: "{{ .Values.inProcessConfiguration.host }}"
77+
- name: IN_PROCESS_SOCKET_PATH
78+
value: "{{ .Values.inProcessConfiguration.socketPath }}"
79+
- name: IN_PROCESS_TLS
80+
value: "{{ .Values.inProcessConfiguration.tls }}"
81+
- name: IN_PROCESS_OFFLINE_FLAG_SOURCE_PATH
82+
value: "{{ .Values.inProcessConfiguration.offlineFlagSourcePath }}"
83+
- name: IN_PROCESS_SELECTOR
84+
value: "{{ .Values.inProcessConfiguration.selector }}"
85+
- name: IN_PROCESS_CACHE
86+
value: "{{ .Values.inProcessConfiguration.cache.type }}"
87+
- name: IN_PROCESS_ENV_VAR_PREFIX
88+
value: "{{ .Values.inProcessConfiguration.envVarPrefix }}"
89+
- name: IN_PROCESS_CACHE_MAX_SIZE
90+
value: "{{ .Values.inProcessConfiguration.cache.size }}"
8991
args:
9092
- --leader-elect
9193
- --sidecar-cpu-limit={{ .Values.sidecarConfiguration.resources.limits.cpu }}

0 commit comments

Comments
 (0)