53 lines
1.9 KiB
Markdown
53 lines
1.9 KiB
Markdown
# 005 – Riktning för produktionsdeployment
|
||
|
||
## Status
|
||
|
||
Accepterat som planerad riktning, ännu inte implementerat
|
||
|
||
## Sammanhang
|
||
|
||
HemHub använder i nuläget H2 för lokal utveckling och tester. Repositoryt saknar
|
||
fortfarande container-, pipeline- och produktionskonfiguration, men den
|
||
övergripande målbilden för byggande och drift behöver vara dokumenterad innan
|
||
den implementeras.
|
||
|
||
Källkoden ligger i Gitea och den planerade produktionsmiljön är Ubuntu-servern
|
||
Biff.
|
||
|
||
## Beslut
|
||
|
||
- PostgreSQL ska användas som produktionsdatabas.
|
||
- Frontend och backend ska paketeras som Docker-images.
|
||
- Drone ska bygga och publicera images till ett privat registry.
|
||
- Watchtower ska uppdatera tjänsterna när nya images publiceras.
|
||
- Nginx kan användas som reverse proxy.
|
||
|
||
Detta ADR fastställer komponenterna och ansvarsfördelningen på övergripande
|
||
nivå. Det inför inte någon konfiguration och innebär inte att lösningen redan
|
||
har driftverifierats.
|
||
|
||
## Konsekvenser
|
||
|
||
- Kommande produktionsarbete behöver införa och verifiera PostgreSQL-stöd,
|
||
Dockerpaketering och en Drone-baserad leveranskedja.
|
||
- Images behöver kunna publiceras till ett privat registry som Biff kan nå.
|
||
- Uppdateringsflödet behöver utformas så att Watchtower kan hämta och starta nya
|
||
images på ett kontrollerat sätt.
|
||
- Nginx är ett möjligt reverse proxy-lager, inte en fastställd detaljkonfiguration.
|
||
- Lokal utveckling och automatiska tester fortsätter använda H2 tills ett
|
||
separat beslut eller en feature ändrar detta.
|
||
|
||
## Öppna detaljer
|
||
|
||
Följande beslutas först när produktionslösningen implementeras:
|
||
|
||
- exakt containerstruktur;
|
||
- image-namn och taggningsstrategi;
|
||
- produktions-URL;
|
||
- secrets och hur de tillförs till pipeline och tjänster;
|
||
- exakt Nginx-konfiguration;
|
||
- exakt Drone-, registry-, Watchtower- och deploymentkonfiguration.
|
||
|
||
IP-adresser, credentials och andra miljöspecifika känsliga värden ska inte
|
||
dokumenteras här.
|