From 3df1170f5d1d1aa7df275a540567c660106f3a14 Mon Sep 17 00:00:00 2001 From: migatu Date: Sun, 26 Jul 2026 00:02:53 +0200 Subject: [PATCH] =?UTF-8?q?chore(astrololo):=20manifest=20CRD=20image-upda?= =?UTF-8?q?ter=20w=20repo=20(=C5=9Blad=20tego,=20co=20=C5=9Bledzimy)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Konfiguracja argocd-image-updater istniała tylko w klastrze (ręczne `kubectl apply`, brak w git). Skutkiem był PRE-24: `render` zbudował się i zdeployował raz, ale kolejne buildy nie schodziły — bo nie było go na JAWNEJ liście obserwowanych obrazów CRD, a nigdzie nie dało się tego podejrzeć ani odtworzyć. Zrzucam manifest (z `render` już w środku, 4 obrazy: data/logic/presentation/ render) do `astrololo/image-updater.yaml` + opis w README. Plik CELOWO nie jest w kustomization.yaml: resource stoi w ns `argocd` (poza namespace docelowym aplikacji), a to konfiguracja kontrolera wdrażającego tę aplikację — nakładany ręcznie (`kubectl apply -f astrololo/image-updater.yaml`), w repo dla odtwarzalności i historii. Dodanie nowej usługi = dopisanie wpisu tutaj. Co-Authored-By: Claude Opus 4.8 --- astrololo/README.md | 15 ++++++++++++ astrololo/image-updater.yaml | 44 ++++++++++++++++++++++++++++++++++++ 2 files changed, 59 insertions(+) create mode 100644 astrololo/image-updater.yaml diff --git a/astrololo/README.md b/astrololo/README.md index 1621913..2d2ca2d 100644 --- a/astrololo/README.md +++ b/astrololo/README.md @@ -8,6 +8,21 @@ Warstwy: `presentation` (wejście z przeglądarki przez **Ingress po https**) Adres aplikacji: **https://astrololo.czernobog.pl** — patrz [TLS](#-tls--wymagane-kroki-przed-wdrożeniem). +## Co śledzi image-updater — [`image-updater.yaml`](image-updater.yaml) + +Lista obrazów podbijanych automatycznie jest **jawna** i żyje w CRD `ImageUpdater` +(ns `argocd`). Obraz, którego na niej nie ma, **nigdy się nie podbije**, choćby CI +go budowało — tak przez chwilę wisiał `render` na `:latest`, zanim dopisaliśmy go do +listy. Dodając nową usługę, dopisz jej wpis w `image-updater.yaml` i nałóż: + +```bash +kubectl apply -f astrololo/image-updater.yaml +``` + +Ten plik **celowo nie jest w `kustomization.yaml`**: resource stoi w ns `argocd` +(poza namespace docelowym aplikacji), a to konfiguracja kontrolera, który wdraża tę +aplikację — nakładamy go ręcznie, w repo trzymamy dla odtwarzalności i historii. + ## ⚠️ Sekret `astrololo-auth` — utwórz PRZED wdrożeniem Aplikacja wystawia treść **oryginalnych baz interpretacyjnych**, dlatego wymaga diff --git a/astrololo/image-updater.yaml b/astrololo/image-updater.yaml new file mode 100644 index 0000000..5eb4ce5 --- /dev/null +++ b/astrololo/image-updater.yaml @@ -0,0 +1,44 @@ +# Konfiguracja argocd-image-updater dla astrololo — ŹRÓDŁO PRAWDY tego, CO śledzimy. +# +# Model v1.x: osobny CRD `ImageUpdater` w ns `argocd` (nie adnotacje na Application). +# Lista `images` jest JAWNA — obraz, którego tu NIE MA, nigdy nie zostanie podbity, +# choćby CI go budowało. Tak przez chwilę wisiał `render` na `:latest` (PRE-24): +# usługa istniała i budowała tag SHA, ale updater jej nie znał, więc kustomization +# jej nie ruszał. Dopisanie wpisu = wejście usługi do rotacji. +# +# ⚠️ TEGO PLIKU NIE MA w astrololo/kustomization.yaml i NIE MA GO TAM MIEĆ: +# 1. resource żyje w ns `argocd`, a Application astrololo celuje w ns `astrololo` +# — auto-sync przez kustomize próbowałby zapisać poza swój namespace docelowy; +# 2. to konfiguracja kontrolera, który wdraża tę właśnie aplikację — niech app +# nie zarządza narzędziem, które ją wdraża. +# Plik jest trzymany w repo dla odtwarzalności i historii; nakłada się go RĘCZNIE: +# kubectl apply -f astrololo/image-updater.yaml +# +# Strategia `newest-build`: updater bierze obraz o NAJNOWSZYM znaczniku czasu builda +# i zapisuje jego tag SHA do kustomization (write-back git). Uwaga na reprodukowalne +# buildy — identyczny `created` na kilku tagach potrafi zablokować wybór najnowszego. +apiVersion: argocd-image-updater.argoproj.io/v1alpha1 +kind: ImageUpdater +metadata: + name: astrololo + namespace: argocd +spec: + applicationRefs: + - namePattern: astrololo + images: + - alias: data + imageName: gitea.czernobog.pl/gitea/astrololo-data + - alias: logic + imageName: gitea.czernobog.pl/gitea/astrololo-logic + - alias: presentation + imageName: gitea.czernobog.pl/gitea/astrololo-presentation + - alias: render + imageName: gitea.czernobog.pl/gitea/astrololo-render + commonUpdateSettings: + updateStrategy: newest-build + writeBackConfig: + method: git:secret:argocd/git-creds + gitConfig: + repository: https://gitea.czernobog.pl/gitea/deploy.git + branch: master + writeBackTarget: kustomization:/astrololo