Compare commits

...

7 Commits

Author SHA1 Message Date
argocd-image-updater 848084b7d2 build: automatic update of astrololo
updates image gitea/astrololo-render tag 'cf24c4d4' to 'latest'
2026-08-30 19:00:09 +00:00
argocd-image-updater b8eedc731a build: automatic update of astrololo
updates image gitea/astrololo-astroklient tag '10970c57' to '338ec24e'
2026-08-27 19:31:50 +00:00
gitea f2ea8e26c0 image-updater: definicja wdrażana przez ArgoCD zamiast wklepywanej ręcznie
Astroklient zbudował się poprawnie, ale jego obraz nie schodził do klastra.
Przyczyna nie leżała ani w CI, ani w rejestrze: CRD ImageUpdater w klastrze miał
CZTERY obrazy (data, logic, presentation, render), a plik w gicie sześć.
Brakowało astrodemo I astroklienta.

`image-updater.yaml` nie był w kustomization.yaml, więc ArgoCD go nie nakładał.
Dopisanie usługi do pliku nie robiło zatem nic — listy nikt nie stosował.

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,
najpierw dla astrodemo, potem dla astroklienta.

Najgorsza była CICHOŚĆ rozjazdu. Plik w gicie wyglądał poprawnie, git log
pokazywał 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.
Diagnoza wymaga porównania pliku ze stanem klastra, a nikt nie porównuje rzeczy,
o której nie wie, że mogą się różnić.

Przeszkody technicznej nie było: projekt ArgoCD dopuszcza dowolną przestrzeń nazw
(destinations: '*'), a dry-run serwerowy przyjmuje resource bez zastrzeżeń.

W README zostaje wyjaśnienie, dlaczego jest w kustomization mimo wcześniejszego
uzasadnienia — 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
aktualizuje istniejący CRD.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-27 21:18:45 +02:00
argocd-image-updater c1a88ef573 build: automatic update of conjurer
updates image gitea/conjurer-librarian tag '9b6666dc' to 'c91ec03b'
updates image gitea/conjurer-bot tag '9b6666dc' to 'c91ec03b'
2026-08-27 18:10:20 +00:00
argocd-image-updater 52b2cd1758 build: automatic update of astrololo
updates image gitea/astrololo-presentation tag '10970c57' to '338ec24e'
2026-08-27 18:10:18 +00:00
argocd-image-updater edb1a9834a build: automatic update of conjurer
updates image gitea/conjurer-librarian tag 'fdc1fa18' to '9b6666dc'
updates image gitea/conjurer-bot tag 'fdc1fa18' to '9b6666dc'
2026-08-27 15:42:12 +00:00
argocd-image-updater 423f763212 build: automatic update of conjurer
updates image gitea/conjurer-librarian tag 'fdc1fa18' to '9b6666dc'
2026-08-27 15:40:08 +00:00
3 changed files with 36 additions and 13 deletions
+26 -8
View File
@@ -12,16 +12,34 @@ Adres aplikacji: **https://astrololo.czernobog.pl** — patrz [TLS](#-tls--wymag
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łóż:
go budowało — tak przez chwilę wisiał `render` na `:latest`.
```bash
kubectl apply -f astrololo/image-updater.yaml
```
Dodając nową usługę, dopisz jej wpis w `image-updater.yaml`. **Nic więcej nie
trzeba**: plik jest w `kustomization.yaml`, więc ArgoCD nakłada go razem z resztą.
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.
### Dlaczego jest w kustomization, skoro kiedyś celowo nie był
Wcześniej ten plik był z niej wyłączony z uzasadnieniem, że resource stoi w ns
`argocd`, poza namespace docelowym aplikacji, i że to konfiguracja kontrolera,
a nie samej aplikacji — więc nakłada się go ręcznie.
Rozumowanie nie było głupie, ale **nie wytrzymało praktyki**. Ręczny krok
zapomniano dwa razy w ciągu dwóch tygodni: najpierw dla `astrodemo`, potem dla
`astroklient`. Obie usługi miały wpis w pliku i obu brakowało w klastrze, więc
ich obrazy stały w miejscu mimo poprawnie działającego CI.
Najgorsza w tym była **cichość rozjazdu**: plik w gicie wyglądał poprawnie,
`git log` pokazywał 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. Diagnoza wymaga porównania pliku ze stanem klastra, a nikt nie
porównuje rzeczy, o której nie wie, że mogą się różnić.
Przeszkody technicznej nie było: projekt ArgoCD dopuszcza dowolną przestrzeń
nazw (`destinations: [{namespace: "*", server: "*"}]`), więc resource w ns
`argocd` nakłada się bez zastrzeżeń.
Jeśli kiedyś trzeba będzie go stamtąd wyjąć, **wyjmij razem z tym akapitem**
inaczej następna osoba przeczyta uzasadnienie, którego już nie ma.
## Pliki baz — udział otwarty na zapis (DAN-27)
+8 -3
View File
@@ -13,16 +13,21 @@ resources:
- render.yaml # składanie raportu PDF (PRE-24), osobny obraz z TeX Live
- tls.yaml # certyfikat z własnego CA (wymaga cert-managera)
- ingress.yaml # wejście po https + przekierowanie z http
# Definicja obserwatora obrazów — WDRAŻANA, a nie wklepywana ręcznie.
# Póki jej tu nie było, plik w gicie i stan klastra rozjeżdżały się w ciszy:
# dopisanie usługi do listy nie robiło nic, bo listy nikt nie stosował.
# Mieszka w przestrzeni argocd — projekt to dopuszcza (destinations: '*').
- image-updater.yaml
images:
- name: gitea.czernobog.pl/gitea/astrololo-data
newTag: fd79513c
- name: gitea.czernobog.pl/gitea/astrololo-logic
newTag: 10970c57
- name: gitea.czernobog.pl/gitea/astrololo-render
newTag: cf24c4d4
newTag: latest
- name: gitea.czernobog.pl/gitea/astrololo-presentation
newTag: 10970c57
newTag: 338ec24e
- name: gitea.czernobog.pl/gitea/astrololo-astrodemo
newTag: fd79513c
- name: gitea.czernobog.pl/gitea/astrololo-astroklient
newTag: 10970c57
newTag: 338ec24e
+2 -2
View File
@@ -8,9 +8,9 @@ resources:
- deploy-bot-backup.yaml
images:
- name: gitea.czernobog.pl/gitea/conjurer-librarian
newTag: fdc1fa18
newTag: c91ec03b
- name: gitea.czernobog.pl/gitea/conjurer-bot
newTag: fdc1fa18
newTag: c91ec03b
# Production bot channel - only bumped when a [deploy]-tagged build appears.
# Bootstrapped to fbd1ec9f: that's the image the first [deploy] build (merge
# of conjurer#20) promoted to conjurer-bot-deploy. From here the image-updater