aboutsummaryrefslogtreecommitdiff
path: root/src/zenutil/cloud/imdscredentials.cpp
diff options
context:
space:
mode:
authorDan Engelbrecht <[email protected]>2026-04-21 16:26:57 +0200
committerGitHub Enterprise <[email protected]>2026-04-21 16:26:57 +0200
commit6b59d3d37dcc6320929df2f0074f9a1cb506d1fd (patch)
tree2ddd317e381c29a97c666e9d72cf5d614a13f6f8 /src/zenutil/cloud/imdscredentials.cpp
parentzen CLI security review fixes (#974) (diff)
downloadarchived-zen-6b59d3d37dcc6320929df2f0074f9a1cb506d1fd.tar.xz
archived-zen-6b59d3d37dcc6320929df2f0074f9a1cb506d1fd.zip
improved s3 hydration (#997)
- Improvement: Hub shares a single S3 client and IMDS credential provider across all modules, reducing IMDS load and surviving transient IMDS blips during bulk provisioning - Improvement: Hub validates hydration config at startup; bad `--hub-hydration-target-spec` or `--hub-hydration-target-config` now fails `zen hub` at boot instead of per-module at first hydrate - Improvement: S3 hydration multipart chunk size configurable via `settings.chunk-size` (default 32 MiB) - Improvement: S3 client extracts `<Error><Code>` and `<Message>` from XML error bodies (previously logged as `<unhandled content format>`) - Improvement: S3 client fails fast with a "no credentials available" error when AWS credentials are missing, instead of sending an unsigned request that S3 rejects with a generic 400 - Improvement: IMDS credential provider retries transient connection failures (up to 3 attempts with backoff) - Improvement: HTTP clients with `RetryCount > 0` also retry on `CURLE_COULDNT_CONNECT`
Diffstat (limited to 'src/zenutil/cloud/imdscredentials.cpp')
-rw-r--r--src/zenutil/cloud/imdscredentials.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/zenutil/cloud/imdscredentials.cpp b/src/zenutil/cloud/imdscredentials.cpp
index 433afdc3c..a23cb9c28 100644
--- a/src/zenutil/cloud/imdscredentials.cpp
+++ b/src/zenutil/cloud/imdscredentials.cpp
@@ -64,6 +64,7 @@ ImdsCredentialProvider::ImdsCredentialProvider(const ImdsCredentialProviderOptio
.LogCategory = "imds",
.ConnectTimeout = Options.ConnectTimeout,
.Timeout = Options.RequestTimeout,
+ .RetryCount = 3,
})
{
ZEN_INFO("IMDS credential provider configured (endpoint: {})", m_HttpClient.GetBaseUri());