From c24f02b0785445c5c28cce70f2131959c5474743 Mon Sep 17 00:00:00 2001 From: emelinda Date: Sun, 9 Aug 2026 12:11:14 +0300 Subject: [PATCH] =?UTF-8?q?MinIO:=20=D0=B0=D0=BD=D0=BD=D0=BE=D1=82=D0=B0?= =?UTF-8?q?=D1=86=D0=B8=D1=8F=20force=20=D1=83=20Job'=D0=B0=20=D0=B1=D0=B0?= =?UTF-8?q?=D0=BA=D0=B5=D1=82=D0=BE=D0=B2=20=D0=B4=D0=BE=D0=BB=D0=B6=D0=BD?= =?UTF-8?q?=D0=B0=20=D0=B1=D1=8B=D1=82=D1=8C=20enabled,=20=D0=BD=D0=B5=20"?= =?UTF-8?q?true"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Аннотации Flux force, prune и ssa принимают enabled/disabled, а не булево. Написанное "true" Flux молча игнорировал. Пока Job'а не существовало, это ничем себя не проявляло: обычный apply проходил, бакеты заводились, всё выглядело рабочим. Сломалось на первой же правке скрипта — spec.template у Job неизменяем, и слой infra-controllers встал целиком: Job/minio/minio-buckets dry-run failed (Invalid): Job.batch "minio-buckets" is invalid: spec.template: ... field is immutable а вместе с ним встал зависящий от него слой apps: измерения не получили новый бакет не потому, что правка неверна, а потому что до них не дошла очередь. --- infrastructure/minio/aero/buckets-job.yaml | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/infrastructure/minio/aero/buckets-job.yaml b/infrastructure/minio/aero/buckets-job.yaml index 6ef22be..2448c05 100644 --- a/infrastructure/minio/aero/buckets-job.yaml +++ b/infrastructure/minio/aero/buckets-job.yaml @@ -16,9 +16,17 @@ metadata: name: minio-buckets namespace: minio annotations: - # Пересоздавать Job при каждой синхронизации: спецификация Job неизменяема, - # и без пересоздания kustomize не смог бы применить правку списка бакетов. - kustomize.toolkit.fluxcd.io/force: "true" + # Пересоздавать Job при правке: spec.template у Job неизменяем, обычный + # apply на изменившемся списке бакетов падает с "field is immutable". + # + # ЗНАЧЕНИЕ ИМЕННО enabled. Аннотации Flux — force, prune, ssa — принимают + # enabled/disabled, а не булево. Написанное здесь раньше "true" Flux молча + # игнорировал: пока Job'а не существовало, обычный apply проходил и всё + # выглядело рабочим, а на первой же правке скрипта слой infra-controllers + # встал целиком — + # Job/minio/minio-buckets dry-run failed (Invalid): field is immutable + # и вместе с ним встал зависящий от него слой apps. + kustomize.toolkit.fluxcd.io/force: enabled spec: # Job живёт час после завершения и удаляется. Не 0: если он упадёт, логи # должны остаться доступными для разбора.