53 lines
1.9 KiB
Markdown
53 lines
1.9 KiB
Markdown
# 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)
|