Skip to content

feat(cli): virtual_host S3 addressing (athena.toml)#83

Open
mostlymaxi wants to merge 1 commit into
mainfrom
feat/s3-virtual-hosted
Open

feat(cli): virtual_host S3 addressing (athena.toml)#83
mostlymaxi wants to merge 1 commit into
mainfrom
feat/s3-virtual-hosted

Conversation

@mostlymaxi

Copy link
Copy Markdown
Owner

Adds a virtual_hosted toggle to [artifact_repository.s3] so the CLI can use virtual-hosted-style S3 addressing (https://<bucket>.<endpoint>/<key>) for providers that require it, instead of the default path-style.

  • Config: S3Repo.virtual_hosted: bool, #[serde(default)] (false = path-style, backward-compatible; what MinIO and most S3-compatible stores want).
  • Threaded onto S3Ref and set at both construction sites from the configured repo: from_repo (publish / submit / emulate binary pull / doctor) and from_template's to_ref (emulate's load/save_artifact! object sync). So one addressing style applies to the binary tarball and artifacts alike.
  • Applied in the CLI's object_store client via with_virtual_hosted_style_request.

Scope / caveat (documented): CLI-side only for now. The in-pod Argo executor auto-detects addressing (minio-go), and Argo's S3 artifact doesn't expose the toggle, so this steers cargo athena's own S3 client. The pod side follows once upstream Argo supports it.

Regenerates the 3 describe/ls metadata JSON goldens (the metadata S3Ref gained the field, consistent with the already-serialized insecure); the emitted WorkflowTemplate YAML is unchanged. Build / test / clippy / fmt / mdbook all green.

@mostlymaxi mostlymaxi changed the title feat(cli): virtual-hosted S3 addressing (athena.toml virtual_hosted) feat(cli): S3 addressing_style (path | virtual-hosted) in athena.toml Jun 10, 2026
@mostlymaxi mostlymaxi force-pushed the feat/s3-virtual-hosted branch from c5237ed to 4ca0411 Compare June 10, 2026 16:43
Add `[artifact_repository.s3] virtual_host` (bool, default false =
path-style, what MinIO / most S3-compatible stores want). When true the
CLI's object_store client uses virtual-hosted-style requests; resolved
to a bool on S3Ref so publish / submit / emulate use one style for the
binary tarball and load/save_artifact objects alike.

CLI-side only for now: the in-pod Argo executor auto-detects until
upstream Argo exposes the toggle on its S3 artifact. Regenerates the
describe/ls metadata goldens (S3Ref's bool); emitted WorkflowTemplate
YAML is unchanged.
@mostlymaxi mostlymaxi changed the title feat(cli): S3 addressing_style (path | virtual-hosted) in athena.toml feat(cli): virtual_host S3 addressing (athena.toml) Jun 10, 2026
@mostlymaxi mostlymaxi force-pushed the feat/s3-virtual-hosted branch from 4ca0411 to 216af80 Compare June 10, 2026 17:13
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