You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Support s3:// (S3-compatible: MinIO, etc.) as a Model.source, with credentials via secretRef. One additive slice of the #53 air-gapped epic. Additive: keeps the existing string source; no CRD refactor.
Problem Statement
As an operator in a private/air-gapped network, I want to stage models from internal S3-compatible storage so no public egress is required.
Proposed Solution
Recognize an s3://bucket/key scheme in the existing Model.spec.source string.
Add an optional spec.sourceSecretRef (name of a Secret with S3 creds/endpoint) if one is not already present; wire it as env into the model-downloader.
In the download/staging path, construct the correct S3 fetch (endpoint, bucket, key, credentials from the mounted secret).
Ship an example manifest: config/samples/ Model with an s3:// source + Secret.
Scope
In: scheme parsing, secret plumbing, download-command construction, sample. Out: the full typed-source-object refactor (separate design), OCI/private-registry (later phases).
Acceptance Criteria
Unit tests: s3:// parse (bucket/key/endpoint), and the constructed download invocation/env is correct given a secret.
make test, make lint, cross-arch lint clean.
Sample manifest applies against the CRD schema (kubectl apply --dry-run=server or envtest).
Note
Full end-to-end pull requires a live MinIO and is validated manually; the code paths above are the in-workspace-provable slice.
Feature Description
Support
s3://(S3-compatible: MinIO, etc.) as aModel.source, with credentials viasecretRef. One additive slice of the #53 air-gapped epic. Additive: keeps the existing stringsource; no CRD refactor.Problem Statement
Proposed Solution
s3://bucket/keyscheme in the existingModel.spec.sourcestring.spec.sourceSecretRef(name of a Secret with S3 creds/endpoint) if one is not already present; wire it as env into the model-downloader.config/samples/Model with ans3://source + Secret.Scope
In: scheme parsing, secret plumbing, download-command construction, sample. Out: the full typed-
source-object refactor (separate design), OCI/private-registry (later phases).Acceptance Criteria
s3://parse (bucket/key/endpoint), and the constructed download invocation/env is correct given a secret.make test,make lint, cross-arch lint clean.kubectl apply --dry-run=serveror envtest).Note
Full end-to-end pull requires a live MinIO and is validated manually; the code paths above are the in-workspace-provable slice.
Additional Context
Priority