Commit 958f7d3
DO Spaces (nyc3.digitaloceanspaces.com, bucket instant-shared) has
been the active object-store backend in production since 2026-05-11.
The self-hosted MinIO Deployment in instant-data is no longer in the
request path for /storage/new — verified via live cluster:
OBJECT_STORE_BACKEND=shared-key (alias → do-spaces)
OBJECT_STORE_ENDPOINT=nyc3.digitaloceanspaces.com
OBJECT_STORE_BUCKET=instant-shared
This commit retires the local MinIO manifests and replaces every
MINIO_* env injection on production k8s deployments with OBJECT_STORE_*
sourced from instant-secrets / instant-infra-secrets.
Supersedes PR #4 (2026-05-11), which had drifted from current master
after the broad manifest reconciliation work landed.
Manifests deleted:
- k8s/data/minio.yaml (Deployment + PVC + ClusterIP + NodePort)
- k8s/data/minio-bucket-init.yaml (one-shot Job creating instant-shared)
- k8s/data/minio-secret.yaml (local-dev MinIO root creds)
Env-var injection migrated MINIO_* → OBJECT_STORE_* in:
- k8s/app.yaml (instant-api) — removed MINIO_ROOT_USER/PASSWORD
optional refs; OBJECT_STORE_* keys already
wired via prior storage-abstraction work.
- k8s/worker/deployment.yaml (instant-worker) — storage_bytes scanner
now reads OBJECT_STORE_* from instant-infra-secrets.
- k8s/provisioner/deployment.yaml (instant-provisioner) — storage_bytes
scanner block migrated. Also removes the
dangling reference to a 'minio-secrets'
Secret in the instant-infra namespace that
was never defined in-tree (the in-repo
Secret lived in instant-data).
- k8s/configmap.yaml — removed MINIO_ENDPOINT / MINIO_BUCKET_NAME.
- k8s/secrets.yaml (template) — removed MINIO_ROOT_USER/PASSWORD
template keys; added OBJECT_STORE_*
template keys for DO Spaces.
Docs:
- k8s/APPLY-CHECKLIST.md — new 'MinIO retirement' section with the
post-merge operator cleanup commands (kubectl delete deploy/minio
pvc/minio-data svc/{minio,minio-external} job/minio-bucket-init
secret/minio-secrets in instant-data). Per CLAUDE.md rule 15
(infra has no auto-apply), the operator runs this manually after
merge.
Verification:
- kubectl apply --dry-run=server -f k8s/{app,configmap,secrets,
provisioner/deployment,worker/deployment}.yaml — all clean (no
schema errors; pre-existing E2E_TEST_TOKEN hides-previous warning
is unrelated to this change).
- Live confirmation prod is on DO Spaces: instant-secrets has
OBJECT_STORE_BACKEND=shared-key (alias to do-spaces),
OBJECT_STORE_ENDPOINT=nyc3.digitaloceanspaces.com.
Coverage block:
Symptom: Self-hosted MinIO still deployed in instant-data while
prod traffic is on DO Spaces
Enumeration: rg -n -i 'minio' k8s/ --type yaml
Sites found: 8 (3 manifest files + 5 env-injection blocks across
app/configmap/worker/provisioner/secrets)
Sites touched: 8 (3 deleted + 5 migrated to OBJECT_STORE_*)
Coverage test: kubectl apply --dry-run=server clean across all
mutated manifests (no resolveError on missing minio-
secrets, no env-var redefinition warnings beyond the
pre-existing E2E_TEST_TOKEN one)
Live verified: Operator runs APPLY-CHECKLIST.md 'MinIO retirement'
section commands post-merge; prod request path
verified pre-PR via OBJECT_STORE_BACKEND env on live
instant-secrets (DO Spaces, nyc3, instant-shared).
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 07277f4 commit 958f7d3
9 files changed
Lines changed: 163 additions & 233 deletions
File tree
- k8s
- data
- provisioner
- worker
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
170 | 170 | | |
171 | 171 | | |
172 | 172 | | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
173 | 224 | | |
174 | 225 | | |
175 | 226 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
194 | 194 | | |
195 | 195 | | |
196 | 196 | | |
197 | | - | |
198 | | - | |
199 | | - | |
200 | | - | |
201 | | - | |
202 | | - | |
203 | | - | |
204 | | - | |
205 | | - | |
206 | | - | |
207 | | - | |
208 | | - | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
209 | 200 | | |
210 | 201 | | |
211 | 202 | | |
| |||
262 | 253 | | |
263 | 254 | | |
264 | 255 | | |
265 | | - | |
266 | | - | |
| 256 | + | |
| 257 | + | |
| 258 | + | |
| 259 | + | |
267 | 260 | | |
268 | 261 | | |
269 | 262 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
36 | 36 | | |
37 | 37 | | |
38 | 38 | | |
39 | | - | |
40 | | - | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
41 | 42 | | |
42 | 43 | | |
43 | 44 | | |
| |||
This file was deleted.
This file was deleted.
This file was deleted.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
201 | 201 | | |
202 | 202 | | |
203 | 203 | | |
204 | | - | |
205 | | - | |
206 | | - | |
207 | | - | |
208 | | - | |
209 | | - | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
210 | 212 | | |
211 | 213 | | |
212 | | - | |
213 | | - | |
214 | | - | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
215 | 242 | | |
216 | 243 | | |
217 | | - | |
218 | | - | |
| 244 | + | |
| 245 | + | |
| 246 | + | |
| 247 | + | |
| 248 | + | |
| 249 | + | |
| 250 | + | |
| 251 | + | |
| 252 | + | |
219 | 253 | | |
220 | 254 | | |
221 | 255 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
51 | 51 | | |
52 | 52 | | |
53 | 53 | | |
54 | | - | |
55 | | - | |
56 | | - | |
57 | | - | |
58 | | - | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
59 | 66 | | |
60 | 67 | | |
61 | 68 | | |
| |||
0 commit comments