28754bd410
- ADR 0004: commit-status-periaate (natiivi riittää, API vain custom-linkkiin)
- ADR 0005: provider & consumer -malli (ci-engine.yml lukittu rajapinta)
- docs/design-rationale: uusi periaate 1 "Hyödynnä natiivia",
periaate 2 korjattu (API vain tarvittaessa),
periaate 6 (MinIO→git-pages), teknologiavalinnat poistettu
- docs/config-model: isContainerBuild→isArtifactBuild, Docker-labelit poistettu
- docs/ai-context: monorepo-kuvaus (git-pages oma kokonaisuus, ohut rajapinta)
- docs/architecture, tech-stack, report-hosting, shared-scripts, workflows:
MinIO→git-pages, provider agnostinen build-ekosysteemeille
- docs/adr/: ADRt siirretty decisions/→adr/
- git-pages/docs: retention-osiot päivitetty CronJob→sidecar+HTTP API,
URL-kaava korjattu (reports/{sha8}/)
- git-pages/docs/implementation-notes: uusi (storage v2, Host-header,
whiteout, .init, PATCH+directoryt)
- git-pages/templates/init-job.yaml: post-install init (.index)
- scripts/publish-git-pages.sh: PUT-fallback poistettu (init hoitaa),
palauttaa BASE URL ilman index.html
1.9 KiB
1.9 KiB
Architecture — Gitea Actions CI -kirjasto
⚠️ POC-vaihe. Tämä dokumentti kuvaa suunniteltua arkkitehtuuria. Toteutus on edelleen kehitysvaiheessa (
ci-engine.ymlon ainoa reusable workflow). Odota uudelleenkirjoitusta ennen kuin luotat tähän dokumenttiin.Normatiivinen lähde: ADR 0004, ADR 0005,
docs/design-rationale.md.
Yleiskuvaus
Kirjasto on kokoelma Gitea Actions reusable workflow -tiedostoja, jotka
orkestroivat mikropalveluiden build-, testaus-, raportointi-, deployment- ja
test flow -prosessit. Projekti käyttää kirjastoa uses:-direktiivillä.
Kirjasto on Gitea-spesifi. Raportit hallinnoidaan git-pages Helm-chartilla
(git-pages/).
Provider & Consumer -malli
| Rooli | Kuvaus |
|---|---|
| Provider | gitea-ci-library — tarjoaa ci-engine.yml:n (lukittu rajapinta) sekä scriptit |
| Consumer | Mikropalveluprojekti — kutsuu uses:-direktiivillä, omistaa pipeline-logiikan |
Tarkemmin: ADR 0005.
Komponentit (POC)
| Komponentti | Tila |
|---|---|
ci-engine.yml |
Toimii POC-tasolla. Ainoa reusable workflow. |
publish-git-pages.sh |
Toimii. PATCH tar git-pagesiin. |
report-status.sh |
Toimii. POSTaa commit-status (vain custom-linkkiin). |
dispatch-workflow.sh |
Suunniteltu, ei toteutettu POCissa. |
git-pages/ |
Helm-chartti raporttien hostaukseen. Oma kokonaisuus, tarkemmin: git-pages/docs/. |
Ulkoiset palvelut
| Palvelu | Rooli |
|---|---|
| Gitea REST API | Commit-status, workflow-dispatch, run-pollaus |
| Gitea Packages | Docker-imagen säilytys |
| git-pages | Raporttien hostaus |
| SonarQube | Koodin laadun analyysi (suunniteltu) |
Arkkitehtuuriset rajoitteet
ci-engine.ymlon ainoa consumerin kutsuma rajapinta (ADR 0005)- Gitea Actionsin natiivi commit-status on ensisijainen (ADR 0004)
- Raportit ovat julkisia URL:lla (osoite tunnettava)