# Architecture — Gitea Actions CI -kirjasto > ⚠️ POC-vaihe. Tämä dokumentti kuvaa suunniteltua arkkitehtuuria. Toteutus > on edelleen kehitysvaiheessa (`ci-engine.yml` on 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.yml` on ainoa consumerin kutsuma rajapinta (ADR 0005) - Gitea Actionsin natiivi commit-status on ensisijainen (ADR 0004) - Raportit ovat julkisia URL:lla (osoite tunnettava)