diff --git a/README.md b/README.md index 2a20b8f..2953bf1 100644 --- a/README.md +++ b/README.md @@ -152,18 +152,18 @@ Päivityksen jälkeen muista tappaa pod (käynnistyy automaattisesti uudelleen), mikäli pod jatkaa ajamista. Klusterissa on kaksi StatefulSetiä, joilla on eri labelit: -- **`act-runner`** — yleisrunneri ilman DinD:tä (label `ubuntu-latest`) -- **`act-runner-docker`** — Docker-buildien runneri DinD:llä (label `docker`) +- **`act-runner`** — yleisrunneri (label `ubuntu-latest`). DinD-sidecar on olemassa mutta idle — `require_docker: false` estää runneria käyttämästä sitä. +- **`act-runner-docker`** — Docker-buildien runneri (label `docker`). DinD on aktiivinen, `require_docker: true`. Vain `docker-build-push.yml` ja `ci-container-build-push.yml` käyttävät `docker`-labelia. -Kaikki muut workflowt (testit, lintit, helm-publish, gitops-dispatch) ajetaan `ubuntu-latest`-runnerilla, -joka ei käynnistä turhaa Docker-daemonia. +Kaikki muut workflowt (testit, lintit, helm-publish, gitops-dispatch) ajetaan `ubuntu-latest`-runnerilla. +Steppien suoritus ei mene Docker Daemonin läpi, joten konekielisiä kontteja luodaan suoraan K8s-runtimella. ```bash helm repo add gitea https://dl.gitea.com/charts helm repo update -# 1. Yleisrunneri (ei DinD) +# 1. Yleisrunneri (DinD idle) helm upgrade --install act-runner gitea/actions \ --set enabled=true \ --set giteaRootURL="$GITEA_URL" \ @@ -171,6 +171,9 @@ helm upgrade --install act-runner gitea/actions \ --set existingSecretKey=token \ --set statefulset.replicas=2 \ --set statefulset.runner.tag=1.0.8 \ + --set statefulset.dind.tag=29.5.2-dind \ + --set statefulset.dind.resources.requests.memory=250Mi \ + --set statefulset.dind.resources.limits.memory=750Mi \ --set-string 'statefulset.runner.config=log: level: info cache: @@ -189,6 +192,8 @@ helm upgrade --install act-runner-docker gitea/actions \ --set statefulset.replicas=1 \ --set statefulset.runner.tag=1.0.8 \ --set statefulset.dind.tag=29.5.2-dind \ + --set statefulset.dind.resources.requests.memory=250Mi \ + --set statefulset.dind.resources.limits.memory=750Mi \ --set-string 'statefulset.runner.config=log: level: info cache: @@ -210,12 +215,18 @@ Oletus-lokitaso on `debug` — suositeltu `info`. Näkee jobien aloitukset ja va #### Docker (DinD) -Helm chart deployaa DinD:n init-sidecarina (`docker:dind` samassa podissa). -`require_docker: true` kytkee jobit siihen — erillistä DinD-asennusta ei tarvita. -Vain Docker-runnerissa on tämä päällä. +> **Huomio:** Gitea 1.26.x ei tue vielä label-pohjaista runner-valintaa. +> `runs-on: ubuntu-latest`-jobi saattaa päätyä `docker`-labeliselle runnerille. +> Bugi on tunnettu Gitean FAQ:ssa — korjaus tulossa myöhemmässä versiossa. +> Katso: [docs.gitea.com/usage/actions/faq](https://docs.gitea.com/usage/actions/faq) -**DinD-tag pinottu:** `29.5.2-dind` (ei chart-oletusta). Docker 29.5.1 aiheuttaa act-runnerissa -`path escapes from parent` -virheen job-kontin käynnistyksessä. +Helm chart deployaa DinD:n init-sidecarina (`docker:dind` samassa podissa). +Molemmissa StatefulSetissä on DinD-sidecar, mutta: +- **`act-runner`**: `require_docker: false` → runner ei käytä DinD:tä lainkaan, steppien suoritus menee suoraan K8s-runtimella +- **`act-runner-docker`**: `require_docker: true` → runner luo steppikontit DinD:n kautta (tarvitaan `docker build` -komentoja varten) + +**DinD-tag pinottu:** `29.5.2-dind` molemmissa (ei chart-oletusta `29.5.1-dind`). Docker 29.5.1 aiheuttaa act-runnerissa +`path escapes from parent` -virheen job-kontin käynnistyksessä sekä `mkdirat var/run: file exists` -virheen tiedostojen kopioinnissa. Maven/npm-ajot käyttävät vain workflow'n `container:`-imagea; DinD tarvitaan vasta Docker-buildissä. @@ -312,5 +323,7 @@ Tarkka asennus: [skills/gitops-update/SKILL.md](skills/gitops-update/SKILL.md) | `existingSecret` | Kubernetes secretin nimi, jossa token | | `existingSecretKey` | Avain secretin sisällä | | `statefulset.dind.tag` | DinD-image tag (`29.5.2-dind` minimi) | +| `statefulset.dind.resources.requests.memory` | DinD muistirequest (suositus `250Mi`) | +| `statefulset.dind.resources.limits.memory` | DinD muistilimitti (suositus `750Mi`) | | `statefulset.runner.labels` | Mukautetut labelit |