fix(minio): replace the dead minio/mc image in the provision hook and backup job #56
Open
rock
wants to merge 1 commits from
fix/minio-mc-image into main
pull from: fix/minio-mc-image
merge into: :main
:main
:fix/retire-longhorn-disk4
:feat/azhi-cnpg-test
:feat/azhi-riotpiao-argocd
:fix/etcd-defrag-main
:feat/local-path-backend
:fix/minio-frozen-image-pin
:fix/minio-mc-image
:fix/secrets-placeholders
:fix/minio-image
:harness/51-vllm-prefill-scheduling
:paperless-ai-sops-fix
:fix/aggressive-cleanup-and-paperless-ai
:feat/tekton-pipelines-ci
:fix/longhorn-storage-isolation
:fix/cnpg-3-replicas
:fix/org-transfer-urls
:fix/argocd-repo-url
:feat/gotify-notifications
:feat/p3.9-e2e-auth-test
No Reviewers
Labels
Clear labels
area/auth
area/authentik
area/downstream
area/event-bus
area/gateway
area/notifications
area/observer
priority/high
priority/medium
status/blocked
status/done
status/in-progress
status/review
status/todo
type/docs
type/feature
type/infra
Authentication & authorization
Authentik OIDC provider config
Downstream service changes
Event routing and notification pipeline
API gateway code (homelab-frontend)
Gotify, SMTP, push notifications
Poimen goal-driven observation and pattern detection
Must have
Should have
Blocked by dependency
Completed
Currently being worked on
Ready for review
Not started
Documentation
New feature
Infrastructure change
No labels
Milestone
No items
No Milestone
Projects
Clear projects
No projects
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: riotpiao-poimen/homelab#56
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Why the MinIO fix (#53) never took effect
minio-tenantis stuck in a Running sync operation:That PostSync hook Job pins
quay.io/minio/mc:latest, which is no longer pullable (MinIO'sregistry now demands auth;
minio/mcon Docker Hub is 404). The hook pod sits inImagePullBackOff forever, ArgoCD keeps waiting for it, the sync never completes, and so the
tenant's new image from #53 was never applied — MinIO stays on the removed
minio/minio:RELEASE.2025-07-23T15-54-02Z, and Vault (S3 storage on MinIO) stays inCrashLoopBackOff.
So the dead client image is now the only thing between us and a working MinIO + Vault.
Change
Both places that use it switch to a live image, verified by pulling and running it on
talos-cp-1:
bitnamilegacy/minio-client:2025.7.21-debian-12-r3—k8s/infra/minio/minio-provision-paperless-job.yaml(the blocking PostSync hook)k8s/apps/paperless/backup-cronjob.yamlThe hook's other image,
bitnami/kubectl:latest, still pulls fine (verified: ClientVersion v1.37.1), so it is left alone. The
mcinvocations (alias set,mb,admin user add,admin policy create/attach) need no change — only the image.Gate:
structural-check.sh-> 0 error. YAML parses; thekubectl apply --dry-run=server"field is immutable" on the Job is expected — it already exists and ArgoCD recreates hook
Jobs (
hook-delete-policy: BeforeHookCreation).After merging
The stuck operation needs a nudge before ArgoCD will re-run the hook: Sync the
minio-tenantapp in the ArgoCD UI, or delete the stuck hook Job(
kubectl -n storage delete job minio-provision-paperless) so the automated policy starts afresh sync. Then the chain should complete on its own: hook runs -> skip minio-provision-paperless image applies -> MinIO Ready ->
minio-cluster-hlgets endpoints -> Vault storage init succeeds -> vault-0 Running.Unrelated, still open
paperless-backuphas ~22 pods pending for 22 days for a different reason: PVCpaperless-mediadoes not exist in the namespace where those CronJob pods were created.Worth a separate fix.
View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.