Skip to content

Commit 88e9f74

Browse files
Add hostNetwork flag.
- Necessary for EKS clusters with a custom CNI. Signed-off-by: Christopher Pitstick <cpitstick@lat.ai>
1 parent 339e5c8 commit 88e9f74

File tree

3 files changed

+94
-85
lines changed

3 files changed

+94
-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

+69-66
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,9 @@ spec:
99
spec:
1010
# this is transformed by .github/scripts/strip-kustomize-helm.sh
1111
___imagePullSecrets___: "___ ___newline___{{ toYaml .Values.imagePullSecrets | indent 8 }}___"
12+
dnsPolicy: "{{ .Values.controllerManager.manager.dnsPolicy }}"
13+
# this is transformed by .github/scripts/strip-kustomize-helm.sh
14+
hostNetwork: "___{{ .Values.controllerManager.manager.hostNetwork }}___"
1215
containers:
1316
- name: manager
1417
image: "{{ .Values.controllerManager.manager.image.repository }}:{{ .Values.controllerManager.manager.image.tag }}"
@@ -20,72 +23,72 @@ spec:
2023
cpu: "{{ .Values.controllerManager.manager.resources.requests.cpu }}"
2124
memory: "{{ .Values.controllerManager.manager.resources.requests.memory }}"
2225
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 }}"
26+
- name: SIDECAR_MANAGEMENT_PORT
27+
value: "{{ .Values.sidecarConfiguration.managementPort }}"
28+
- name: SIDECAR_PORT
29+
value: "{{ .Values.sidecarConfiguration.port }}"
30+
- name: SIDECAR_SOCKET_PATH
31+
value: "{{ .Values.sidecarConfiguration.socketPath }}"
32+
- name: SIDECAR_IMAGE
33+
value: "{{ .Values.sidecarConfiguration.image.repository }}"
34+
- name: SIDECAR_TAG
35+
value: "{{ .Values.sidecarConfiguration.image.tag }}"
36+
- name: SIDECAR_PROVIDER_ARGS
37+
value: "{{ .Values.sidecarConfiguration.providerArgs }}"
38+
- name: SIDECAR_ENV_VAR_PREFIX
39+
value: "{{ .Values.sidecarConfiguration.envVarPrefix }}"
40+
- name: SIDECAR_SYNC_PROVIDER
41+
value: "{{ .Values.sidecarConfiguration.defaultSyncProvider }}"
42+
- name: SIDECAR_EVALUATOR
43+
value: "{{ .Values.sidecarConfiguration.evaluator }}"
44+
- name: SIDECAR_LOG_FORMAT
45+
value: "{{ .Values.sidecarConfiguration.logFormat }}"
46+
- name: SIDECAR_PROBES_ENABLED
47+
value: "{{ .Values.sidecarConfiguration.probesEnabled }}"
48+
- name: FLAGD_PROXY_IMAGE
49+
value: "{{ .Values.flagdProxyConfiguration.image.repository }}"
50+
- name: FLAGD_PROXY_TAG
51+
value: "{{ .Values.flagdProxyConfiguration.image.tag }}"
52+
- name: FLAGD_PROXY_PORT
53+
value: "{{ .Values.flagdProxyConfiguration.port }}"
54+
- name: FLAGD_PROXY_MANAGEMENT_PORT
55+
value: "{{ .Values.flagdProxyConfiguration.managementPort }}"
56+
- name: FLAGD_PROXY_DEBUG_LOGGING
57+
value: "{{ .Values.flagdProxyConfiguration.debugLogging }}"
58+
- name: FLAGD_IMAGE
59+
value: "{{ .Values.flagdConfiguration.image.repository }}"
60+
- name: FLAGD_TAG
61+
value: "{{ .Values.flagdConfiguration.image.tag }}"
62+
- name: FLAGD_PORT
63+
value: "{{ .Values.flagdConfiguration.port }}"
64+
- name: FLAGD_OFREP_PORT
65+
value: "{{ .Values.flagdConfiguration.ofrepPort }}"
66+
- name: FLAGD_SYNC_PORT
67+
value: "{{ .Values.flagdConfiguration.syncPort }}"
68+
- name: FLAGD_MANAGEMENT_PORT
69+
value: "{{ .Values.flagdConfiguration.managementPort }}"
70+
- name: FLAGD_DEBUG_LOGGING
71+
value: "{{ .Values.flagdConfiguration.debugLogging }}"
72+
- name: FLAGS_VALIDATION_ENABLED
73+
value: "{{ .Values.managerConfig.flagsValidatonEnabled }}"
74+
- name: IN_PROCESS_PORT
75+
value: "{{ .Values.inProcessConfiguration.port }}"
76+
- name: IN_PROCESS_HOST
77+
value: "{{ .Values.inProcessConfiguration.host }}"
78+
- name: IN_PROCESS_SOCKET_PATH
79+
value: "{{ .Values.inProcessConfiguration.socketPath }}"
80+
- name: IN_PROCESS_TLS
81+
value: "{{ .Values.inProcessConfiguration.tls }}"
82+
- name: IN_PROCESS_OFFLINE_FLAG_SOURCE_PATH
83+
value: "{{ .Values.inProcessConfiguration.offlineFlagSourcePath }}"
84+
- name: IN_PROCESS_SELECTOR
85+
value: "{{ .Values.inProcessConfiguration.selector }}"
86+
- name: IN_PROCESS_CACHE
87+
value: "{{ .Values.inProcessConfiguration.cache.type }}"
88+
- name: IN_PROCESS_ENV_VAR_PREFIX
89+
value: "{{ .Values.inProcessConfiguration.envVarPrefix }}"
90+
- name: IN_PROCESS_CACHE_MAX_SIZE
91+
value: "{{ .Values.inProcessConfiguration.cache.size }}"
8992
args:
9093
- --leader-elect
9194
- --sidecar-cpu-limit={{ .Values.sidecarConfiguration.resources.limits.cpu }}

0 commit comments

Comments
 (0)