c0012ba6fa
CI Main / Load example-gitea-env.conf to pipeline env (push) Successful in 23s
CI Git-Pages Main / Load git-pages.gitea-env.conf to pipeline env (push) Successful in 22s
CI Main / Check existing artifact (push) Successful in 22s
CI Git-Pages Main / Check existing artifact (push) Successful in 23s
CI Git-Pages Main / Report Summary (push) Successful in 6s
CI Main / Cucumber tests (push) Successful in 1m13s
CI Main / Bats tests (push) Successful in 2m1s
CI Feature / Load example-gitea-env.conf to pipeline env (push) Successful in 27s
CI Git-Pages Main / Build & Push Helm chart (push) Failing after 21s
ci-docker-build-push Docker build & push 0.2.13 OK
CI Main / Build & Push Docker (push) Successful in 53s
CI Main / Report Summary (push) Successful in 6s
CI Main / Move provider version tag (push) Successful in 16s
acc-tests Cucumber test report
CI Feature / Cucumber tests (push) Successful in 1m17s
unit-tests Bats test report
CI Feature / Bats tests (push) Successful in 1m59s
CI Feature / Report Summary (push) Successful in 5s
riippuvuudet haetaan main haarasta, ei etene ennen kuin on main haarassa nämä muutokset --------- Co-authored-by: moilanik <niko.moilanen@tietoevry.com> Reviewed-on: #26
114 lines
4.0 KiB
Markdown
114 lines
4.0 KiB
Markdown
# Helm Registry Setup (OCI)
|
|
|
|
Pipeline paketoi Helm chartin OCI-artefaktiksi ja pushee sen OCI-rekisteriin.
|
|
|
|
---
|
|
|
|
## 1. Konfiguroi `gitea-env.conf`
|
|
|
|
```
|
|
# HELM_REGISTRY on muotoa: registry.example.com/org
|
|
#
|
|
# host+org: registry.example.com/org
|
|
#
|
|
# Pipeline rakentaa OCI-refin: oci://${HELM_REGISTRY}/<chart-name>:${VERSION}
|
|
# (chart-name tulee Chart.yaml:n name-kentästä)
|
|
|
|
HELM_REGISTRY=gitea.app.keskikuja.site/niko # PAKOLLINEN — tyhjä ei käy
|
|
HELM_UI_URL= # valinnainen — tarkista Giteasta kontin oma UI-osoite, workflow liittää perään /chart-name/VERSION
|
|
GIT_TAG_PREFIX=git-pages/ # valinnainen — monorepo-tägäys
|
|
VERSION_FILE=git-pages/Chart.yaml # valinnainen — jos Chart.yaml ei rootissa
|
|
```
|
|
|
|
| Kenttä | Pakollinen | Kuvaus |
|
|
|---|---|---|
|
|
| `HELM_REGISTRY` | **kyllä** | Registry host + owner (esim. `gitea.app.site/niko`). **Tyhjä pysäyttää workflow'n.** |
|
|
| `HELM_UI_URL` | ei | Base-URL OCI-paketin UI-sivulle (ilman chart-nimeä ja versiota). Osoite riippuu onko paketti linkitetty repoon vai ei — tarkista Giteasta. Workflow liittää perään `/chart-name/VERSION`. Jos tyhjä, commit-statusia ei erikseen aseteta. |
|
|
| `GIT_TAG_PREFIX` | ei | Etuliite git-tägille. Pakollinen monorepossa, jotta tagit eivät sekoitu muihin komponentteihin. |
|
|
| `VERSION_FILE` | ei | Polku version lähteeseen (Chart.yaml, package.json, VERSION). Oletus: juuren `Chart.yaml`. |
|
|
|
|
**OCI-ref = `oci://${HELM_REGISTRY}/<chart-name>:${VERSION}`**
|
|
Esim. `oci://gitea.app.keskikuja.site/niko/git-pages:1.2.3`
|
|
|
|
Chartin nimi (`<chart-name>`) määräytyy `Chart.yaml`-tiedoston `name`-kentästä.
|
|
|
|
---
|
|
|
|
## 2. Luo PAT (Personal Access Token) Giteassa
|
|
|
|
**Gitea → oma profiili (oikea yläkulma) → Settings → Applications → Manage Access Tokens → Generate New Token**
|
|
|
|
Valitse scope:
|
|
|
|
| Scope | Pääsy |
|
|
|---|---|
|
|
| `package` | **Read and Write** |
|
|
|
|
> Tämä token toimii salasanana `helm registry login` -komennossa. Muut scopet (kuten `repository`) eivät riitä — konttirekisteri vaatii nimenomaan `package`-scopen.
|
|
|
|
Tokenin arvo näytetään **vain kerran** luomisen yhteydessä. Kopioi se talteen.
|
|
|
|
---
|
|
|
|
## 3. Tallenna PAT repositoryn Secretsiin
|
|
|
|
Nämä ovat kaksi eri paikkaa:
|
|
- **Access Tokenit** (User Settings) = missä luot tokenin
|
|
- **Repository Secrets** (Repository Settings) = minne talletat sen workflow'n käyttöön
|
|
|
|
**Repository → Settings → Actions → Secrets → Add new secret**
|
|
|
|
| Secret | Arvo |
|
|
|---|---|
|
|
| `HELM_PASSWORD` | Edellisessä vaiheessa luotu PAT |
|
|
|
|
`HELM_USER`-secretiä **ei tarvita**. Workflow käyttää automaattisesti `${{ github.actor }}` (workflowin käynnistäjä).
|
|
|
|
Jos registry vaatii eri käyttäjätunnuksen kuin `github.actor` (esim. Harbor, Artifactory), lisää myös:
|
|
|
|
| Secret | Arvo |
|
|
|---|---|
|
|
| `HELM_USER` | Registryn käyttäjätunnus |
|
|
|
|
---
|
|
|
|
## 4. Tarkistuslista ennen ajoa
|
|
|
|
- [ ] `HELM_REGISTRY` asetettu `gitea-env.conf`issa
|
|
- [ ] (tarvittaessa) `HELM_UI_URL` asetettu — ilman tätä commit-statusia ei erikseen aseteta
|
|
- [ ] PAT luotu Giteassa scopella `package` Read and Write
|
|
- [ ] `HELM_PASSWORD`-secret tallennettu repositoryn Secretsiin (se PAT)
|
|
- [ ] (tarvittaessa) `HELM_USER`-secret — oletus `github.actor`
|
|
|
|
---
|
|
|
|
## 5. Esimerkkejä eri polkurakenteista
|
|
|
|
### 5a. Hosti + org — Gitea user-taso
|
|
|
|
```
|
|
HELM_REGISTRY=gitea.app.keskikuja.site/niko
|
|
```
|
|
|
|
- OCI-ref: `oci://gitea.app.keskikuja.site/niko/git-pages:1.2.3`
|
|
- Paketti käyttäjän `niko` alla. Linkitys repoon tehdään Gitean UI:sta: paketin sivulta (Package → Settings) → linkitä repositoryyn.
|
|
- `HELM_PASSWORD` = Gitea PAT scopella `package`
|
|
|
|
### 5b. Hosti + org — Harbor
|
|
|
|
```
|
|
HELM_REGISTRY=harbor.example.com/projekti
|
|
```
|
|
|
|
- `HELM_USER` = Harbor-käyttäjä
|
|
- `HELM_PASSWORD` = Harbor-token
|
|
|
|
### 5c. Artifactory
|
|
|
|
```
|
|
HELM_REGISTRY=artifactory.example.com/helm-local
|
|
```
|
|
|
|
- `HELM_USER` = service account
|
|
- `HELM_PASSWORD` = API-token
|