You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(http-add-on): replace kube-rbac-proxy with native secure metrics (#807)
The kube-rbac-proxy sidecar is being discontinued and its images will
become unavailable. This change uses controller-runtime's built-in
metrics authentication instead, following kubebuilder recommendations.
Changes:
- Remove kube-rbac-proxy sidecar container from operator deployment
- Add operator.metrics config (secure, auth, certDir) to values.yaml
- Replace proxy-role ClusterRole with system:auth-delegator binding
- Remove kube-rbac-proxy image and securityContext references
Signed-off-by: Vincent Link <vlink@redhat.com>
Copy file name to clipboardExpand all lines: http-add-on/README.md
+6-8Lines changed: 6 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -87,8 +87,6 @@ their default values.
87
87
|`additionalLabels`| object |`{}`| Additional labels to be applied to installed resources. Note that not all resources will receive these labels. |
88
88
|`crds.install`| bool |`true`| Whether to install the `HTTPScaledObject`[`CustomResourceDefinition`](https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/)|
89
89
|`images.interceptor`| string |`"ghcr.io/kedacore/http-add-on-interceptor"`| Image name for the interceptor image component |
90
-
|`images.kubeRbacProxy.name`| string |`"gcr.io/kubebuilder/kube-rbac-proxy"`| Image name for the Kube RBAC Proxy image component |
91
-
|`images.kubeRbacProxy.tag`| string |`"v0.13.0"`| Image tag for the Kube RBAC Proxy image component |
92
90
|`images.operator`| string |`"ghcr.io/kedacore/http-add-on-operator"`| Image name for the operator image component |
93
91
|`images.scaler`| string |`"ghcr.io/kedacore/http-add-on-scaler"`| Image name for the scaler image component |
94
92
|`images.tag`| string |`""`| Image tag for the http add on. This tag is applied to the images listed in `images.operator`, `images.interceptor`, and `images.scaler`. Optional, given app version of Helm chart is used by default |
@@ -97,7 +95,6 @@ their default values.
97
95
|`logging.interceptor.stackTracesEnabled`| bool |`false`| Display stack traces in the logs |
98
96
|`logging.interceptor.timeEncoding`| string |`"rfc3339"`| Logging time encoding for KEDA http-add-on Interceptor. allowed values are `epoch`, `millis`, `nano`, `iso8601`, `rfc3339` or `rfc3339nano`|
99
97
|`logging.operator.format`| string |`"console"`| Logging format for KEDA http-add-on operator. allowed values: `json` or `console`|
100
-
|`logging.operator.kubeRbacProxy.level`| int |`10`| Logging level for KEDA http-add-on operator rbac proxy allowed values: `0` for info, `4` for debug, or an integer value greater than 0 |
101
98
|`logging.operator.level`| string |`"info"`| Logging level for KEDA http-add-on operator. allowed values: `debug`, `info`, `error`, or an integer value greater than 0, specified as string |
102
99
|`logging.operator.stackTracesEnabled`| bool |`false`| Display stack traces in the logs |
103
100
|`logging.operator.timeEncoding`| string |`"rfc3339"`| Logging time encoding for KEDA http-add-on operator. allowed values are `epoch`, `millis`, `nano`, `iso8601`, `rfc3339` or `rfc3339nano`|
@@ -122,13 +119,14 @@ their default values.
122
119
|`operator.affinity`| object |`{}`| Affinity for pod scheduling ([docs](https://kubernetes.io/docs/tasks/configure-pod-container/assign-pods-nodes-using-node-affinity/)) |
123
120
|`operator.extraEnvs`| object |`{}`| Extra environment variables to set (key-value map with "ENV name":"value") |
124
121
|`operator.imagePullSecrets`| list |`[]`| The image pull secrets for the operator component |
125
-
|`operator.kubeRbacProxy.resources.limits`| object |`{"cpu":"300m","memory":"200Mi"}`| The CPU/memory resource limit for the operator component's kube rbac proxy |
126
-
|`operator.kubeRbacProxy.resources.requests`| object |`{"cpu":"10m","memory":"20Mi"}`| The CPU/memory resource request for the operator component's kube rbac proxy |
122
+
|`operator.metrics.auth`| bool |`true`| Enable authentication and authorization for the metrics endpoint |
123
+
|`operator.metrics.certDir`| string |`""`| Directory containing TLS certificates (tls.crt/tls.key). If empty, self-signed certs are generated. |
124
+
|`operator.metrics.secure`| bool |`true`| Enable HTTPS for the metrics endpoint |
127
125
|`operator.nodeSelector`| object |`{}`| Node selector for pod scheduling ([docs](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/)) |
128
126
|`operator.podAnnotations`| object |`{}`| Annotations to be added to the operator pods |
129
127
|`operator.port`| int |`8443`| The port for the operator main server to run on |
130
128
|`operator.pullPolicy`| string |`"Always"`| The image pull policy for the operator component |
131
-
|`operator.replicas`| int |`1`| Number of replicas, oerator k8s resources will not be installed if this is set to 0 |
129
+
|`operator.replicas`| int |`1`| Number of replicas, operator k8s resources will not be installed if this is set to 0 |
132
130
|`operator.resources.limits`| object |`{"cpu":0.5,"memory":"64Mi"}`| The CPU/memory resource limit for the operator component |
133
131
|`operator.resources.requests`| object |`{"cpu":"250m","memory":"20Mi"}`| The CPU/memory resource request for the operator component |
134
132
|`operator.tolerations`| list |`[]`| Tolerations for pod scheduling ([docs](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/)) |
@@ -184,8 +182,8 @@ their default values.
184
182
|`interceptor.replicas.max`| int |`50`| The maximum number of interceptor replicas that should ever be running |
185
183
|`interceptor.replicas.min`| int |`3`| The minimum number of interceptor replicas that should ever be running |
186
184
|`interceptor.replicas.waitTimeout`| string |`"20s"`| The maximum time the interceptor should wait for an HTTP request to reach a backend before it is considered a failure |
187
-
|`interceptor.resources.limits`| object |`{"cpu":0.5,"memory":"64Mi"}`| The CPU/memory resource limit for the operator component |
188
-
|`interceptor.resources.requests`| object |`{"cpu":"250m","memory":"20Mi"}`| The CPU/memory resource request for the operator component |
185
+
|`interceptor.resources.limits`| object |`{"cpu":0.5,"memory":"64Mi"}`| The CPU/memory resource limit for the interceptor component |
186
+
|`interceptor.resources.requests`| object |`{"cpu":"250m","memory":"20Mi"}`| The CPU/memory resource request for the interceptor component |
189
187
|`interceptor.responseHeaderTimeout`| string |`"500ms"`| How long the interceptor will wait between forwarding a request to a backend and receiving response headers back before failing the request |
190
188
|`interceptor.scaledObject.pollingInterval`| int |`1`| The interval (in milliseconds) that KEDA should poll the external scaler to fetch scaling metrics about the interceptor |
191
189
|`interceptor.tcpConnectTimeout`| string |`"500ms"`| How long the interceptor waits to establish TCP connections with backends before failing a request. |
0 commit comments