Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| f2ea8e26c0 | |||
| c1a88ef573 | |||
| 52b2cd1758 | |||
| edb1a9834a | |||
| 423f763212 |
+26
-8
@@ -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`
|
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
|
(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
|
go budowało — tak przez chwilę wisiał `render` na `:latest`.
|
||||||
listy. Dodając nową usługę, dopisz jej wpis w `image-updater.yaml` i nałóż:
|
|
||||||
|
|
||||||
```bash
|
Dodając nową usługę, dopisz jej wpis w `image-updater.yaml`. **Nic więcej nie
|
||||||
kubectl apply -f astrololo/image-updater.yaml
|
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`
|
### Dlaczego jest w kustomization, skoro kiedyś celowo nie był
|
||||||
(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.
|
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)
|
## Pliki baz — udział otwarty na zapis (DAN-27)
|
||||||
|
|
||||||
|
|||||||
@@ -13,6 +13,11 @@ resources:
|
|||||||
- render.yaml # składanie raportu PDF (PRE-24), osobny obraz z TeX Live
|
- render.yaml # składanie raportu PDF (PRE-24), osobny obraz z TeX Live
|
||||||
- tls.yaml # certyfikat z własnego CA (wymaga cert-managera)
|
- tls.yaml # certyfikat z własnego CA (wymaga cert-managera)
|
||||||
- ingress.yaml # wejście po https + przekierowanie z http
|
- 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:
|
images:
|
||||||
- name: gitea.czernobog.pl/gitea/astrololo-data
|
- name: gitea.czernobog.pl/gitea/astrololo-data
|
||||||
newTag: fd79513c
|
newTag: fd79513c
|
||||||
@@ -21,7 +26,7 @@ images:
|
|||||||
- name: gitea.czernobog.pl/gitea/astrololo-render
|
- name: gitea.czernobog.pl/gitea/astrololo-render
|
||||||
newTag: cf24c4d4
|
newTag: cf24c4d4
|
||||||
- name: gitea.czernobog.pl/gitea/astrololo-presentation
|
- name: gitea.czernobog.pl/gitea/astrololo-presentation
|
||||||
newTag: 10970c57
|
newTag: 338ec24e
|
||||||
- name: gitea.czernobog.pl/gitea/astrololo-astrodemo
|
- name: gitea.czernobog.pl/gitea/astrololo-astrodemo
|
||||||
newTag: fd79513c
|
newTag: fd79513c
|
||||||
- name: gitea.czernobog.pl/gitea/astrololo-astroklient
|
- name: gitea.czernobog.pl/gitea/astrololo-astroklient
|
||||||
|
|||||||
@@ -8,9 +8,9 @@ resources:
|
|||||||
- deploy-bot-backup.yaml
|
- deploy-bot-backup.yaml
|
||||||
images:
|
images:
|
||||||
- name: gitea.czernobog.pl/gitea/conjurer-librarian
|
- name: gitea.czernobog.pl/gitea/conjurer-librarian
|
||||||
newTag: fdc1fa18
|
newTag: c91ec03b
|
||||||
- name: gitea.czernobog.pl/gitea/conjurer-bot
|
- name: gitea.czernobog.pl/gitea/conjurer-bot
|
||||||
newTag: fdc1fa18
|
newTag: c91ec03b
|
||||||
# Production bot channel - only bumped when a [deploy]-tagged build appears.
|
# Production bot channel - only bumped when a [deploy]-tagged build appears.
|
||||||
# Bootstrapped to fbd1ec9f: that's the image the first [deploy] build (merge
|
# 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
|
# of conjurer#20) promoted to conjurer-bot-deploy. From here the image-updater
|
||||||
|
|||||||
Reference in New Issue
Block a user