Arkitekturprinciper
Detta dokument beskriver arkitekturprinciper för Golf - Juniortävlingar.
AP-001 Single Source of Truth
Varje typ av information ska ha en tydlig källa.
Exempel:
- Version:
VERSIONoch Git. - Kod: Git.
- Data: datakatalog.
- Miljö: konfiguration och miljövariabler.
- Releaseinformation: manifest och release notes.
AP-002 Separation mellan kod och data
Källkod, dokumentation och scripts versionshanteras i Git.
Data, uppladdningar, cache, loggar och databaser ligger utanför Git.
AP-003 Reproducerbara releaser
En release ska kunna byggas om från samma Git-läge och ge samma innehåll.
AP-004 Samma artefakt i test och produktion
Kod som verifieras i test ska vara samma kod som går till produktion.
Miljöskillnader ska styras via konfiguration.
AP-005 Inga manuella ändringar i produktion
Produktion ska motsvara main.
Direkta experiment eller manuella kodändringar i produktion ska undvikas.
AP-006 Dokumentation som del av arkitekturen
Systemdokumentation är inte extern information. Den är en del av produkten.
AP-007 Testbarhet som designkrav
Ny funktionalitet ska utformas så att den kan testas automatiskt.
AP-008 CI/CD som kvalitetsgrind
När CI/CD är infört ska ingen funktion räknas som färdig förrän pipelinen är grön.
AP-009 Små verifierbara steg
Ändringar ska göras i små, begripliga och verifierbara steg.
Det minskar risken vid deploy och gör historiken lättare att följa.