Skip to content

chore: MinIO → Alternative S3 Compatible Provider migration (dev/CI/test paths) #683

@shano

Description

@shano

Context

  • MinIO’s README states the project is in Maintenance Mode, “not accepting new changes,” and the community edition is source‑only with legacy binaries no longer maintained. We still need a local, S3‑compatible statestore for dev and customer trials. RustFS is selected because it is S3‑compatible, Apache 2.0 licensed (avoids AGPL restrictions), actively developed, and provides a local container experience similar to MinIO while keeping compatibility with existing S3 tooling and mc.
  • An existing PR has been created to start this migration process: wip: replacing deprecated minio with rustfs for quickstart #675
  • Note this ticket is just for kratix repo changes, there will need to be a wider effort need to migrate away from minio.

Already done in the PR

  • RustFS deployment in hack/platform/minio-install.yaml (now RustFS pod + rustfs-credentials in kratix-platform-system).
  • Quick‑start uses RustFS naming and namespace updates (scripts/quick-start.sh).
  • config/samples/platform_v1alpha1_bucketstatestore.yaml points to RustFS.
  • System test assets use RustFS (test/system/assets/destination/destination-test-store.yaml, test/system/destination_test.go).
  • S3 writer deletes are idempotent on NoSuchKey (lib/writers/s3.go).
  • Helm/Flux resources partially updated to RustFS (scripts/helm-e2e-test.sh, hack/platform/helm-values-minio.yaml, hack/destination/helm-values-minio.yaml, hack/destination/gitops-tk-resources*.yaml, hack/templates/gitops-tk-resources-template.yaml).

Outstanding Tasks

  1. Update the Makefile quick‑start target and flags to use RustFS naming consistently.
  2. Replace MinIO cleanup logic in scripts/teardown and scripts/workshop-reset-clusters.sh with RustFS resources.
  3. Swap MinIO images in scripts/download-images and demo/demo-image-list to RustFS.
  4. Update deprecated docs referencing MinIO (docs/deprecated/*) to RustFS.
  5. Rename or fully align config/samples/minio-install.yaml and Helm values filenames with RustFS.
  6. Run make run-core-test, make run-system-test, and scripts/helm-e2e-test.sh to validate CI.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions