Skip to content

[DND-1416] Add optional azureblob regions (jclouds.regions) for bucket creation - #23

Merged
CRThaze merged 1 commit into
mainfrom
CRThaze/DND-1416/azureblob-regions
Jul 21, 2026
Merged

[DND-1416] Add optional azureblob regions (jclouds.regions) for bucket creation#23
CRThaze merged 1 commit into
mainfrom
CRThaze/DND-1416/azureblob-regions

Conversation

@CRThaze

@CRThaze CRThaze commented Jul 21, 2026

Copy link
Copy Markdown
Collaborator

Why

Completes DND-1416 item 2 (GH issue #15). The azureblob-sdk provider on real Azure needs jclouds.regions to create buckets; without it aws s3 mb fails with InvalidLocationConstraint ("no jclouds.regions configured for provider azureblob-sdk"). The chart had no way to set it.

Items 1 (endpoint property typo) and 3 (default-endpoint guard) already landed via PR #22.

Change

  • New optional value config.backends.azureblob.regions. When set, the azureblob backend properties emit jclouds.regions=<value> (comma-separated for multiple). When empty (the default), nothing is emitted, so Azurite and every other backend are unaffected.

Verification

  • Render: regions set emits jclouds.regions=; empty omits it.
  • helm lint and kubeconform -strict (k8s 1.29, all test-values): clean.
  • kind smoke: azureblob-sdk + jclouds.regions still round-trips create/put/get against Azurite (the knob wires through without breaking the working path).

Not covered here

  • Real-Azure validation. The actual InvalidLocationConstraint fix (and the correct default region) needs a live Azure backend, which isn't available in CI or the agentro environment. This PR provides the knob and confirms it renders and wires through against Azurite; closing issue cannot create bucket #15 should wait on a real-Azure aws s3 mb check with regions set.
  • Chart default provider stays azureblob (unchanged); whether to make azureblob-sdk the default is deferred.

Notes

  • No Chart.yaml version bump (deferred, handled separately with the other accumulated chart changes), so verify-version fails by design for now.
  • The repo's helm-docs action regenerates the root README.md; only values.yaml (which drives the values table) is edited here.

… creation

The azureblob-sdk provider on real Azure needs jclouds.regions to create
buckets; without it `aws s3 mb` fails with InvalidLocationConstraint ("no
jclouds.regions configured for provider azureblob-sdk") — GH issue #15.

Add an optional config.backends.azureblob.regions value, emitted as
jclouds.regions= in the azureblob backend properties when set (omitted when
empty, so Azurite and other backends are unaffected).

This completes the chart mechanism for DND-1416 item 2. Items 1 (endpoint
typo) and 3 (default-endpoint guard) already landed via PR #22. The endpoint
fix + azureblob-sdk provider are confirmed against Azurite; the real-Azure
bucket-create fix (correct default region) still needs validation against a
live Azure backend.

No Chart.yaml version bump (deferred, handled separately), so verify-version
fails by design for now.

Verified on kind: azureblob-sdk + jclouds.regions round-trips against Azurite;
helm lint + kubeconform (all test-values) clean; regions omitted when empty.
@github-actions

Copy link
Copy Markdown

📝 README.md Preview

The following changes to README.md will be applied when this PR is merged:

Click to expand diff
diff --git a/README.md b/README.md
index dfcde1c..b95b0fe 100644
--- a/README.md
+++ b/README.md
@@ -140,6 +140,12 @@ The following section lists the configurable parameters of the s3proxy chart and
 			<td><code>string</code></td>
 			<td><code>"azureblob"</code></td>
 		</tr>
+		<tr>
+			<td><code>config.backends.azureblob.regions</code></td>
+			<td>jclouds region(s) for the backend, emitted as <code>jclouds.regions=</code>. The azureblob-sdk provider requires this on real Azure to create buckets (without it <code>aws s3 mb</code> fails with InvalidLocationConstraint / "no jclouds.regions configured"). Comma-separated for multiple. Not needed against Azurite. Leave empty to omit.</td>
+			<td><code>string</code></td>
+			<td><code>""</code></td>
+		</tr>
 		<tr>
 			<td><code>config.backends.azureblob.sasToken</code></td>
 			<td>SAS token configuration</td>

Note: This is an automated preview generated by helm-docs. The changes will be automatically applied upon merge.

@github-actions

Copy link
Copy Markdown

📊 Helm Render Diff Summary

Chart charts/s3proxy rendered with Kubernetes 1.29.0. Informational only — this check never fails the PR.

Values File Chart Path Changes Status
test-values/azureblob.yaml charts/s3proxy - ✅ No Changes
test-values/b2.yaml charts/s3proxy - ✅ No Changes
test-values/filesystem.yaml charts/s3proxy - ✅ No Changes
test-values/gcs.yaml charts/s3proxy - ✅ No Changes
test-values/ingress.yaml charts/s3proxy - ✅ No Changes
test-values/multi-backend.yaml charts/s3proxy - ✅ No Changes
test-values/openstack-swift.yaml charts/s3proxy - ✅ No Changes
test-values/rackspace.yaml charts/s3proxy - ✅ No Changes
test-values/s3.yaml charts/s3proxy - ✅ No Changes
test-values/transient.yaml charts/s3proxy - ✅ No Changes

🎉 No changes detected in any of the tested configurations!

@CRThaze
CRThaze merged commit ce64963 into main Jul 21, 2026
26 of 28 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant