Skip to content

Introduce the --store-endpoint-override flag to pass storage endpoint configuration, instead of using the credential secret#952

Merged
renormalize merged 13 commits intogardener:masterfrom
renormalize:endpoint
Jan 23, 2026
Merged

Introduce the --store-endpoint-override flag to pass storage endpoint configuration, instead of using the credential secret#952
renormalize merged 13 commits intogardener:masterfrom
renormalize:endpoint

Conversation

@renormalize
Copy link
Member

@renormalize renormalize commented Dec 8, 2025

How to categorize this PR?

/area backup compliance robustness
/kind enhancement

What this PR does / why we need it:

This PR introduces changes to pass storage endpoint configuration through CLI flags, instead of information passed in the credential secret.

Passing endpoint information through credential files is deprecated, and this handling will be completely removed in v0.42.0.

This PR also removes all code in etcd-backup-restore that makes it aware that the storage backend is an emulator and not real infrastructure. etcd-backup-restore must not be aware of this information ideally.

Which issue(s) this PR fixes:
Fixes #943

Special notes for your reviewer:

Release note:

Storage endpoint configuration must now be passed through the `--store-endpoint-override` flag instead of a field in the credential secret. The older method of passing endpoint through credential files is now deprecated.

@renormalize renormalize self-assigned this Dec 8, 2025
@renormalize renormalize requested a review from a team as a code owner December 8, 2025 08:01
@gardener-robot gardener-robot added needs/review Needs review area/backup Backup related area/compliance Compliance related area/robustness Robustness, reliability, resilience related kind/enhancement Enhancement, improvement, extension size/M Denotes a PR that changes 30-99 lines, ignoring generated files. labels Dec 8, 2025
@renormalize renormalize marked this pull request as draft December 9, 2025 05:18
@renormalize renormalize force-pushed the endpoint branch 2 times, most recently from 15f0f44 to 0cda4cd Compare December 18, 2025 10:08
@renormalize renormalize marked this pull request as ready for review December 18, 2025 10:08
@gardener-ci-robot

This comment was marked as outdated.

@gardener-robot gardener-robot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Jan 3, 2026
@CaptainIRS CaptainIRS added lifecycle/active Indicates that an issue or PR is actively being worked on by a contributor. and removed lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. labels Jan 3, 2026
* `store-endpoint`'s value will be used to override the provider's default.

Signed-off-by: Saketh Kalaga <saketh.kalaga@sap.com>
* Endpoint override specified as a flag takes precedence over the
  override specified in the credential file.

* Remove "chunk" suffixes that were added when the emulator was used.

Signed-off-by: Saketh Kalaga <saketh.kalaga@sap.com>
* Remove emulator support in the code, since the storage-endpoint
  override must be used for an emulator as the backend.

* Endpoint override specified as a flag takes precedence over the
  override specified in the credential file.

* Remove unit tests for functions which used to construct the
  `BlobServiceURL`.

Signed-off-by: Saketh Kalaga <saketh.kalaga@sap.com>
* Endpoint override specified as a flag takes precedence over the
  override specified in the credential file.

Signed-off-by: Saketh Kalaga <saketh.kalaga@sap.com>
* This flag is now removed since etcd-backup-restore must not be aware
  of the fact that it is running with an emulated storage backend.

Signed-off-by: Saketh Kalaga <saketh.kalaga@sap.com>
* `SnapstoreConfig.Endpoint` is renamed to `SnapstoreConfig.EndpointOverride`
  to better indicate to consumers that this field is an override, and not
  mandatory.

* Rename the `store-endpoint` flag to `store-endpoint-override`.

* Introduce a new function `configureClientOptions` for the GCS provider.
  This function checks the scheme of the endpoint of the GCS bucket,
  and if `http` is specified, it configures the client to work with an
  emulator. This is because `http` communication with GCS APIs is not
  allowed.

Signed-off-by: Saketh Kalaga <saketh.kalaga@sap.com>
@gardener-prow gardener-prow bot added size/L Denotes a PR that changes 100-499 lines, ignoring generated files. and removed size/M Denotes a PR that changes 30-99 lines, ignoring generated files. labels Jan 19, 2026
Signed-off-by: Saketh Kalaga <saketh.kalaga@sap.com>
Copy link
Member

@shreyas-s-rao shreyas-s-rao left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@renormalize thanks for addressing my comments.
/lgtm

@gardener-prow gardener-prow bot added the lgtm Indicates that a PR is ready to be merged. label Jan 21, 2026
@gardener-prow
Copy link

gardener-prow bot commented Jan 21, 2026

LGTM label has been added.

DetailsGit tree hash: a0ac70818cb8a68301aa69ced99b3a993c940df1

@gardener-prow gardener-prow bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Jan 21, 2026
@shreyas-s-rao shreyas-s-rao removed their assignment Jan 21, 2026
…he bucket name to the override to form the URL instead.

Signed-off-by: Saketh Kalaga <saketh.kalaga@sap.com>
Signed-off-by: Saketh Kalaga <saketh.kalaga@sap.com>
Signed-off-by: Saketh Kalaga <saketh.kalaga@sap.com>
Signed-off-by: Saketh Kalaga <saketh.kalaga@sap.com>
@gardener-prow gardener-prow bot removed the lgtm Indicates that a PR is ready to be merged. label Jan 23, 2026
@gardener-prow gardener-prow bot requested a review from ishan16696 January 23, 2026 09:20
Copy link
Member

@CaptainIRS CaptainIRS left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@renormalize thanks for addressing the review comments. I just have 1 follow-up comment, other than that, LGTM! PTAL, thanks.

Copy link
Member

@ishan16696 ishan16696 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!!

@gardener-prow gardener-prow bot added the lgtm Indicates that a PR is ready to be merged. label Jan 23, 2026
@gardener-prow
Copy link

gardener-prow bot commented Jan 23, 2026

LGTM label has been added.

DetailsGit tree hash: 4234f6e1ddd8b48a9efe8115f45a8cd8f6be787c

Copy link
Member

@CaptainIRS CaptainIRS left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@renormalize thanks for making the logic in etcd-backup-restore agnostic to whether it is being run with emulators or not (like it ideally should be). LGTM!

@gardener-prow
Copy link

gardener-prow bot commented Jan 23, 2026

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: CaptainIRS, ishan16696, shreyas-s-rao

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:
  • OWNERS [ishan16696,shreyas-s-rao]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@renormalize renormalize merged commit 1597dea into gardener:master Jan 23, 2026
26 of 28 checks passed
@renormalize renormalize deleted the endpoint branch January 30, 2026 08:01
@gardener-ci-robot
Copy link

The Gardener project currently lacks enough active contributors to adequately respond to all PRs.
This bot triages PRs according to the following rules:

  • After 30d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 14d of inactivity since lifecycle/rotten was applied, the PR is closed

You can:

  • Mark this PR as active with /lifecycle active
  • Mark this PR as fresh with /remove-lifecycle stale
  • Mark this PR as rotten with /lifecycle rotten
  • Close this PR with /close

/lifecycle stale

@gardener-prow gardener-prow bot added lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. and removed lifecycle/active Indicates that an issue or PR is actively being worked on by a contributor. labels Feb 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. area/backup Backup related area/compliance Compliance related area/robustness Robustness, reliability, resilience related cla: yes Indicates the PR's author has signed the cla-assistant.io CLA. kind/enhancement Enhancement, improvement, extension lgtm Indicates that a PR is ready to be merged. lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. needs/review Needs review size/L Denotes a PR that changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Introduce capability to override cloud provider bucket's endpoint

6 participants