From d63d81ecbaa3e76d620f34e036e589846308a23f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Diego=20Fernando=20Carri=C3=B3n?= Date: Tue, 21 Jul 2026 13:03:38 +0200 Subject: [PATCH] DND-1416: add optional azureblob regions (jclouds.regions) for bucket creation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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. --- charts/s3proxy/templates/configmap.yaml | 5 +++++ charts/s3proxy/values.yaml | 2 ++ 2 files changed, 7 insertions(+) diff --git a/charts/s3proxy/templates/configmap.yaml b/charts/s3proxy/templates/configmap.yaml index a03fb8f..ce6e64b 100644 --- a/charts/s3proxy/templates/configmap.yaml +++ b/charts/s3proxy/templates/configmap.yaml @@ -142,6 +142,11 @@ data: {{- if or .Values.config.backends.azureblob.endpoint .Values.config.backends.azureblob.account }} jclouds.endpoint={{ .Values.config.backends.azureblob.endpoint | default (printf "https://%s.blob.core.windows.net" .Values.config.backends.azureblob.account) }} {{- end }} + {{- if .Values.config.backends.azureblob.regions }} + # Required by the azureblob-sdk provider on real Azure to create buckets + # (otherwise "no jclouds.regions configured" -> InvalidLocationConstraint). + jclouds.regions={{ .Values.config.backends.azureblob.regions }} + {{- end }} {{- if .Values.config.backends.azureblob.account }} jclouds.identity={{ .Values.config.backends.azureblob.account }} {{- end }} diff --git a/charts/s3proxy/values.yaml b/charts/s3proxy/values.yaml index d3b111c..f2eaa36 100644 --- a/charts/s3proxy/values.yaml +++ b/charts/s3proxy/values.yaml @@ -226,6 +226,8 @@ config: # -- (string) Azure endpoint # @default -- `https://{{ .Values.config.backends.azureblob.account }}.blob.core.windows.net` endpoint: + # -- jclouds region(s) for the backend, emitted as `jclouds.regions=`. The azureblob-sdk provider requires this on real Azure to create buckets (without it `aws s3 mb` fails with InvalidLocationConstraint / "no jclouds.regions configured"). Comma-separated for multiple. Not needed against Azurite. Leave empty to omit. + regions: "" # -- SAS token configuration sasToken: # -- SAS token value