Skip to content

Commit b7219f2

Browse files
kvapsclaude
andauthored
fix: replace deprecated gcr.io/kubebuilder/kube-rbac-proxy image (#308)
## Summary - Replace deprecated `gcr.io/kubebuilder/kube-rbac-proxy:v0.16.0` with `quay.io/brancz/kube-rbac-proxy:v0.18.1` - The GCR-hosted image became unavailable after March 18, 2025 - The new image is from the original upstream author (brancz) Fixes #271 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Chores** * Updated authentication proxy image to quay.io/brancz/kube-rbac-proxy:v0.18.1 across deployment configs and Helm chart values. * **Documentation** * API reference updated to mark numerous embedded and top-level fields as optional, clarifying optionality for specs like replicas, storage, security, TLS, metadata, and pod disruption settings. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Signed-off-by: Andrei Kvapil <kvapss@gmail.com> Co-authored-by: Claude <noreply@anthropic.com>
1 parent 6537618 commit b7219f2

File tree

4 files changed

+34
-34
lines changed

4 files changed

+34
-34
lines changed

charts/etcd-operator/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,8 @@
3838
| kubeRbacProxy.args[2] | string | `"--logtostderr=true"` | |
3939
| kubeRbacProxy.args[3] | string | `"--v=0"` | |
4040
| kubeRbacProxy.image.pullPolicy | string | `"IfNotPresent"` | Image pull policy |
41-
| kubeRbacProxy.image.repository | string | `"gcr.io/kubebuilder/kube-rbac-proxy"` | Image repository |
42-
| kubeRbacProxy.image.tag | string | `"v0.16.0"` | Version of image |
41+
| kubeRbacProxy.image.repository | string | `"quay.io/brancz/kube-rbac-proxy"` | Image repository |
42+
| kubeRbacProxy.image.tag | string | `"v0.18.1"` | Version of image |
4343
| kubeRbacProxy.livenessProbe | object | `{}` | https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/ |
4444
| kubeRbacProxy.readinessProbe | object | `{}` | https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/ |
4545
| kubeRbacProxy.resources | object | `{"limits":{"cpu":"250m","memory":"128Mi"},"requests":{"cpu":"100m","memory":"64Mi"}}` | ref: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ |

charts/etcd-operator/values.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98,13 +98,13 @@ kubeRbacProxy:
9898
image:
9999

100100
# -- Image repository
101-
repository: gcr.io/kubebuilder/kube-rbac-proxy
101+
repository: quay.io/brancz/kube-rbac-proxy
102102

103103
# -- Image pull policy
104104
pullPolicy: IfNotPresent
105105

106106
# -- Version of image
107-
tag: v0.16.0
107+
tag: v0.18.1
108108

109109
args:
110110
- --secure-listen-address=0.0.0.0:8443

config/default/manager_auth_proxy_patch.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ spec:
1515
capabilities:
1616
drop:
1717
- "ALL"
18-
image: gcr.io/kubebuilder/kube-rbac-proxy:v0.15.0
18+
image: quay.io/brancz/kube-rbac-proxy:v0.18.1
1919
args:
2020
- "--secure-listen-address=0.0.0.0:8443"
2121
- "--upstream=http://127.0.0.1:8080/"

site/content/en/docs/v0.4/reference/api.md

Lines changed: 29 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ _Appears in:_
3131

3232
| Field | Description | Default | Validation |
3333
| --- | --- | --- | --- |
34-
| `metadata` _[EmbeddedObjectMetadata](#embeddedobjectmetadata)_ | Refer to Kubernetes API documentation for fields of `metadata`. | | |
34+
| `metadata` _[EmbeddedObjectMetadata](#embeddedobjectmetadata)_ | Refer to Kubernetes API documentation for fields of `metadata`. | | Optional: {} <br /> |
3535

3636

3737
#### EmbeddedObjectMetadata
@@ -52,9 +52,9 @@ _Appears in:_
5252

5353
| Field | Description | Default | Validation |
5454
| --- | --- | --- | --- |
55-
| `name` _string_ | Name must be unique within a namespace. Is required when creating resources, although<br />some resources may allow a client to request the generation of an appropriate name<br />automatically. Name is primarily intended for creation idempotence and configuration<br />definition.<br />Cannot be updated.<br />More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names | | |
56-
| `labels` _object (keys:string, values:string)_ | Labels Map of string keys and values that can be used to organize and categorize<br />(scope and select) objects. May match selectors of replication controllers<br />and services.<br />More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels | | |
57-
| `annotations` _object (keys:string, values:string)_ | Annotations is an unstructured key value map stored with a resource that may be<br />set by external tools to store and retrieve arbitrary metadata. They are not<br />queryable and should be preserved when modifying objects.<br />More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations | | |
55+
| `name` _string_ | Name must be unique within a namespace. Is required when creating resources, although<br />some resources may allow a client to request the generation of an appropriate name<br />automatically. Name is primarily intended for creation idempotence and configuration<br />definition.<br />Cannot be updated.<br />More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names | | Optional: {} <br /> |
56+
| `labels` _object (keys:string, values:string)_ | Labels Map of string keys and values that can be used to organize and categorize<br />(scope and select) objects. May match selectors of replication controllers<br />and services.<br />More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels | | Optional: {} <br /> |
57+
| `annotations` _object (keys:string, values:string)_ | Annotations is an unstructured key value map stored with a resource that may be<br />set by external tools to store and retrieve arbitrary metadata. They are not<br />queryable and should be preserved when modifying objects.<br />More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations | | Optional: {} <br /> |
5858

5959

6060
#### EmbeddedPersistentVolumeClaim
@@ -71,8 +71,8 @@ _Appears in:_
7171

7272
| Field | Description | Default | Validation |
7373
| --- | --- | --- | --- |
74-
| `metadata` _[EmbeddedObjectMetadata](#embeddedobjectmetadata)_ | Refer to Kubernetes API documentation for fields of `metadata`. | | |
75-
| `spec` _[PersistentVolumeClaimSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30.0/#persistentvolumeclaimspec-v1-core)_ | Spec defines the desired characteristics of a volume requested by a pod author.<br />More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims | | |
74+
| `metadata` _[EmbeddedObjectMetadata](#embeddedobjectmetadata)_ | Refer to Kubernetes API documentation for fields of `metadata`. | | Optional: {} <br /> |
75+
| `spec` _[PersistentVolumeClaimSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30.0/#persistentvolumeclaimspec-v1-core)_ | Spec defines the desired characteristics of a volume requested by a pod author.<br />More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims | | Optional: {} <br /> |
7676

7777

7878
#### EmbeddedPodDisruptionBudget
@@ -88,8 +88,8 @@ _Appears in:_
8888

8989
| Field | Description | Default | Validation |
9090
| --- | --- | --- | --- |
91-
| `metadata` _[EmbeddedObjectMetadata](#embeddedobjectmetadata)_ | Refer to Kubernetes API documentation for fields of `metadata`. | | |
92-
| `spec` _[PodDisruptionBudgetSpec](#poddisruptionbudgetspec)_ | Spec defines the desired characteristics of a PDB.<br />More info: https://kubernetes.io/docs/concepts/workloads/pods/disruptions/#pod-disruption-budgets | | |
91+
| `metadata` _[EmbeddedObjectMetadata](#embeddedobjectmetadata)_ | Refer to Kubernetes API documentation for fields of `metadata`. | | Optional: {} <br /> |
92+
| `spec` _[PodDisruptionBudgetSpec](#poddisruptionbudgetspec)_ | Spec defines the desired characteristics of a PDB.<br />More info: https://kubernetes.io/docs/concepts/workloads/pods/disruptions/#pod-disruption-budgets | | Optional: {} <br /> |
9393

9494

9595
#### EmbeddedService
@@ -105,8 +105,8 @@ _Appears in:_
105105

106106
| Field | Description | Default | Validation |
107107
| --- | --- | --- | --- |
108-
| `metadata` _[EmbeddedObjectMetadata](#embeddedobjectmetadata)_ | Refer to Kubernetes API documentation for fields of `metadata`. | | |
109-
| `spec` _[ServiceSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30.0/#servicespec-v1-core)_ | Spec defines the behavior of the service. | | |
108+
| `metadata` _[EmbeddedObjectMetadata](#embeddedobjectmetadata)_ | Refer to Kubernetes API documentation for fields of `metadata`. | | Optional: {} <br /> |
109+
| `spec` _[ServiceSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30.0/#servicespec-v1-core)_ | Spec defines the behavior of the service. | | Optional: {} <br /> |
110110

111111

112112
#### EtcdCluster
@@ -140,14 +140,14 @@ _Appears in:_
140140

141141
| Field | Description | Default | Validation |
142142
| --- | --- | --- | --- |
143-
| `replicas` _integer_ | Replicas is the count of etcd instances in cluster. | 3 | Minimum: 0 <br /> |
144-
| `options` _object (keys:string, values:string)_ | Options are the extra arguments to pass to the etcd container. | | |
143+
| `replicas` _integer_ | Replicas is the count of etcd instances in cluster. | 3 | Minimum: 0 <br />Optional: {} <br /> |
144+
| `options` _object (keys:string, values:string)_ | Options are the extra arguments to pass to the etcd container. | | Optional: {} <br /> |
145145
| `podTemplate` _[PodTemplate](#podtemplate)_ | PodTemplate defines the desired state of PodSpec for etcd members. If not specified, default values will be used. | | |
146-
| `serviceTemplate` _[EmbeddedService](#embeddedservice)_ | Service defines the desired state of Service for etcd members. If not specified, default values will be used. | | |
147-
| `headlessServiceTemplate` _[EmbeddedMetadataResource](#embeddedmetadataresource)_ | HeadlessService defines the desired state of HeadlessService for etcd members. If not specified, default values will be used. | | |
148-
| `podDisruptionBudgetTemplate` _[EmbeddedPodDisruptionBudget](#embeddedpoddisruptionbudget)_ | PodDisruptionBudgetTemplate describes PDB resource to create for etcd cluster members. Nil to disable. | | |
146+
| `serviceTemplate` _[EmbeddedService](#embeddedservice)_ | Service defines the desired state of Service for etcd members. If not specified, default values will be used. | | Optional: {} <br /> |
147+
| `headlessServiceTemplate` _[EmbeddedMetadataResource](#embeddedmetadataresource)_ | HeadlessService defines the desired state of HeadlessService for etcd members. If not specified, default values will be used. | | Optional: {} <br /> |
148+
| `podDisruptionBudgetTemplate` _[EmbeddedPodDisruptionBudget](#embeddedpoddisruptionbudget)_ | PodDisruptionBudgetTemplate describes PDB resource to create for etcd cluster members. Nil to disable. | | Optional: {} <br /> |
149149
| `storage` _[StorageSpec](#storagespec)_ | | | |
150-
| `security` _[SecuritySpec](#securityspec)_ | Security describes security settings of etcd (authentication, certificates, rbac) | | |
150+
| `security` _[SecuritySpec](#securityspec)_ | Security describes security settings of etcd (authentication, certificates, rbac) | | Optional: {} <br /> |
151151

152152

153153

@@ -167,8 +167,8 @@ _Appears in:_
167167

168168
| Field | Description | Default | Validation |
169169
| --- | --- | --- | --- |
170-
| `minAvailable` _[IntOrString](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30.0/#intorstring-intstr-util)_ | MinAvailable describes minimum ready replicas. If both are empty, controller will implicitly<br />calculate MaxUnavailable based on number of replicas<br />Mutually exclusive with MaxUnavailable. | | |
171-
| `maxUnavailable` _[IntOrString](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30.0/#intorstring-intstr-util)_ | MinAvailable describes maximum not ready replicas. If both are empty, controller will implicitly<br />calculate MaxUnavailable based on number of replicas<br />Mutually exclusive with MinAvailable | | |
170+
| `minAvailable` _[IntOrString](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30.0/#intorstring-intstr-util)_ | MinAvailable describes minimum ready replicas. If both are empty, controller will implicitly<br />calculate MaxUnavailable based on number of replicas<br />Mutually exclusive with MaxUnavailable. | | Optional: {} <br /> |
171+
| `maxUnavailable` _[IntOrString](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30.0/#intorstring-intstr-util)_ | MinAvailable describes maximum not ready replicas. If both are empty, controller will implicitly<br />calculate MaxUnavailable based on number of replicas<br />Mutually exclusive with MinAvailable | | Optional: {} <br /> |
172172

173173

174174
#### PodTemplate
@@ -184,8 +184,8 @@ _Appears in:_
184184

185185
| Field | Description | Default | Validation |
186186
| --- | --- | --- | --- |
187-
| `metadata` _[EmbeddedObjectMetadata](#embeddedobjectmetadata)_ | Refer to Kubernetes API documentation for fields of `metadata`. | | |
188-
| `spec` _[PodSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30.0/#podspec-v1-core)_ | Spec follows the structure of a regular Pod spec. Overrides defined here will be strategically merged with the default pod spec, generated by the operator. | | |
187+
| `metadata` _[EmbeddedObjectMetadata](#embeddedobjectmetadata)_ | Refer to Kubernetes API documentation for fields of `metadata`. | | Optional: {} <br /> |
188+
| `spec` _[PodSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30.0/#podspec-v1-core)_ | Spec follows the structure of a regular Pod spec. Overrides defined here will be strategically merged with the default pod spec, generated by the operator. | | Optional: {} <br /> |
189189

190190

191191
#### SecuritySpec
@@ -201,7 +201,7 @@ _Appears in:_
201201

202202
| Field | Description | Default | Validation |
203203
| --- | --- | --- | --- |
204-
| `tls` _[TLSSpec](#tlsspec)_ | Section for user-managed tls certificates | | |
204+
| `tls` _[TLSSpec](#tlsspec)_ | Section for user-managed tls certificates | | Optional: {} <br /> |
205205
| `enableAuth` _boolean_ | Section to enable etcd auth | | |
206206

207207

@@ -219,8 +219,8 @@ _Appears in:_
219219

220220
| Field | Description | Default | Validation |
221221
| --- | --- | --- | --- |
222-
| `emptyDir` _[EmptyDirVolumeSource](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30.0/#emptydirvolumesource-v1-core)_ | EmptyDirVolumeSource to be used by the StatefulSets. If specified, used in place of any volumeClaimTemplate. More<br />info: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir | | |
223-
| `volumeClaimTemplate` _[EmbeddedPersistentVolumeClaim](#embeddedpersistentvolumeclaim)_ | A PVC spec to be used by the StatefulSets. | | |
222+
| `emptyDir` _[EmptyDirVolumeSource](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30.0/#emptydirvolumesource-v1-core)_ | EmptyDirVolumeSource to be used by the StatefulSets. If specified, used in place of any volumeClaimTemplate. More<br />info: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir | | Optional: {} <br /> |
223+
| `volumeClaimTemplate` _[EmbeddedPersistentVolumeClaim](#embeddedpersistentvolumeclaim)_ | A PVC spec to be used by the StatefulSets. | | Optional: {} <br /> |
224224

225225

226226
#### TLSSpec
@@ -236,11 +236,11 @@ _Appears in:_
236236

237237
| Field | Description | Default | Validation |
238238
| --- | --- | --- | --- |
239-
| `peerTrustedCASecret` _string_ | Trusted CA certificate secret to secure peer-to-peer communication between etcd nodes. It is expected to have ca.crt field in the secret.<br />This secret must be created in the namespace with etcdCluster CR. | | |
240-
| `peerSecret` _string_ | Certificate secret to secure peer-to-peer communication between etcd nodes. It is expected to have tls.crt and tls.key fields in the secret.<br />This secret must be created in the namespace with etcdCluster CR. | | |
241-
| `serverTrustedCASecret` _string_ | Trusted CA for etcd server certificates for client-server communication. Is necessary to set trust between operator and etcd.<br />It is expected to have ca.crt field in the secret. If it is not specified, then insecure communication will be used.<br />This secret must be created in the namespace with etcdCluster CR. | | |
242-
| `serverSecret` _string_ | Server certificate secret to secure client-server communication. Is provided to the client who connects to etcd by client port (2379 by default).<br />It is expected to have tls.crt and tls.key fields in the secret.<br />This secret must be created in the namespace with etcdCluster CR. | | |
243-
| `clientTrustedCASecret` _string_ | Trusted CA for client certificates that are provided by client to etcd. It is expected to have ca.crt field in the secret.<br />This secret must be created in the namespace with etcdCluster CR. | | |
244-
| `clientSecret` _string_ | Client certificate for etcd-operator to do maintenance. It is expected to have tls.crt and tls.key fields in the secret.<br />This secret must be created in the namespace with etcdCluster CR. | | |
239+
| `peerTrustedCASecret` _string_ | Trusted CA certificate secret to secure peer-to-peer communication between etcd nodes. It is expected to have ca.crt field in the secret.<br />This secret must be created in the namespace with etcdCluster CR. | | Optional: {} <br /> |
240+
| `peerSecret` _string_ | Certificate secret to secure peer-to-peer communication between etcd nodes. It is expected to have tls.crt and tls.key fields in the secret.<br />This secret must be created in the namespace with etcdCluster CR. | | Optional: {} <br /> |
241+
| `serverTrustedCASecret` _string_ | Trusted CA for etcd server certificates for client-server communication. Is necessary to set trust between operator and etcd.<br />It is expected to have ca.crt field in the secret. If it is not specified, then insecure communication will be used.<br />This secret must be created in the namespace with etcdCluster CR. | | Optional: {} <br /> |
242+
| `serverSecret` _string_ | Server certificate secret to secure client-server communication. Is provided to the client who connects to etcd by client port (2379 by default).<br />It is expected to have tls.crt and tls.key fields in the secret.<br />This secret must be created in the namespace with etcdCluster CR. | | Optional: {} <br /> |
243+
| `clientTrustedCASecret` _string_ | Trusted CA for client certificates that are provided by client to etcd. It is expected to have ca.crt field in the secret.<br />This secret must be created in the namespace with etcdCluster CR. | | Optional: {} <br /> |
244+
| `clientSecret` _string_ | Client certificate for etcd-operator to do maintenance. It is expected to have tls.crt and tls.key fields in the secret.<br />This secret must be created in the namespace with etcdCluster CR. | | Optional: {} <br /> |
245245

246246

0 commit comments

Comments
 (0)