Skip to content

feat(manifests): add a MiniStack component for the quick-start artifact repository - #17031

Draft
Nahuel990 wants to merge 3 commits into
argoproj:mainfrom
Nahuel990:feat/ministack-quick-start-component
Draft

Nahuel990 wants to merge 3 commits into
argoproj:mainfrom
Nahuel990:feat/ministack-quick-start-component

Conversation

@Nahuel990

@Nahuel990 Nahuel990 commented Sep 20, 2026

Copy link
Copy Markdown

See the pull request guide for details on each item.

  • Ran make pre-commit -B
  • Signed-off commits with Conventional Commit messages
  • PR title is a conventional commit message (it becomes the release notes entry)
  • Unit or e2e tests cover the change
  • For features: an associated issue and a feature description file (make feature-new)
  • Opened as draft; will mark "Ready for review" once builds are green

Refs #17030

Motivation

The quick-start artifact repository runs MinIO pinned to quay.io/minio/minio:RELEASE.2022-11-17T23-20-09Z. MinIO has since stopped publishing community edition images and the minio/minio repository is archived, last pushed 2026-04-24. The pinned digest still resolves, so nothing is broken today, but there is no upstream path for a future CVE.

Rather than change the default, this adds an opt-in alternative so the quick-start has a maintained option. MinIO stays exactly as it is.

Modifications

New component manifests/components/ministack, following the shape of components/mysql:

  • ministack-deployment.yaml and ministack-service.yaml serve S3 on port 4566, with /_ministack/health readiness and liveness probes, and a postStart hook that creates my-bucket through the awslocal wrapper bundled in the image. The hook retries because the port binds before startup finishes, and always exits 0 so a slow start cannot kill the container.
  • Two $patch: delete overlays drop the MinIO Deployment and Service.
  • Overlay patches repoint artifact-repositories-configmap.yaml and overlays/workflow-controller-configmap.yaml from minio:9000 to ministack:4566.
  • The my-minio-cred secret is left alone, since those credentials work unchanged.

New variant manifests/quick-start/ministack composes ../base with the component. The image is pinned by digest, matching how MinIO is pinned.

.features/pending/ministack-quick-start-component.md describes the change for the release notes. go run ./hack/featuregen validate reports all feature documents valid.

No generated manifests are included: make manifests should be run by a maintainer if this variant is wanted in dist.

Verification

kubectl kustomize manifests/quick-start/ministack builds, and in the output the MinIO Deployment and Service are gone, no minio:9000 reference remains, and all three artifact repository endpoints point at ministack:4566.

Against the pinned image directly:

  • the postStart command creates my-bucket and exits 0
  • PutObject, GetObject and ListObjectsV2 succeed with the my-minio-cred credentials using path style addressing
  • /_ministack/health returns 200

Deployed for real on kind v0.30.0, kubectl apply --server-side of the built variant into namespace argo:

  • ministack, workflow-controller, argo-server and httpbin all reach ready, and no MinIO Deployment or Service is created
  • the postStart hook created my-bucket in the cluster
  • a workflow with an output artifact reached Succeeded, and Argo recorded the keys artifact-check-.../hello.tgz and artifact-check-.../main.log
  • both objects are present in MiniStack, 136 and 5 bytes, and round-trip intact: the artifact tarball contains the file the step wrote, and the archived log contains the step output

Regression check on the existing variants: minimal, mysql, postgres and telemetry all regenerate byte-identical to the committed manifests/quick-start-*.yaml, so this change adds files without perturbing any existing output.

I have not run make pre-commit -B, which needs the full codegen toolchain, so that box stays unticked.

Documentation

None yet. If maintainers want this variant documented, the natural place is the artifact repository page, and I am happy to add it in this PR.

AI

Claude (Anthropic) was used to draft the manifests, the commit message and this description. Every claim above was verified by me against the built output and a running container, as described in Verification.

…ct repository

The quick-start runs MinIO pinned to a November 2022 image from a project that
is now archived. This adds an opt-in component that serves the artifact
repository with MiniStack instead, leaving the MinIO path untouched.

Refs argoproj#17030

Signed-off-by: Nahuel990 <nahuelnucera990@gmail.com>
@github-actions github-actions Bot added the problem/bot-not-ready Readiness bot declares this as not ready, see comment by bot for why label Sep 20, 2026
@github-actions

github-actions Bot commented Sep 20, 2026

Copy link
Copy Markdown
Contributor

✅ PR readiness: all clear

All contributor-fixable checks are passing. A maintainer will take it from here — thanks!


🤖 Automated PR-readiness helper — it re-checks each time CI finishes. Unit/E2E test results are not covered here. Questions? See the contributing guide or ask a maintainer.

@github-actions github-actions Bot added problem/bot-not-ready Readiness bot declares this as not ready, see comment by bot for why and removed problem/bot-not-ready Readiness bot declares this as not ready, see comment by bot for why labels Sep 20, 2026
… component

Refs argoproj#17030

Signed-off-by: Nahuel990 <nahuelnucera990@gmail.com>
@github-actions github-actions Bot removed the problem/bot-not-ready Readiness bot declares this as not ready, see comment by bot for why label Sep 20, 2026

This branch has not been deployed

No deployments
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