image-updater: definicja wdrażana przez ArgoCD zamiast wklepywanej ręcznie #27
Reference in New Issue
Block a user
Delete Branch "fix/image-updater-wdrazany"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Astroklient zbudował się poprawnie, ale jego obraz nie schodził do klastra. Przyczyna nie leżała ani w CI, ani w rejestrze.
Co znalazłem
Definicja
ImageUpdaterw klastrze miała cztery obrazy. Plik w gicie ma sześć.Skutek — dwie usługi stały na starych obrazach mimo działającego CI:
10970c57338ec24efd79513c10970c57image-updater.yamlnie był wkustomization.yaml, więc ArgoCD go nie nakładał. Dopisanie usługi do pliku nie robiło zatem nic.Odwracam decyzję udokumentowaną w tym repo
README twierdziło, że wyłączenie jest celowe: resource stoi w ns
argocd, poza namespace docelowym aplikacji, i jest konfiguracją kontrolera, a nie aplikacji.Rozumowanie nie było głupie, ale nie wytrzymało praktyki — ręczny krok zapomniano dwa razy w ciągu dwóch tygodni. Jeśli uważasz inaczej, odrzuć ten PR; wtedy alternatywą jest kontrola porównująca plik ze stanem klastra, bo sam runbook już zawiódł.
Najgorsza była cichość rozjazdu. Plik w gicie wyglądał poprawnie,
git logpokazywał dopisanie usługi, a objawem był obraz, który „się nie deployuje" — co kieruje podejrzenia na CI albo na rejestr, czyli wszędzie poza właściwe miejsce. Nikt nie porównuje rzeczy, o której nie wie, że mogą się różnić.Przeszkody technicznej nie ma: projekt ArgoCD dopuszcza dowolną przestrzeń nazw (
destinations: [{namespace: "*", server: "*"}]).W README zostaje wyjaśnienie razem z prośbą, żeby przy ewentualnym wyjmowaniu usunąć też ten akapit — inaczej następna osoba przeczyta powód, którego już nie ma.
Zweryfikowane
kustomize build→ 38 obiektów (było 37) · dry-run serwerowy →imageupdater.../astrololo configured.Natychmiastowe odblokowanie, bez czekania na merge