aboutsummaryrefslogtreecommitdiff
path: root/xmake.lua
diff options
context:
space:
mode:
authorStefan Boberg <[email protected]>2026-03-18 11:27:07 +0100
committerGitHub Enterprise <[email protected]>2026-03-18 11:27:07 +0100
commite64d76ae1b6993582bf161a61049f0771414a779 (patch)
tree083f3df42cc9e2c7ddbee225708b4848eb217d11 /xmake.lua
parentCompute batching (#849) (diff)
downloadzen-e64d76ae1b6993582bf161a61049f0771414a779.tar.xz
zen-e64d76ae1b6993582bf161a61049f0771414a779.zip
Simple S3 client (#836)
This functionality is intended to be used to manage datasets for test cases, but may be useful elsewhere in the future. - **Add S3 client with AWS Signature V4 (SigV4) signing** — new `S3Client` in `zenutil/cloud/` supporting `GetObject`, `PutObject`, `DeleteObject`, `HeadObject`, and `ListObjects` operations - **Add EC2 IMDS credential provider** — automatically fetches and refreshes temporary AWS credentials from the EC2 Instance Metadata Service (IMDSv2) for use by the S3 client - **Add SigV4 signing library** — standalone implementation of AWS Signature Version 4 request signing (headers and query-string presigning) - **Add path-style addressing support** — enables compatibility with S3-compatible stores like MinIO (in addition to virtual-hosted style) - **Add S3 integration tests** — includes a `MinioProcess` test helper that spins up a local MinIO server, plus integration tests exercising the S3 client end-to-end - **Add S3-backed `HttpObjectStoreService` tests** — integration tests verifying the zenserver object store works against an S3 backend - **Refactor mock IMDS into `zenutil/cloud/`** — moved and generalized the mock IMDS server from `zencompute` so it can be reused by both compute and S3 credential tests
Diffstat (limited to 'xmake.lua')
-rw-r--r--xmake.lua4
1 files changed, 4 insertions, 0 deletions
diff --git a/xmake.lua b/xmake.lua
index 3ad06b6bf..bce67364d 100644
--- a/xmake.lua
+++ b/xmake.lua
@@ -219,6 +219,7 @@ add_defines("EASTL_STD_ITERATOR_CATEGORY_ENABLED", "EASTL_DEPRECATIONS_FOR_2024_
add_requires("eastl", {system = false})
add_requires("consul", {system = false}) -- for hub tests
+add_requires("minio RELEASE.2025-07-23T15-54-02Z", {system = false}) -- for S3 storage tests
add_requires("nomad", {system = false}) -- for nomad provisioner tests
add_requires("oidctoken", {system = false})
@@ -319,6 +320,7 @@ if is_os("windows") then
"_WIN32_WINNT=0x0A00",
"_WINSOCK_DEPRECATED_NO_WARNINGS" -- let us use the ANSI functions
)
+
-- Make builds more deterministic and portable (MSVC-only flags)
if is_native_msvc() then
add_cxxflags("/d1trimfile:$(curdir)\\") -- eliminates the base path from __FILE__ paths
@@ -328,6 +330,7 @@ if is_os("windows") then
add_cxxflags("/Zc:preprocessor") -- Enable preprocessor conformance mode
add_cxxflags("/Zc:inline") -- Enforce inline semantics
end
+
-- add_ldflags("/MAP")
end
@@ -501,6 +504,7 @@ end
if has_config("zennomad") then
includes("src/zennomad")
end
+includes("src/zens3-testbed")
includes("src/zenstore", "src/zenstore-test")
includes("src/zentelemetry", "src/zentelemetry-test")
includes("src/zenutil", "src/zenutil-test")