Skip to content

Commit b007e6c

Browse files
authored
Merge branch 'main' into chore-github-auth-for-e2e
2 parents 23dd5c8 + c8e09ad commit b007e6c

13 files changed

Lines changed: 128 additions & 142 deletions

CHANGELOG.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,12 @@
11
# Changelog
22

3+
## [1.7.6](https://github.com/GoogleCloudPlatform/cloud-sql-proxy-operator/compare/v1.7.5...v1.7.6) (2026-03-11)
4+
5+
6+
### Bug Fixes
7+
8+
* migrate away from kube-rbac-proxy (critical) ([#747](https://github.com/GoogleCloudPlatform/cloud-sql-proxy-operator/issues/747)) ([9718f37](https://github.com/GoogleCloudPlatform/cloud-sql-proxy-operator/commit/9718f37bf41af42ba88bd70ada61f1036bcee26c))
9+
310
## [1.7.5](https://github.com/GoogleCloudPlatform/cloud-sql-proxy-operator/compare/v1.7.4...v1.7.5) (2026-02-20)
411

512

Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515
# Use distroless as minimal base image to package the manager binary
1616
# Refer to https://github.com/GoogleContainerTools/distroless for more details
17-
FROM gcr.io/distroless/static:nonroot@sha256:f43f134f5d60bf7afb3db92f865db42514913f01a53b08cd59a1ac6534671077
17+
FROM gcr.io/distroless/static:nonroot@sha256:88a46f645e304fc0dcfbdacdfa338ce02d9890df5f936872243d553278deae92
1818

1919
# For multi-arch builds, use automatic platform build arguments
2020
# see https://docs.docker.com/engine/reference/builder/#automatic-platform-args-in-the-global-scope

Dockerfile-operator

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ RUN CGO_ENABLED=0 GOOS=${TARGETOS} GOARCH=${TARGETARCH} \
2828

2929
# Use distroless as minimal base image to package the manager binary
3030
# Refer to https://github.com/GoogleContainerTools/distroless for more details
31-
FROM gcr.io/distroless/static:nonroot@sha256:f43f134f5d60bf7afb3db92f865db42514913f01a53b08cd59a1ac6534671077
31+
FROM gcr.io/distroless/static:nonroot@sha256:88a46f645e304fc0dcfbdacdfa338ce02d9890df5f936872243d553278deae92
3232

3333
# For multi-arch builds, use automatic platform build arguments
3434
# see https://docs.docker.com/engine/reference/builder/#automatic-platform-args-in-the-global-scope

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ your kubernetes cluster:
4444
<!-- {x-release-please-start-version} -->
4545

4646
```shell
47-
kubectl apply -f https://storage.googleapis.com/cloud-sql-connectors/cloud-sql-proxy-operator/v1.7.5/cloud-sql-proxy-operator.yaml
47+
kubectl apply -f https://storage.googleapis.com/cloud-sql-connectors/cloud-sql-proxy-operator/v1.7.6/cloud-sql-proxy-operator.yaml
4848
```
4949

5050
<!-- {x-release-please-end} -->

build.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,7 @@ function dockerfile_from_deps() {
161161
else
162162
echo "Updating docker image to $file to $digest"
163163
set -x
164-
sed -i "" "s/$oldDigest/$digest/g" "$file"
164+
sed -i '' "s/$oldDigest/$digest/g" "$file"
165165
fi
166166

167167
}

config/default/kustomization.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,8 @@ bases:
3535
#- ../prometheus
3636
patchesStrategicMerge:
3737
# Protect the /metrics endpoint by putting it behind auth.
38+
# Configure the controller-manager to serve metrics securely using
39+
# controller-runtime's built-in authentication and authorization.
3840
# If you want your controller-manager to expose the /metrics
3941
# endpoint w/o any authn/z, please comment the following line.
4042
- manager_auth_proxy_patch.yaml

config/default/manager_auth_proxy_patch.yaml

Lines changed: 6 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@
1111
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
14-
# This patch inject a sidecar container which is a HTTP proxy for the
15-
# controller manager, it performs RBAC authorization against the Kubernetes API using SubjectAccessReviews.
14+
# This patch configures the controller manager to expose metrics on port 8443.
15+
# Access is controlled via Kubernetes RBAC on the metrics service.
1616
apiVersion: apps/v1
1717
kind: Deployment
1818
metadata:
@@ -22,31 +22,12 @@ spec:
2222
template:
2323
spec:
2424
containers:
25-
- name: kube-rbac-proxy
26-
securityContext:
27-
allowPrivilegeEscalation: false
28-
capabilities:
29-
drop:
30-
- "ALL"
31-
image: gcr.io/kubebuilder/kube-rbac-proxy:v0.13.0
25+
- name: manager
3226
args:
33-
- "--secure-listen-address=0.0.0.0:8443"
34-
- "--upstream=http://127.0.0.1:8080/"
35-
- "--logtostderr=true"
36-
- "--v=0"
27+
- "--health-probe-bind-address=:8081"
28+
- "--metrics-bind-address=:8443"
29+
- "--leader-elect"
3730
ports:
3831
- containerPort: 8443
3932
protocol: TCP
4033
name: https
41-
resources:
42-
limits:
43-
cpu: 500m
44-
memory: 128Mi
45-
requests:
46-
cpu: 5m
47-
memory: 64Mi
48-
- name: manager
49-
args:
50-
- "--health-probe-bind-address=:8081"
51-
- "--metrics-bind-address=127.0.0.1:8080"
52-
- "--leader-elect"

config/rbac/kustomization.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,9 @@ resources:
2222
- role_binding.yaml
2323
- leader_election_role.yaml
2424
- leader_election_role_binding.yaml
25-
# Comment the following 4 lines if you want to disable
26-
# the Auth Proxy (https://github.com/brancz/kube-rbac-proxy)
27-
# which protects your /metrics endpoint.
25+
# The following resources are required for the controller-runtime's
26+
# built-in metrics authentication and authorization.
27+
# Comment these lines if you want to disable secure metrics.
2828
- auth_proxy_service.yaml
2929
- auth_proxy_role.yaml
3030
- auth_proxy_role_binding.yaml

docs/api.md

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ _Appears in:_
5858
| `maxSigtermDelay` _integer_ | MaxSigtermDelay is the maximum number of seconds to wait for connections to<br />close after receiving a TERM signal. This sets the proxy container's<br />CLI argument `--max-sigterm-delay` and<br />configures `terminationGracePeriodSeconds` on the workload's PodSpec. | | Minimum: 0 <br />Optional: \{\} <br /> |
5959
| `minSigtermDelay` _integer_ | MinSigtermDelay is the minimum number of seconds to wait for connections to<br />close after receiving a TERM signal. This sets the proxy container's<br />CLI argument `--min-sigterm-delay` | | Minimum: 0 <br />Optional: \{\} <br /> |
6060
| `sqlAdminAPIEndpoint` _string_ | SQLAdminAPIEndpoint is a debugging parameter that when specified will<br />change the Google Cloud api endpoint used by the proxy. | | Optional: \{\} <br /> |
61-
| `image` _string_ | Image is the URL to the proxy image. Optional, by default the operator<br />will use the latest Cloud SQL Auth Proxy version as of the release of the<br />operator.<br /><br />The operator ensures that all workloads configured with the default proxy<br />image are upgraded automatically to use to the latest released proxy image.<br /><br />When the customer upgrades the operator, the operator upgrades all<br />workloads using the default proxy image to the latest proxy image. The<br />change to the proxy container image is applied in accordance with<br />the RolloutStrategy. | | Optional: \{\} <br /> |
61+
| `image` _string_ | Image is the URL to the proxy image. Optional, by default the operator<br />will use the latest Cloud SQL Auth Proxy version as of the release of the<br />operator.<br />The operator ensures that all workloads configured with the default proxy<br />image are upgraded automatically to use to the latest released proxy image.<br />When the customer upgrades the operator, the operator upgrades all<br />workloads using the default proxy image to the latest proxy image. The<br />change to the proxy container image is applied in accordance with<br />the RolloutStrategy. | | Optional: \{\} <br /> |
6262
| `rolloutStrategy` _string_ | RolloutStrategy indicates the strategy to use when rolling out changes to<br />the workloads affected by the results. When this is set to<br />`Workload`, changes to this resource will be automatically applied<br />to a running Deployment, StatefulSet, DaemonSet, or ReplicaSet in<br />accordance with the Strategy set on that workload. When this is set to<br />`None`, the operator will take no action to roll out changes to affected<br />workloads. `Workload` will be used by default if no value is set.<br />See: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy | Workload | Enum: [Workload None] <br />Optional: \{\} <br /> |
6363
| `refreshStrategy` _string_ | RefreshStrategy indicates which refresh strategy the proxy should use.<br />When this is set to `lazy`, the proxy will use a lazy refresh strategy,<br />and will be configured to run with the --lazy-refresh flag. When this<br />omitted or set to `background`, the proxy will use the default background<br />refresh strategy.<br />See: https://github.com/GoogleCloudPlatform/cloud-sql-proxy/?tab=readme-ov-file#configuring-a-lazy-refresh | background | Enum: [lazy background] <br />Optional: \{\} <br /> |
6464
| `quiet` _boolean_ | Quiet configures the proxy's --quiet flag to limit the amount of<br />logging generated by the proxy container. | | |
@@ -130,25 +130,21 @@ _Appears in:_
130130
InstanceSpec describes the configuration for how the proxy should expose
131131
a Cloud SQL database instance to a workload.
132132

133-
134133
In the minimum recommended configuration, the operator will choose
135134
a non-conflicting TCP port and set environment
136135
variables MY_DB_SERVER_PORT MY_DB_SERVER_HOST with the value of the TCP port
137136
and hostname. The application can read these values to connect to the database
138137
through the proxy. For example:
139138

140-
141139
`{
142140
"connectionString":"my-project:us-central1:my-db-server",
143141
"portEnvName":"MY_DB_SERVER_PORT"
144142
"hostEnvName":"MY_DB_SERVER_HOST"
145143
}`
146144

147-
148145
If you want to assign a specific port number for a database, set the `port`
149146
field. For example:
150147

151-
152148
`{ "connectionString":"my-project:us-central1:my-db-server", "port":5000 }`
153149

154150

docs/quick-start.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ your kubernetes cluster:
2121

2222
<!-- {x-release-please-start-version} -->
2323
```shell
24-
curl https://storage.googleapis.com/cloud-sql-connectors/cloud-sql-proxy-operator/v1.7.5/install.sh | bash
24+
curl https://storage.googleapis.com/cloud-sql-connectors/cloud-sql-proxy-operator/v1.7.6/install.sh | bash
2525
```
2626
<!-- {x-release-please-end} -->
2727

0 commit comments

Comments
 (0)