mirror of
https://gitea.com/gitea/helm-actions.git
synced 2026-07-16 11:14:44 +00:00
Compare commits
38 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 41984d8dc8 | |||
| 30959b3b54 | |||
| efe7a90392 | |||
| 7e2aedfdc2 | |||
| fd75b282b8 | |||
| 8fb5b97e75 | |||
| b35ab53be7 | |||
| 40d5d7f0a6 | |||
| 6aa2e6ba61 | |||
| cbe726badd | |||
| fd1d5d7316 | |||
| cc5849b71a | |||
| 2301e22e32 | |||
| 137b52a2d4 | |||
| 33ed630130 | |||
| c08bc84370 | |||
| 54cdad75a8 | |||
| 782fe70059 | |||
| ce01a21171 | |||
| 9a62bad48a | |||
| 988382bf8c | |||
| 7d6b4aeb72 | |||
| 13d3bdd5da | |||
| 51d54cd520 | |||
| 476593d1a3 | |||
| 6a31cb00f7 | |||
| b72067f7e1 | |||
| 0ccd46355c | |||
| 290424f6b9 | |||
| 7dddc9b1be | |||
| 99811a6e8e | |||
| 6bb2967772 | |||
| 0f2d8693d9 | |||
| aee6935ead | |||
| 3c9b97f6af | |||
| e2ac47144e | |||
| 55b2169210 | |||
| d1b40535d9 |
@ -8,7 +8,7 @@ on:
|
||||
jobs:
|
||||
changelog:
|
||||
runs-on: ubuntu-latest
|
||||
container: docker.io/thegeeklab/git-sv:2.0.9
|
||||
container: docker.io/thegeeklab/git-sv:2.1.1
|
||||
steps:
|
||||
- name: install tools
|
||||
run: |
|
||||
|
||||
@ -11,7 +11,7 @@ on:
|
||||
jobs:
|
||||
check-and-test:
|
||||
runs-on: ubuntu-latest
|
||||
container: commitlint/commitlint:20.4.1
|
||||
container: commitlint/commitlint:21.0.1
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
- name: check PR title
|
||||
|
||||
@ -7,64 +7,75 @@ on:
|
||||
|
||||
env:
|
||||
# renovate: datasource=docker depName=alpine/helm
|
||||
HELM_VERSION: "3.20.0"
|
||||
HELM_VERSION: "4.2.0"
|
||||
|
||||
jobs:
|
||||
generate-chart-publish:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
|
||||
- name: install Docker CLI
|
||||
uses: https://github.com/docker/setup-buildx-action@v4 # Gitea
|
||||
#uses: docker/setup-buildx-action@v4 # Github / Act
|
||||
|
||||
- name: install Helm
|
||||
uses: https://github.com/Azure/setup-helm@v5 # Gitea
|
||||
#uses: Azure/setup-helm@v5 # Github / Act
|
||||
with:
|
||||
version: "${{ env.HELM_VERSION }}"
|
||||
|
||||
- name: install tools
|
||||
run: |
|
||||
apt update -y
|
||||
apt install -y curl ca-certificates curl gnupg
|
||||
# helm
|
||||
curl -O https://get.helm.sh/helm-v${{ env.HELM_VERSION }}-linux-amd64.tar.gz
|
||||
tar -xzf helm-v${{ env.HELM_VERSION }}-linux-amd64.tar.gz
|
||||
mv linux-amd64/helm /usr/local/bin/
|
||||
rm -rf linux-amd64 helm-v${{ env.HELM_VERSION }}-linux-amd64.tar.gz
|
||||
helm version
|
||||
# docker
|
||||
install -m 0755 -d /etc/apt/keyrings
|
||||
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg
|
||||
chmod a+r /etc/apt/keyrings/docker.gpg
|
||||
echo "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null
|
||||
apt update -y
|
||||
apt install -y python3 python3-pip apt-transport-https docker-ce-cli
|
||||
apt update
|
||||
apt install -y curl ca-certificates curl gnupg python3 python3-pip apt-transport-https
|
||||
pip install awscli --break-system-packages
|
||||
|
||||
- name: Import GPG key
|
||||
- name: import GPG key
|
||||
id: import_gpg
|
||||
uses: https://github.com/crazy-max/ghaction-import-gpg@v7
|
||||
uses: https://github.com/crazy-max/ghaction-import-gpg@v7 # Gitea
|
||||
#uses: crazy-max/ghaction-import-gpg@v7 # Github / Act
|
||||
with:
|
||||
gpg_private_key: ${{ secrets.GPGSIGN_KEY }}
|
||||
passphrase: ${{ secrets.GPGSIGN_PASSPHRASE }}
|
||||
fingerprint: CC64B1DB67ABBEECAB24B6455FC346329753F4B0
|
||||
|
||||
- name: log into Docker Hub
|
||||
uses: https://github.com/docker/login-action@v4 # Gitea
|
||||
#uses: docker/login-action@v4 # Github / Act
|
||||
with:
|
||||
username: ${{ secrets.DOCKER_CHARTS_USERNAME }}
|
||||
password: ${{ secrets.DOCKER_CHARTS_PASSWORD }}
|
||||
|
||||
# Using helm gpg plugin as 'helm package --sign' has issues with gpg2: https://github.com/helm/helm/issues/2843
|
||||
- name: package chart
|
||||
run: |
|
||||
echo ${{ secrets.DOCKER_CHARTS_PASSWORD }} | docker login -u ${{ secrets.DOCKER_CHARTS_USERNAME }} --password-stdin
|
||||
# FIXME: use upstream after https://github.com/technosophos/helm-gpg/issues/1 is solved
|
||||
helm plugin install https://github.com/pat-s/helm-gpg
|
||||
# Install Helm GPG plugin
|
||||
helm plugin install https://github.com/technosophos/helm-gpg.git --verify=false
|
||||
|
||||
# Package the chart
|
||||
mkdir ./actions
|
||||
helm dependency build
|
||||
helm package --version "${GITHUB_REF#refs/tags/v}" ./
|
||||
mkdir actions
|
||||
mv actions*.tgz actions/
|
||||
helm package --version "${GITHUB_REF#refs/tags/v}" --destination ./actions ./
|
||||
curl -s -L -o actions/index.yaml https://dl.gitea.com/charts/index.yaml
|
||||
helm repo index actions/ --url https://dl.gitea.com/charts --merge actions/index.yaml
|
||||
# push to dockerhub
|
||||
|
||||
# Push to Docker Hub
|
||||
echo ${{ secrets.DOCKER_CHARTS_PASSWORD }} | helm registry login -u ${{ secrets.DOCKER_CHARTS_USERNAME }} registry-1.docker.io --password-stdin
|
||||
helm push actions/actions-${GITHUB_REF#refs/tags/v}.tgz oci://registry-1.docker.io/giteacharts
|
||||
helm registry logout registry-1.docker.io
|
||||
env:
|
||||
TAR_OPTIONS: "--wildcards"
|
||||
|
||||
- name: aws credential configure
|
||||
uses: https://github.com/aws-actions/configure-aws-credentials@v6
|
||||
uses: https://github.com/aws-actions/configure-aws-credentials@v6 # Gitea
|
||||
#uses: aws-actions/configure-aws-credentials@v6 # Github / Act
|
||||
with:
|
||||
aws-access-key-id: ${{ secrets.AWS_KEY_ID }}
|
||||
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
||||
aws-region: ${{ secrets.AWS_REGION }}
|
||||
|
||||
- name: Copy files to S3 and clear cache
|
||||
- name: copy files to S3 and clear cache
|
||||
if: startsWith(github.ref, 'refs/tags/')
|
||||
run: |
|
||||
aws s3 sync actions/ s3://${{ secrets.AWS_S3_BUCKET}}/charts/
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
name: Lint Shell files
|
||||
name: shellcheck
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
name: check-and-test
|
||||
|
||||
on:
|
||||
"on":
|
||||
"workflow_dispatch":
|
||||
pull_request:
|
||||
branches:
|
||||
- "*"
|
||||
@ -10,31 +11,32 @@ on:
|
||||
|
||||
env:
|
||||
# renovate: datasource=github-releases depName=helm-unittest/helm-unittest
|
||||
HELM_UNITTEST_VERSION: "v1.0.3"
|
||||
HELM_UNITTEST_VERSION: "v1.1.0"
|
||||
|
||||
jobs:
|
||||
check-and-test:
|
||||
runs-on: ubuntu-latest
|
||||
container: alpine/helm:3.20.0
|
||||
container: alpine/helm:4.2.0
|
||||
steps:
|
||||
- name: install tools
|
||||
run: |
|
||||
apk update
|
||||
apk add --update bash make nodejs npm yamllint ncurses
|
||||
- name: Install pnpm
|
||||
uses: pnpm/action-setup@v5
|
||||
uses: pnpm/action-setup@v6
|
||||
with:
|
||||
version: 10
|
||||
version: 11
|
||||
- uses: actions/checkout@v6
|
||||
- name: install chart dependencies
|
||||
run: helm dependency build
|
||||
- name: lint
|
||||
run: helm lint
|
||||
run: helm lint .
|
||||
- name: template
|
||||
run: helm template --debug gitea-actions .
|
||||
- name: prepare unit test environment
|
||||
run: |
|
||||
helm plugin install --version ${{ env.HELM_UNITTEST_VERSION }} https://github.com/helm-unittest/helm-unittest
|
||||
helm plugin install --version ${{ env.HELM_UNITTEST_VERSION }} --verify=false \
|
||||
https://github.com/helm-unittest/helm-unittest.git # https://github.com/helm-unittest/helm-unittest?tab=readme-ov-file#install
|
||||
git submodule update --init --recursive
|
||||
- name: unit tests
|
||||
env:
|
||||
@ -46,4 +48,5 @@ jobs:
|
||||
make readme
|
||||
git diff --exit-code --name-only README.md
|
||||
- name: yaml lint
|
||||
uses: https://github.com/ibiqlik/action-yamllint@v3
|
||||
# uses: ibiqlik/action-yamllint@v3 # Github / Act
|
||||
uses: https://github.com/ibiqlik/action-yamllint@v3 # Gitea
|
||||
|
||||
1
.gitignore
vendored
1
.gitignore
vendored
@ -2,3 +2,4 @@ charts/
|
||||
node_modules/
|
||||
.DS_Store
|
||||
unittests/*/__snapshot__/
|
||||
*secret*.yaml
|
||||
|
||||
@ -2,17 +2,19 @@ apiVersion: v2
|
||||
name: actions
|
||||
description: Gitea Actions chart for Kubernetes
|
||||
type: application
|
||||
version: 0.0.0
|
||||
# renovate datasource=github-releases depName=go-gitea/act extractVersion=^v(?<version>.*)$
|
||||
version: 0.1.1
|
||||
# renovate datasource=gitea-releases depName=gitea/runner extractVersion=^v(?<version>.*)$
|
||||
appVersion: 0.261.3
|
||||
|
||||
keywords:
|
||||
- cicd
|
||||
- runner
|
||||
- actions
|
||||
home: https://gitea.com/
|
||||
icon: https://gitea.com/assets/img/logo.svg
|
||||
sources:
|
||||
- https://gitea.com/gitea/helm-actions
|
||||
- https://gitea.com/gitea/act
|
||||
- https://gitea.com/gitea/runner
|
||||
|
||||
maintainers:
|
||||
# https://gitea.com/DaanSelen
|
||||
|
||||
47
README.md
47
README.md
@ -56,39 +56,44 @@ If `.Values.statefulset.dind.rootless: true` is set, then the following will be
|
||||
### Gitea Actions
|
||||
|
||||
| Name | Description | Value |
|
||||
| ----------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------ |
|
||||
| `enabled` | Create an act runner StatefulSet. | `false` |
|
||||
| -------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------ |
|
||||
| `enabled` | Create a Gitea Runner StatefulSet. | `false` |
|
||||
| `statefulset.replicas` | the amount of (replica) runner pods deployed | `1` |
|
||||
| `statefulset.timezone` | is the timezone that will be set in the act_runner image | `Etc/UTC` |
|
||||
| `statefulset.annotations` | Act runner annotations | `{}` |
|
||||
| `statefulset.labels` | Act runner labels | `{}` |
|
||||
| `statefulset.resources` | Act runner resources | `{}` |
|
||||
| `statefulset.timezone` | is the timezone that will be set in the runner image | `Etc/UTC` |
|
||||
| `statefulset.annotations` | Gitea Runner annotations | `{}` |
|
||||
| `statefulset.labels` | Gitea Runner labels | `{}` |
|
||||
| `statefulset.resources` | Gitea Runner resources | `{}` |
|
||||
| `statefulset.nodeSelector` | NodeSelector for the statefulset | `{}` |
|
||||
| `statefulset.tolerations` | Tolerations for the statefulset | `[]` |
|
||||
| `statefulset.affinity` | Affinity for the statefulset | `{}` |
|
||||
| `statefulset.extraVolumes` | Extra volumes for the statefulset | `[]` |
|
||||
| `statefulset.actRunner.registry` | image registry, e.g. gcr.io,docker.io | `docker.gitea.com` |
|
||||
| `statefulset.actRunner.repository` | The Gitea act runner image | `act_runner` |
|
||||
| `statefulset.actRunner.tag` | The Gitea act runner tag | `0.3.0` |
|
||||
| `statefulset.actRunner.digest` | Image digest. Allows to pin the given image tag. Useful for having control over mutable tags like `latest` | `""` |
|
||||
| `statefulset.actRunner.pullPolicy` | The Gitea act runner pullPolicy | `IfNotPresent` |
|
||||
| `statefulset.actRunner.fullOverride` | Completely overrides the image registry, path/image, tag and digest. | `""` |
|
||||
| `statefulset.actRunner.extraVolumeMounts` | Allows mounting extra volumes in the act runner container | `[]` |
|
||||
| `statefulset.actRunner.config` | Act runner custom configuration. See [Act Runner documentation](https://docs.gitea.com/usage/actions/act-runner#configuration) for details. | `Too complex. See values.yaml` |
|
||||
| `statefulset.persistence.size` | Size for persistence to store Gitea Runner data | `1Gi` |
|
||||
| `statefulset.securityContext` | Customize the SecurityContext | `{}` |
|
||||
| `statefulset.serviceAccountName` | Customize the service account name | `""` |
|
||||
| `statefulset.runtimeClassName` | Select a different RuntimeClass for pods | `""` |
|
||||
| `statefulset.hostAliases` | Inject entries into the /etc/hosts file | `[]` |
|
||||
| `statefulset.persistence.size` | Size for persistence to store Gitea Runner data | `1Gi` |
|
||||
| `statefulset.runner.registry` | image registry, e.g. gcr.io,docker.io | `docker.gitea.com` |
|
||||
| `statefulset.runner.repository` | The Gitea Runner image | `runner` |
|
||||
| `statefulset.runner.tag` | The Gitea Runner tag | `1.0.4` |
|
||||
| `statefulset.runner.digest` | Image digest. Allows to pin the given image tag. Useful for having control over mutable tags like `latest` | `""` |
|
||||
| `statefulset.runner.pullPolicy` | The Gitea Runner pullPolicy | `IfNotPresent` |
|
||||
| `statefulset.runner.fullOverride` | Completely overrides the image registry, path/image, tag and digest. | `""` |
|
||||
| `statefulset.runner.extraVolumeMounts` | Allows mounting extra volumes in the Gitea Runner container | `[]` |
|
||||
| `statefulset.runner.extraEnvs` | Allows adding custom environment variables | `[]` |
|
||||
| `statefulset.runner.flushCache` | whether to clear the .runner (cache) file by creating an extra init container, can slightly increase boot-up time | `false` |
|
||||
| `statefulset.runner.config` | Gitea Runner custom configuration. See [Gitea Runner documentation](https://docs.gitea.com/usage/actions/act-runner#configuration) for details. | `Too complex. See values.yaml` |
|
||||
| `statefulset.dind.rootless` | a simple flag to let helm know we are dealing with a rootless dind container | `false` |
|
||||
| `statefulset.dind.uid` | a field to set the running user id for the rootless dind container, so it knows where to look for the socket | `""` |
|
||||
| `statefulset.dind.registry` | image registry, e.g. gcr.io,docker.io | `docker.io` |
|
||||
| `statefulset.actRunner.extraEnvs` | Allows adding custom environment variables | `[]` |
|
||||
| `statefulset.dind.repository` | The Docker-in-Docker image | `docker` |
|
||||
| `statefulset.dind.tag` | The Docker-in-Docker image tag | `29.3.1-dind` |
|
||||
| `statefulset.dind.tag` | The Docker-in-Docker image tag | `29.5.1-dind` |
|
||||
| `statefulset.dind.digest` | Image digest. Allows to pin the given image tag. Useful for having control over mutable tags like `latest` | `""` |
|
||||
| `statefulset.dind.fullOverride` | Completely overrides the image registry, path/image, tag and digest. | `""` |
|
||||
| `statefulset.dind.pullPolicy` | The Docker-in-Docker pullPolicy | `IfNotPresent` |
|
||||
| `statefulset.dind.extraVolumeMounts` | Allows mounting extra volumes in the Docker-in-Docker container | `[]` |
|
||||
| `statefulset.dind.extraEnvs` | Allows adding custom environment variables, such as `DOCKER_IPTABLES_LEGACY` | `[]` |
|
||||
| `statefulset.persistence.size` | Size for persistence to store act runner data | `1Gi` |
|
||||
| `statefulset.securityContext` | Customize the SecurityContext | `{}` |
|
||||
| `statefulset.serviceAccountName` | Customize the service account name | `""` |
|
||||
| `statefulset.dind.extraArgs` | Allows adding custom arguments to the Docker Daemon | `[]` |
|
||||
|
||||
### Gitea Actions Init
|
||||
|
||||
@ -111,8 +116,8 @@ If `.Values.statefulset.dind.rootless: true` is set, then the following will be
|
||||
### Gitea URL Setting
|
||||
|
||||
| Name | Description | Value |
|
||||
| -------------- | --------------------------------------------- | ----- |
|
||||
| `giteaRootURL` | URL the act_runner registers and connect with | `""` |
|
||||
| -------------- | ------------------------------------------------ | ----- |
|
||||
| `giteaRootURL` | URL the Gitea Runner registers and connects with | `""` |
|
||||
|
||||
### Extra Init Containers
|
||||
|
||||
|
||||
@ -14,6 +14,6 @@
|
||||
},
|
||||
"devDependencies": {
|
||||
"@bitnami/readme-generator-for-helm": "^2.7.0",
|
||||
"markdownlint-cli": "^0.47.0"
|
||||
"markdownlint-cli": "^0.48.0"
|
||||
}
|
||||
}
|
||||
84
pnpm-lock.yaml
generated
84
pnpm-lock.yaml
generated
@ -12,8 +12,8 @@ importers:
|
||||
specifier: ^2.7.0
|
||||
version: 2.7.2
|
||||
markdownlint-cli:
|
||||
specifier: ^0.47.0
|
||||
version: 0.47.0
|
||||
specifier: ^0.48.0
|
||||
version: 0.48.0
|
||||
|
||||
packages:
|
||||
|
||||
@ -47,11 +47,11 @@ packages:
|
||||
resolution: {integrity: sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==}
|
||||
engines: {node: 18 || 20 || >=22}
|
||||
|
||||
brace-expansion@1.1.13:
|
||||
resolution: {integrity: sha512-9ZLprWS6EENmhEOpjCYW2c8VkmOvckIJZfkr7rBW6dObmfgJ/L1GpSYW5Hpo9lDz4D1+n0Ckz8rU7FwHDQiG/w==}
|
||||
brace-expansion@1.1.14:
|
||||
resolution: {integrity: sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g==}
|
||||
|
||||
brace-expansion@5.0.5:
|
||||
resolution: {integrity: sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==}
|
||||
brace-expansion@5.0.6:
|
||||
resolution: {integrity: sha512-kLpxurY4Z4r9sgMsyG0Z9uzsBlgiU/EFKhj/h91/8yHu0edo7XuixOIH3VcJ8kkxs6/jPzoI6U9Vj3WqbMQ94g==}
|
||||
engines: {node: 18 || 20 || >=22}
|
||||
|
||||
character-entities-legacy@3.0.0:
|
||||
@ -125,8 +125,8 @@ packages:
|
||||
fs.realpath@1.0.0:
|
||||
resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
|
||||
|
||||
get-east-asian-width@1.5.0:
|
||||
resolution: {integrity: sha512-CQ+bEO+Tva/qlmw24dCejulK5pMzVnUOFOijVogd3KQs07HnRIgp8TGipvCCRT06xeYEbpbgwaCxglFyiuIcmA==}
|
||||
get-east-asian-width@1.6.0:
|
||||
resolution: {integrity: sha512-QRbvDIbx6YklUe6RxeTeleMR0yv3cYH6PsPZHcnVn7xv7zO1BHN8r0XETu8n6Ye3Q+ahtSarc3WgtNWmehIBfA==}
|
||||
engines: {node: '>=18'}
|
||||
|
||||
glob@7.2.3:
|
||||
@ -171,15 +171,15 @@ packages:
|
||||
resolution: {integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
|
||||
katex@0.16.44:
|
||||
resolution: {integrity: sha512-EkxoDTk8ufHqHlf9QxGwcxeLkWRR3iOuYfRpfORgYfqc8s13bgb+YtRY59NK5ZpRaCwq1kqA6a5lpX8C/eLphQ==}
|
||||
katex@0.16.47:
|
||||
resolution: {integrity: sha512-Eeo8Ys1doU1z+x8AZsPpQu+p/QcZBI5PeOo7QGQdy2x2m0MU/hYagBbGOmXwr5KVbEfVuWv9LpnQWeehogurjg==}
|
||||
hasBin: true
|
||||
|
||||
linkify-it@5.0.0:
|
||||
resolution: {integrity: sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==}
|
||||
|
||||
lodash@4.17.21:
|
||||
resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
|
||||
lodash@4.18.1:
|
||||
resolution: {integrity: sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==}
|
||||
|
||||
markdown-it@14.1.1:
|
||||
resolution: {integrity: sha512-BuU2qnTti9YKgK5N+IeMubp14ZUKUUw7yeJbkjtosvHiP0AZ5c8IAgEMk79D0eC8F23r4Ac/q8cAIFdm2FtyoA==}
|
||||
@ -188,8 +188,8 @@ packages:
|
||||
markdown-table@2.0.0:
|
||||
resolution: {integrity: sha512-Ezda85ToJUBhM6WGaG6veasyym+Tbs3cMAw/ZhOPqXiYsr0jgocBV3j3nx+4lk47plLlIqjwuTm/ywVI+zjJ/A==}
|
||||
|
||||
markdownlint-cli@0.47.0:
|
||||
resolution: {integrity: sha512-HOcxeKFAdDoldvoYDofd85vI8LgNWy8vmYpCwnlLV46PJcodmGzD7COSSBlhHwsfT4o9KrAStGodImVBus31Bg==}
|
||||
markdownlint-cli@0.48.0:
|
||||
resolution: {integrity: sha512-NkZQNu2E0Q5qLEEHwWj674eYISTLD4jMHkBzDobujXd1kv+yCxi8jOaD/rZoQNW1FBBMMGQpuW5So8B51N/e0A==}
|
||||
engines: {node: '>=20'}
|
||||
hasBin: true
|
||||
|
||||
@ -275,9 +275,9 @@ packages:
|
||||
micromark@4.0.2:
|
||||
resolution: {integrity: sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==}
|
||||
|
||||
minimatch@10.1.3:
|
||||
resolution: {integrity: sha512-IF6URNyBX7Z6XfvjpaNy5meRxPZiIf2OqtOoSLs+hLJ9pJAScnM1RjrFcbCaD85y42KcI+oZmKjFIJKYDFjQfg==}
|
||||
engines: {node: 20 || >=22}
|
||||
minimatch@10.2.5:
|
||||
resolution: {integrity: sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==}
|
||||
engines: {node: 18 || 20 || >=22}
|
||||
|
||||
minimatch@3.1.5:
|
||||
resolution: {integrity: sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==}
|
||||
@ -314,8 +314,8 @@ packages:
|
||||
resolution: {integrity: sha512-CcfE+mYiTcKEzg0IqS08+efdnH0oJ3zV0wSUFBNrMHMuxCtXvBCLzCJHatwuXDcu/RlhjTziTo/a1ruQik6/Yg==}
|
||||
hasBin: true
|
||||
|
||||
smol-toml@1.5.2:
|
||||
resolution: {integrity: sha512-QlaZEqcAH3/RtNyet1IPIYPsEWAaYyXXv1Krsi+1L/QHppjX4Ifm8MQsBISz9vE8cHicIq3clogsheili5vhaQ==}
|
||||
smol-toml@1.6.1:
|
||||
resolution: {integrity: sha512-dWUG8F5sIIARXih1DTaQAX4SsiTXhInKf1buxdY9DIg4ZYPZK5nGM1VRIYmEbDbsHt7USo99xSLFu5Q1IqTmsg==}
|
||||
engines: {node: '>= 18'}
|
||||
|
||||
string-width@8.1.0:
|
||||
@ -330,8 +330,8 @@ packages:
|
||||
resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
|
||||
engines: {node: '>=8'}
|
||||
|
||||
tinyglobby@0.2.15:
|
||||
resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==}
|
||||
tinyglobby@0.2.16:
|
||||
resolution: {integrity: sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg==}
|
||||
engines: {node: '>=12.0.0'}
|
||||
|
||||
uc.micro@2.1.0:
|
||||
@ -340,8 +340,8 @@ packages:
|
||||
wrappy@1.0.2:
|
||||
resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
|
||||
|
||||
yaml@2.8.3:
|
||||
resolution: {integrity: sha512-AvbaCLOO2Otw/lW5bmh9d/WEdcDFdQp2Z2ZUH3pX9U2ihyUY0nvLv7J6TrWowklRGPYbB/IuIMfYgxaCPg5Bpg==}
|
||||
yaml@2.9.0:
|
||||
resolution: {integrity: sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA==}
|
||||
engines: {node: '>= 14.6'}
|
||||
hasBin: true
|
||||
|
||||
@ -351,9 +351,9 @@ snapshots:
|
||||
dependencies:
|
||||
commander: 13.1.0
|
||||
dot-object: 2.1.5
|
||||
lodash: 4.17.21
|
||||
lodash: 4.18.1
|
||||
markdown-table: 2.0.0
|
||||
yaml: 2.8.3
|
||||
yaml: 2.9.0
|
||||
|
||||
'@types/debug@4.1.13':
|
||||
dependencies:
|
||||
@ -373,12 +373,12 @@ snapshots:
|
||||
|
||||
balanced-match@4.0.4: {}
|
||||
|
||||
brace-expansion@1.1.13:
|
||||
brace-expansion@1.1.14:
|
||||
dependencies:
|
||||
balanced-match: 1.0.2
|
||||
concat-map: 0.0.1
|
||||
|
||||
brace-expansion@5.0.5:
|
||||
brace-expansion@5.0.6:
|
||||
dependencies:
|
||||
balanced-match: 4.0.4
|
||||
|
||||
@ -427,7 +427,7 @@ snapshots:
|
||||
|
||||
fs.realpath@1.0.0: {}
|
||||
|
||||
get-east-asian-width@1.5.0: {}
|
||||
get-east-asian-width@1.6.0: {}
|
||||
|
||||
glob@7.2.3:
|
||||
dependencies:
|
||||
@ -468,7 +468,7 @@ snapshots:
|
||||
|
||||
jsonpointer@5.0.1: {}
|
||||
|
||||
katex@0.16.44:
|
||||
katex@0.16.47:
|
||||
dependencies:
|
||||
commander: 8.3.0
|
||||
|
||||
@ -476,7 +476,7 @@ snapshots:
|
||||
dependencies:
|
||||
uc.micro: 2.1.0
|
||||
|
||||
lodash@4.17.21: {}
|
||||
lodash@4.18.1: {}
|
||||
|
||||
markdown-it@14.1.1:
|
||||
dependencies:
|
||||
@ -491,7 +491,7 @@ snapshots:
|
||||
dependencies:
|
||||
repeat-string: 1.6.1
|
||||
|
||||
markdownlint-cli@0.47.0:
|
||||
markdownlint-cli@0.48.0:
|
||||
dependencies:
|
||||
commander: 14.0.3
|
||||
deep-extend: 0.6.0
|
||||
@ -501,10 +501,10 @@ snapshots:
|
||||
jsonpointer: 5.0.1
|
||||
markdown-it: 14.1.1
|
||||
markdownlint: 0.40.0
|
||||
minimatch: 10.1.3
|
||||
minimatch: 10.2.5
|
||||
run-con: 1.3.2
|
||||
smol-toml: 1.5.2
|
||||
tinyglobby: 0.2.15
|
||||
smol-toml: 1.6.1
|
||||
tinyglobby: 0.2.16
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
@ -583,7 +583,7 @@ snapshots:
|
||||
dependencies:
|
||||
'@types/katex': 0.16.8
|
||||
devlop: 1.1.0
|
||||
katex: 0.16.44
|
||||
katex: 0.16.47
|
||||
micromark-factory-space: 2.0.1
|
||||
micromark-util-character: 2.1.1
|
||||
micromark-util-symbol: 2.0.1
|
||||
@ -696,13 +696,13 @@ snapshots:
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
minimatch@10.1.3:
|
||||
minimatch@10.2.5:
|
||||
dependencies:
|
||||
brace-expansion: 5.0.5
|
||||
brace-expansion: 5.0.6
|
||||
|
||||
minimatch@3.1.5:
|
||||
dependencies:
|
||||
brace-expansion: 1.1.13
|
||||
brace-expansion: 1.1.14
|
||||
|
||||
minimist@1.2.8: {}
|
||||
|
||||
@ -737,11 +737,11 @@ snapshots:
|
||||
minimist: 1.2.8
|
||||
strip-json-comments: 3.1.1
|
||||
|
||||
smol-toml@1.5.2: {}
|
||||
smol-toml@1.6.1: {}
|
||||
|
||||
string-width@8.1.0:
|
||||
dependencies:
|
||||
get-east-asian-width: 1.5.0
|
||||
get-east-asian-width: 1.6.0
|
||||
strip-ansi: 7.2.0
|
||||
|
||||
strip-ansi@7.2.0:
|
||||
@ -750,7 +750,7 @@ snapshots:
|
||||
|
||||
strip-json-comments@3.1.1: {}
|
||||
|
||||
tinyglobby@0.2.15:
|
||||
tinyglobby@0.2.16:
|
||||
dependencies:
|
||||
fdir: 6.5.0(picomatch@4.0.4)
|
||||
picomatch: 4.0.4
|
||||
@ -759,4 +759,4 @@ snapshots:
|
||||
|
||||
wrappy@1.0.2: {}
|
||||
|
||||
yaml@2.8.3: {}
|
||||
yaml@2.9.0: {}
|
||||
|
||||
@ -1,5 +1,4 @@
|
||||
{{- if .Values.enabled -}}
|
||||
|
||||
{{- if or (empty .Values.existingSecret) (empty .Values.existingSecretKey) -}}
|
||||
{{- fail "existingSecret and existingSecretKey are required when provisioning is disabled" -}}
|
||||
{{- end -}}
|
||||
|
||||
@ -14,14 +14,14 @@ If release name contains chart name it will be used as a full name.
|
||||
*/}}
|
||||
{{- define "gitea.actions.fullname" -}}
|
||||
{{- if .Values.fullnameOverride -}}
|
||||
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
|
||||
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
|
||||
{{- else -}}
|
||||
{{- $name := default .Chart.Name .Values.nameOverride -}}
|
||||
{{- if contains $name .Release.Name -}}
|
||||
{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
|
||||
{{- else -}}
|
||||
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
|
||||
{{- end -}}
|
||||
{{- $name := default .Chart.Name .Values.nameOverride -}}
|
||||
{{- if contains $name .Release.Name -}}
|
||||
{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
|
||||
{{- else -}}
|
||||
{{- printf "%s" .Release.Name | trunc 63 | trimSuffix "-" -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
@ -36,7 +36,7 @@ Create a default worker name.
|
||||
Create chart name and version as used by the chart label.
|
||||
*/}}
|
||||
{{- define "gitea.actions.chart" -}}
|
||||
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
|
||||
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
@ -46,7 +46,7 @@ Storage Class
|
||||
{{- $storageClass := default (tpl ( default "" .Values.global.storageClass) .) }}
|
||||
{{- if $storageClass }}
|
||||
storageClassName: {{ $storageClass | quote }}
|
||||
{{- end }}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
@ -61,10 +61,10 @@ version: {{ default .Chart.AppVersion | quote }}
|
||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||
{{- end -}}
|
||||
|
||||
{{- define "gitea.actions.labels.actRunner" -}}
|
||||
{{- define "gitea.actions.labels.runner" -}}
|
||||
helm.sh/chart: {{ include "gitea.actions.chart" . }}
|
||||
app: {{ include "gitea.actions.name" . }}-act-runner
|
||||
{{ include "gitea.actions.selectorLabels.actRunner" . }}
|
||||
app: {{ include "gitea.actions.name" . }}-runner
|
||||
{{ include "gitea.actions.selectorLabels.runner" . }}
|
||||
app.kubernetes.io/version: {{ default .Chart.AppVersion | quote }}
|
||||
version: {{ default .Chart.AppVersion | quote }}
|
||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||
@ -78,8 +78,8 @@ app.kubernetes.io/name: {{ include "gitea.actions.name" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
{{- end -}}
|
||||
|
||||
{{- define "gitea.actions.selectorLabels.actRunner" -}}
|
||||
app.kubernetes.io/name: {{ include "gitea.actions.name" . }}-act-runner
|
||||
{{- define "gitea.actions.selectorLabels.runner" -}}
|
||||
app.kubernetes.io/name: {{ include "gitea.actions.name" . }}-runner
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
{{- end -}}
|
||||
|
||||
@ -112,8 +112,8 @@ Common create image implementation
|
||||
{{/*
|
||||
Create image for the Gitea Actions Act Runner
|
||||
*/}}
|
||||
{{- define "gitea.actions.actRunner.image" -}}
|
||||
{{ include "gitea.actions.common.image" (dict "root" . "image" .Values.statefulset.actRunner) }}
|
||||
{{- define "gitea.actions.runner.image" -}}
|
||||
{{ include "gitea.actions.common.image" (dict "root" . "image" .Values.statefulset.runner) }}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
|
||||
@ -3,13 +3,13 @@
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: {{ include "gitea.actions.fullname" . }}-act-runner-config
|
||||
name: {{ include "gitea.actions.fullname" . }}-runner-configmap
|
||||
namespace: {{ .Values.namespace | default .Release.Namespace }}
|
||||
labels:
|
||||
{{- include "gitea.actions.labels" . | nindent 4 }}
|
||||
data:
|
||||
config.yaml: |
|
||||
{{- with .Values.statefulset.actRunner.config -}}
|
||||
{{- with .Values.statefulset.runner.config -}}
|
||||
{{- if kindIs "string" . -}}
|
||||
{{ . | nindent 4}}
|
||||
{{- else -}}
|
||||
@ -5,7 +5,7 @@ apiVersion: apps/v1
|
||||
kind: StatefulSet
|
||||
metadata:
|
||||
labels:
|
||||
{{- include "gitea.actions.labels.actRunner" . | nindent 4 }}
|
||||
{{- include "gitea.actions.labels.runner" . | nindent 4 }}
|
||||
{{- with .Values.statefulset.labels }}
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
@ -13,33 +13,59 @@ metadata:
|
||||
{{- with .Values.statefulset.annotations }}
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
name: {{ include "gitea.actions.fullname" . }}-act-runner
|
||||
name: {{ include "gitea.actions.fullname" . }}-runner
|
||||
namespace: {{ .Values.namespace | default .Release.Namespace }}
|
||||
spec:
|
||||
replicas: {{ .Values.statefulset.replicas | default 1 }}
|
||||
selector:
|
||||
matchLabels:
|
||||
{{- include "gitea.actions.selectorLabels.actRunner" . | nindent 6 }}
|
||||
{{- include "gitea.actions.selectorLabels.runner" . | nindent 6 }}
|
||||
template:
|
||||
metadata:
|
||||
annotations:
|
||||
checksum/config: {{ include (print $.Template.BasePath "/config-act-runner.yaml") . | sha256sum }}
|
||||
checksum/config: {{ include (print $.Template.BasePath "/configmap.yaml") . | sha256sum }}
|
||||
labels:
|
||||
{{- include "gitea.actions.labels.actRunner" . | nindent 8 }}
|
||||
{{- include "gitea.actions.labels.runner" . | nindent 8 }}
|
||||
{{- with .Values.statefulset.labels }}
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
restartPolicy: Always
|
||||
{{- if .Values.statefulset.serviceAccountName }}
|
||||
serviceAccountName: {{ .Values.statefulset.serviceAccountName }}
|
||||
serviceAccountName: {{ .Values.statefulset.serviceAccountName | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.statefulset.securityContext }}
|
||||
securityContext:
|
||||
{{- toYaml .Values.statefulset.securityContext | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- if .Values.statefulset.runtimeClassName }}
|
||||
runtimeClassName: {{ .Values.statefulset.runtimeClassName | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.statefulset.hostAliases }}
|
||||
hostAliases:
|
||||
{{- toYaml .Values.statefulset.hostAliases | nindent 8 }}
|
||||
{{- end }}
|
||||
initContainers:
|
||||
{{- if .Values.preExtraInitContainers }}
|
||||
{{- toYaml .Values.preExtraInitContainers | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- if .Values.statefulset.runner.flushCache }}
|
||||
- name: cache-flusher
|
||||
image: "{{ include "gitea.actions.init.image" . }}"
|
||||
command:
|
||||
- sh
|
||||
- -c
|
||||
- |
|
||||
if [[ -f /data/.runner ]]; then
|
||||
echo "Removing cache at /data/.runner"
|
||||
rm -v /data/.runner
|
||||
else
|
||||
echo "No .runner file to remove"
|
||||
fi
|
||||
volumeMounts:
|
||||
- mountPath: /data
|
||||
name: data-runner
|
||||
{{- end }}
|
||||
- name: init-gitea
|
||||
image: "{{ include "gitea.actions.init.image" . }}"
|
||||
command:
|
||||
@ -62,6 +88,10 @@ spec:
|
||||
{{- end }}
|
||||
securityContext:
|
||||
privileged: true
|
||||
{{- if .Values.statefulset.dind.extraArgs }}
|
||||
args:
|
||||
{{- toYaml .Values.statefulset.dind.extraArgs | nindent 12 }}
|
||||
{{- end }}
|
||||
startupProbe:
|
||||
exec:
|
||||
command:
|
||||
@ -98,9 +128,9 @@ spec:
|
||||
{{- toYaml .Values.postExtraInitContainers | nindent 8 }}
|
||||
{{- end }}
|
||||
containers:
|
||||
- name: act-runner
|
||||
image: "{{ include "gitea.actions.actRunner.image" . }}"
|
||||
imagePullPolicy: {{ .Values.statefulset.actRunner.pullPolicy }}
|
||||
- name: runner
|
||||
image: "{{ include "gitea.actions.runner.image" . }}"
|
||||
imagePullPolicy: {{ .Values.statefulset.runner.pullPolicy }}
|
||||
workingDir: /data
|
||||
env:
|
||||
- name: GITEA_RUNNER_REGISTRATION_TOKEN
|
||||
@ -111,24 +141,24 @@ spec:
|
||||
- name: GITEA_INSTANCE_URL
|
||||
value: {{ include "gitea.actions.local_root_url" . }}
|
||||
- name: CONFIG_FILE
|
||||
value: /actrunner/config.yaml
|
||||
value: /runner/config.yaml
|
||||
- name: TZ
|
||||
value: {{ .Values.statefulset.timezone | default "Etc/UTC" }}
|
||||
{{- if .Values.statefulset.actRunner.extraEnvs }}
|
||||
{{- toYaml .Values.statefulset.actRunner.extraEnvs | nindent 12 }}
|
||||
{{- if .Values.statefulset.runner.extraEnvs }}
|
||||
{{- toYaml .Values.statefulset.runner.extraEnvs | nindent 12 }}
|
||||
{{- end }}
|
||||
resources:
|
||||
{{- toYaml .Values.statefulset.resources | nindent 12 }}
|
||||
volumeMounts:
|
||||
- mountPath: /actrunner/config.yaml
|
||||
name: act-runner-config
|
||||
- mountPath: /runner/config.yaml
|
||||
name: runner-config
|
||||
subPath: config.yaml
|
||||
- mountPath: /var/run/docker.sock
|
||||
name: docker-socket
|
||||
subPath: docker.sock
|
||||
- mountPath: /data
|
||||
name: data-act-runner
|
||||
{{- with .Values.statefulset.actRunner.extraVolumeMounts }}
|
||||
name: data-runner
|
||||
{{- with .Values.statefulset.runner.extraVolumeMounts }}
|
||||
{{- toYaml . | nindent 12 }}
|
||||
{{- end }}
|
||||
{{- if .Values.global.imagePullSecrets }}
|
||||
@ -150,9 +180,9 @@ spec:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
volumes:
|
||||
- name: act-runner-config
|
||||
- name: runner-config
|
||||
configMap:
|
||||
name: {{ include "gitea.actions.fullname" . }}-act-runner-config
|
||||
name: {{ include "gitea.actions.fullname" . }}-runner-configmap
|
||||
- name: docker-socket
|
||||
emptyDir: {}
|
||||
{{- with .Values.statefulset.extraVolumes }}
|
||||
@ -160,12 +190,10 @@ spec:
|
||||
{{- end }}
|
||||
volumeClaimTemplates:
|
||||
- metadata:
|
||||
name: data-act-runner
|
||||
name: data-runner
|
||||
spec:
|
||||
accessModes: [ "ReadWriteOnce" ]
|
||||
{{- if .Values.global.storageClass }}
|
||||
{{- include "gitea.actions.persistence.storageClass" . | indent 8 }}
|
||||
{{- end }}
|
||||
resources:
|
||||
requests:
|
||||
storage: {{ .Values.statefulset.persistence.size }}
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
suite: actions template | consistency checks
|
||||
release:
|
||||
name: gitea-unittests
|
||||
name: gitea-actions-unittests
|
||||
namespace: testing
|
||||
templates:
|
||||
- templates/01-consistency-checks.yaml
|
||||
|
||||
@ -1,22 +1,22 @@
|
||||
# yaml-language-server: $schema=https://raw.githubusercontent.com/helm-unittest/helm-unittest/main/schema/helm-testsuite.json
|
||||
suite: actions template | config-act-runner
|
||||
suite: actions template | configmap
|
||||
release:
|
||||
name: gitea-unittests
|
||||
name: gitea-actions-unittests
|
||||
namespace: testing
|
||||
templates:
|
||||
- templates/config-act-runner.yaml
|
||||
- templates/configmap.yaml
|
||||
tests:
|
||||
- it: doesn't renders a ConfigMap by default
|
||||
template: templates/config-act-runner.yaml
|
||||
template: templates/configmap.yaml
|
||||
asserts:
|
||||
- hasDocuments:
|
||||
count: 0
|
||||
- it: renders a ConfigMap
|
||||
template: templates/config-act-runner.yaml
|
||||
template: templates/configmap.yaml
|
||||
set:
|
||||
enabled: true
|
||||
statefulset:
|
||||
actRunner:
|
||||
runner:
|
||||
config: |
|
||||
log:
|
||||
level: info
|
||||
@ -31,7 +31,7 @@ tests:
|
||||
- containsDocument:
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
name: gitea-unittests-actions-act-runner-config
|
||||
name: gitea-actions-unittests-runner-configmap
|
||||
- equal:
|
||||
path: data["config.yaml"]
|
||||
value: |
|
||||
@ -43,11 +43,11 @@ tests:
|
||||
labels:
|
||||
- "ubuntu-latest"
|
||||
- it: renders a ConfigMap with inline yaml
|
||||
template: templates/config-act-runner.yaml
|
||||
template: templates/configmap.yaml
|
||||
set:
|
||||
enabled: true
|
||||
statefulset:
|
||||
actRunner:
|
||||
runner:
|
||||
config: |
|
||||
container:
|
||||
valid_volumes:
|
||||
@ -59,7 +59,7 @@ tests:
|
||||
- containsDocument:
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
name: gitea-unittests-actions-act-runner-config
|
||||
name: gitea-actions-unittests-runner-configmap
|
||||
- matchRegex:
|
||||
path: data["config.yaml"]
|
||||
pattern: '(?m)^\s*options:\s*-v /var/run/docker.sock:/var/run/docker.sock\s*$'
|
||||
@ -1,173 +1,41 @@
|
||||
suite: actions template | statefulset
|
||||
release:
|
||||
name: gitea-unittests
|
||||
name: gitea-actions-unittests
|
||||
namespace: testing
|
||||
templates:
|
||||
- templates/statefulset.yaml
|
||||
- templates/config-act-runner.yaml
|
||||
- templates/configmap.yaml
|
||||
tests:
|
||||
- it: act-runner uses fullOverride
|
||||
#
|
||||
## GENERIC
|
||||
#
|
||||
|
||||
- it: doesn't renders a StatefulSet by default
|
||||
template: templates/statefulset.yaml
|
||||
asserts:
|
||||
- hasDocuments:
|
||||
count: 0
|
||||
|
||||
- it: renders a StatefulSet (that tracks changes of the runner configuration as annotation)
|
||||
template: templates/statefulset.yaml
|
||||
set:
|
||||
image.tag: "1.22.3" # lock image tag to prevent test failures on future Gitea upgrades
|
||||
enabled: true
|
||||
existingSecret: "my-secret"
|
||||
existingSecretKey: "my-secret-key"
|
||||
statefulset.actRunner.fullOverride: test.io/act_runner:x.y.z
|
||||
asserts:
|
||||
- hasDocuments:
|
||||
count: 1
|
||||
- containsDocument:
|
||||
kind: StatefulSet
|
||||
apiVersion: apps/v1
|
||||
name: gitea-unittests-actions-act-runner
|
||||
name: gitea-actions-unittests-runner
|
||||
- equal:
|
||||
path: spec.template.spec.containers[0].image
|
||||
value: test.io/act_runner:x.y.z
|
||||
- it: act-runner uses digest
|
||||
template: templates/statefulset.yaml
|
||||
set:
|
||||
enabled: true
|
||||
existingSecret: "my-secret"
|
||||
existingSecretKey: "my-secret-key"
|
||||
statefulset.actRunner.tag: 0.2.13
|
||||
statefulset.actRunner.digest: sha256:abcdef123456
|
||||
asserts:
|
||||
- hasDocuments:
|
||||
count: 1
|
||||
- containsDocument:
|
||||
kind: StatefulSet
|
||||
apiVersion: apps/v1
|
||||
name: gitea-unittests-actions-act-runner
|
||||
- equal:
|
||||
path: spec.template.spec.containers[0].image
|
||||
value: docker.gitea.com/act_runner:0.2.13@sha256:abcdef123456
|
||||
- it: act-runner uses global.imageRegistry
|
||||
template: templates/statefulset.yaml
|
||||
set:
|
||||
enabled: true
|
||||
existingSecret: "my-secret"
|
||||
existingSecretKey: "my-secret-key"
|
||||
global.imageRegistry: test.io
|
||||
statefulset.actRunner.tag: 0.2.13
|
||||
asserts:
|
||||
- hasDocuments:
|
||||
count: 1
|
||||
- containsDocument:
|
||||
kind: StatefulSet
|
||||
apiVersion: apps/v1
|
||||
name: gitea-unittests-actions-act-runner
|
||||
- equal:
|
||||
path: spec.template.spec.containers[0].image
|
||||
value: test.io/act_runner:0.2.13
|
||||
- it: dind uses fullOverride
|
||||
template: templates/statefulset.yaml
|
||||
set:
|
||||
enabled: true
|
||||
existingSecret: "my-secret"
|
||||
existingSecretKey: "my-secret-key"
|
||||
statefulset.dind.fullOverride: test.io/dind:x.y.z
|
||||
asserts:
|
||||
- hasDocuments:
|
||||
count: 1
|
||||
- containsDocument:
|
||||
kind: StatefulSet
|
||||
apiVersion: apps/v1
|
||||
name: gitea-unittests-actions-act-runner
|
||||
- equal:
|
||||
path: spec.template.spec.initContainers[1].image
|
||||
value: test.io/dind:x.y.z
|
||||
- it: dind uses global.imageRegistry
|
||||
template: templates/statefulset.yaml
|
||||
set:
|
||||
enabled: true
|
||||
existingSecret: "my-secret"
|
||||
existingSecretKey: "my-secret-key"
|
||||
global.imageRegistry: test.io
|
||||
statefulset.dind.tag: 28.3.3-dind
|
||||
asserts:
|
||||
- hasDocuments:
|
||||
count: 1
|
||||
- containsDocument:
|
||||
kind: StatefulSet
|
||||
apiVersion: apps/v1
|
||||
name: gitea-unittests-actions-act-runner
|
||||
- equal:
|
||||
path: spec.template.spec.initContainers[1].image
|
||||
value: test.io/docker:28.3.3-dind
|
||||
- it: init uses fullOverride
|
||||
template: templates/statefulset.yaml
|
||||
set:
|
||||
enabled: true
|
||||
existingSecret: "my-secret"
|
||||
existingSecretKey: "my-secret-key"
|
||||
init.image.fullOverride: test.io/busybox:x.y.z
|
||||
asserts:
|
||||
- hasDocuments:
|
||||
count: 1
|
||||
- containsDocument:
|
||||
kind: StatefulSet
|
||||
apiVersion: apps/v1
|
||||
name: gitea-unittests-actions-act-runner
|
||||
- equal:
|
||||
path: spec.template.spec.initContainers[0].image
|
||||
value: test.io/busybox:x.y.z
|
||||
- it: init uses global.imageRegistry
|
||||
template: templates/statefulset.yaml
|
||||
set:
|
||||
enabled: true
|
||||
existingSecret: "my-secret"
|
||||
existingSecretKey: "my-secret-key"
|
||||
global.imageRegistry: test.io
|
||||
init.image.tag: 1.37.0
|
||||
asserts:
|
||||
- hasDocuments:
|
||||
count: 1
|
||||
- containsDocument:
|
||||
kind: StatefulSet
|
||||
apiVersion: apps/v1
|
||||
name: gitea-unittests-actions-act-runner
|
||||
- equal:
|
||||
path: spec.template.spec.initContainers[0].image
|
||||
value: test.io/busybox:1.37.0
|
||||
- it: renders additional environment variables for act-runner container in StatefulSet
|
||||
template: templates/statefulset.yaml
|
||||
set:
|
||||
enabled: true
|
||||
existingSecret: "my-secret"
|
||||
existingSecretKey: "my-secret-key"
|
||||
statefulset:
|
||||
actRunner:
|
||||
extraEnvs:
|
||||
- name: "CUSTOM_ENV"
|
||||
value: "1"
|
||||
- name: "GITEA_RUNNER_NAME"
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: metadata.name
|
||||
asserts:
|
||||
- hasDocuments:
|
||||
count: 1
|
||||
- containsDocument:
|
||||
kind: StatefulSet
|
||||
apiVersion: apps/v1
|
||||
name: gitea-unittests-actions-act-runner
|
||||
- equal:
|
||||
path: spec.template.spec.containers[0].env[4]
|
||||
value:
|
||||
name: CUSTOM_ENV
|
||||
value: "1"
|
||||
- matchRegex:
|
||||
path: spec.template.spec.containers[0].env[5].valueFrom.fieldRef.fieldPath
|
||||
pattern: "metadata\\.name"
|
||||
- matchRegex:
|
||||
path: spec.template.spec.containers[0].env[5].name
|
||||
pattern: "GITEA_RUNNER_NAME"
|
||||
path: spec.template.metadata.annotations["checksum/config"]
|
||||
value: "83e4d1bb70cc2a861cd18fdb42537e700d4055d431713e64e28c3874c5660097"
|
||||
|
||||
- it: Has fsGroup in securityContext
|
||||
template: templates/statefulset.yaml
|
||||
set:
|
||||
enabled: true
|
||||
existingSecret: "my-secret"
|
||||
existingSecretKey: "my-secret-key"
|
||||
statefulset.securityContext:
|
||||
fsGroup: 1000
|
||||
asserts:
|
||||
@ -176,16 +44,15 @@ tests:
|
||||
- containsDocument:
|
||||
kind: StatefulSet
|
||||
apiVersion: apps/v1
|
||||
name: gitea-unittests-actions-act-runner
|
||||
name: gitea-actions-unittests-runner
|
||||
- equal:
|
||||
path: spec.template.spec.securityContext["fsGroup"]
|
||||
value: 1000
|
||||
|
||||
- it: Has fsGroupChangePolicy in securityContext
|
||||
template: templates/statefulset.yaml
|
||||
set:
|
||||
enabled: true
|
||||
existingSecret: "my-secret"
|
||||
existingSecretKey: "my-secret-key"
|
||||
statefulset.securityContext:
|
||||
fsGroupChangePolicy: OnRootMismatch
|
||||
asserts:
|
||||
@ -194,16 +61,15 @@ tests:
|
||||
- containsDocument:
|
||||
kind: StatefulSet
|
||||
apiVersion: apps/v1
|
||||
name: gitea-unittests-actions-act-runner
|
||||
name: gitea-actions-unittests-runner
|
||||
- equal:
|
||||
path: spec.template.spec.securityContext["fsGroupChangePolicy"]
|
||||
value: "OnRootMismatch"
|
||||
|
||||
- it: Has Always in securityContext
|
||||
template: templates/statefulset.yaml
|
||||
set:
|
||||
enabled: true
|
||||
existingSecret: "my-secret"
|
||||
existingSecretKey: "my-secret-key"
|
||||
statefulset.securityContext:
|
||||
fsGroupChangePolicy: Always
|
||||
asserts:
|
||||
@ -212,15 +78,11 @@ tests:
|
||||
- containsDocument:
|
||||
kind: StatefulSet
|
||||
apiVersion: apps/v1
|
||||
name: gitea-unittests-actions-act-runner
|
||||
name: gitea-actions-unittests-runner
|
||||
- equal:
|
||||
path: spec.template.spec.securityContext["fsGroupChangePolicy"]
|
||||
value: "Always"
|
||||
- it: doesn't renders a StatefulSet by default
|
||||
template: templates/statefulset.yaml
|
||||
asserts:
|
||||
- hasDocuments:
|
||||
count: 0
|
||||
|
||||
- it: renders a StatefulSet (with given existingSecret/existingSecretKey)
|
||||
template: templates/statefulset.yaml
|
||||
set:
|
||||
@ -233,7 +95,7 @@ tests:
|
||||
- containsDocument:
|
||||
kind: StatefulSet
|
||||
apiVersion: apps/v1
|
||||
name: gitea-unittests-actions-act-runner
|
||||
name: gitea-actions-unittests-runner
|
||||
- equal:
|
||||
path: spec.template.spec.containers[0].env[0]
|
||||
value:
|
||||
@ -242,58 +104,19 @@ tests:
|
||||
secretKeyRef:
|
||||
name: "my-secret"
|
||||
key: "my-secret-key"
|
||||
- it: renders a StatefulSet (with secret reference defaults for enabled provisioning)
|
||||
template: templates/statefulset.yaml
|
||||
set:
|
||||
enabled: true
|
||||
provisioning:
|
||||
enabled: true
|
||||
asserts:
|
||||
- hasDocuments:
|
||||
count: 1
|
||||
- containsDocument:
|
||||
kind: StatefulSet
|
||||
apiVersion: apps/v1
|
||||
name: gitea-unittests-actions-act-runner
|
||||
- equal:
|
||||
path: spec.template.spec.containers[0].env[0]
|
||||
value:
|
||||
name: GITEA_RUNNER_REGISTRATION_TOKEN
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: "gitea-unittests-actions-token"
|
||||
key: "token"
|
||||
- it: renders a StatefulSet (that tracks changes of the runner configuration as annotation)
|
||||
template: templates/statefulset.yaml
|
||||
set:
|
||||
image.tag: "1.22.3" # lock image tag to prevent test failures on future Gitea upgrades
|
||||
enabled: true
|
||||
existingSecret: "my-secret"
|
||||
existingSecretKey: "my-secret-key"
|
||||
asserts:
|
||||
- hasDocuments:
|
||||
count: 1
|
||||
- containsDocument:
|
||||
kind: StatefulSet
|
||||
apiVersion: apps/v1
|
||||
name: gitea-unittests-actions-act-runner
|
||||
- equal:
|
||||
path: spec.template.metadata.annotations["checksum/config"]
|
||||
value: "2bafbf04b3c4293c8ddf895ae3d908e14176ee54a6c724c8cf5b2a1e43c6ece7"
|
||||
|
||||
- it: renders a StatefulSet http (with correct GITEA_INSTANCE_URL env from giteaRootURL)
|
||||
template: templates/statefulset.yaml
|
||||
set:
|
||||
giteaRootURL: "http://git.example.com"
|
||||
enabled: true
|
||||
existingSecret: "my-secret"
|
||||
existingSecretKey: "my-secret-key"
|
||||
asserts:
|
||||
- hasDocuments:
|
||||
count: 1
|
||||
- containsDocument:
|
||||
kind: StatefulSet
|
||||
apiVersion: apps/v1
|
||||
name: gitea-unittests-actions-act-runner
|
||||
name: gitea-actions-unittests-runner
|
||||
- equal:
|
||||
path: spec.template.spec.containers[0].env[1]
|
||||
value:
|
||||
@ -308,20 +131,19 @@ tests:
|
||||
echo "Trying again in 3 seconds..."
|
||||
done
|
||||
echo "Gitea has been reached!"
|
||||
|
||||
- it: renders a StatefulSet https (with correct GITEA_INSTANCE_URL env from giteaRootURL)
|
||||
template: templates/statefulset.yaml
|
||||
set:
|
||||
giteaRootURL: "https://git.example.com"
|
||||
enabled: true
|
||||
existingSecret: "my-secret"
|
||||
existingSecretKey: "my-secret-key"
|
||||
asserts:
|
||||
- hasDocuments:
|
||||
count: 1
|
||||
- containsDocument:
|
||||
kind: StatefulSet
|
||||
apiVersion: apps/v1
|
||||
name: gitea-unittests-actions-act-runner
|
||||
name: gitea-actions-unittests-runner
|
||||
- equal:
|
||||
path: spec.template.spec.containers[0].env[1]
|
||||
value:
|
||||
@ -336,20 +158,19 @@ tests:
|
||||
echo "Trying again in 3 seconds..."
|
||||
done
|
||||
echo "Gitea has been reached!"
|
||||
- it: renders a StatefulSet https (with correct GITEA_INSTANCE_URL env from giteaRootURL)
|
||||
|
||||
- it: renders a StatefulSet https with explicit port (with correct GITEA_INSTANCE_URL env from giteaRootURL)
|
||||
template: templates/statefulset.yaml
|
||||
set:
|
||||
giteaRootURL: "https://git.example.com:8443"
|
||||
enabled: true
|
||||
existingSecret: "my-secret"
|
||||
existingSecretKey: "my-secret-key"
|
||||
asserts:
|
||||
- hasDocuments:
|
||||
count: 1
|
||||
- containsDocument:
|
||||
kind: StatefulSet
|
||||
apiVersion: apps/v1
|
||||
name: gitea-unittests-actions-act-runner
|
||||
name: gitea-actions-unittests-runner
|
||||
- equal:
|
||||
path: spec.template.spec.containers[0].env[1]
|
||||
value:
|
||||
@ -364,6 +185,194 @@ tests:
|
||||
echo "Trying again in 3 seconds..."
|
||||
done
|
||||
echo "Gitea has been reached!"
|
||||
|
||||
- it: should render service account name correctly
|
||||
template: templates/statefulset.yaml
|
||||
set:
|
||||
enabled: true
|
||||
statefulset:
|
||||
serviceAccountName: "my-service-account"
|
||||
asserts:
|
||||
- hasDocuments:
|
||||
count: 1
|
||||
- equal:
|
||||
path: spec.template.spec.serviceAccountName
|
||||
value: "my-service-account"
|
||||
|
||||
- it: should render runtime class name correctly
|
||||
template: templates/statefulset.yaml
|
||||
set:
|
||||
enabled: true
|
||||
statefulset:
|
||||
runtimeClassName: "my-runtime-class-name"
|
||||
asserts:
|
||||
- hasDocuments:
|
||||
count: 1
|
||||
- equal:
|
||||
path: spec.template.spec.runtimeClassName
|
||||
value: "my-runtime-class-name"
|
||||
- it: should render storageClass correctly
|
||||
template: templates/statefulset.yaml
|
||||
set:
|
||||
enabled: true
|
||||
global:
|
||||
storageClass: "test-storageclass"
|
||||
asserts:
|
||||
- hasDocuments:
|
||||
count: 1
|
||||
- equal:
|
||||
path: spec.volumeClaimTemplates[0].spec.storageClassName
|
||||
value: "test-storageclass"
|
||||
|
||||
#
|
||||
## GITEA_RUNNER
|
||||
#
|
||||
|
||||
- it: act-runner uses fullOverride
|
||||
template: templates/statefulset.yaml
|
||||
set:
|
||||
enabled: true
|
||||
statefulset.runner.fullOverride: test.io/runner:x.y.z
|
||||
asserts:
|
||||
- hasDocuments:
|
||||
count: 1
|
||||
- containsDocument:
|
||||
kind: StatefulSet
|
||||
apiVersion: apps/v1
|
||||
name: gitea-actions-unittests-runner
|
||||
- equal:
|
||||
path: spec.template.spec.containers[0].image
|
||||
value: test.io/runner:x.y.z
|
||||
|
||||
- it: act-runner uses digest
|
||||
template: templates/statefulset.yaml
|
||||
set:
|
||||
enabled: true
|
||||
statefulset.runner.tag: 1.0.4
|
||||
statefulset.runner.digest: sha256:abcdef123456
|
||||
asserts:
|
||||
- hasDocuments:
|
||||
count: 1
|
||||
- containsDocument:
|
||||
kind: StatefulSet
|
||||
apiVersion: apps/v1
|
||||
name: gitea-actions-unittests-runner
|
||||
- equal:
|
||||
path: spec.template.spec.containers[0].image
|
||||
value: docker.gitea.com/runner:1.0.4@sha256:abcdef123456
|
||||
|
||||
- it: act-runner uses global.imageRegistry
|
||||
template: templates/statefulset.yaml
|
||||
set:
|
||||
enabled: true
|
||||
global.imageRegistry: test.io
|
||||
statefulset.runner.tag: 1.0.4
|
||||
asserts:
|
||||
- hasDocuments:
|
||||
count: 1
|
||||
- containsDocument:
|
||||
kind: StatefulSet
|
||||
apiVersion: apps/v1
|
||||
name: gitea-actions-unittests-runner
|
||||
- equal:
|
||||
path: spec.template.spec.containers[0].image
|
||||
value: test.io/runner:1.0.4
|
||||
|
||||
- it: renders additional environment variables for act-runner container in StatefulSet
|
||||
template: templates/statefulset.yaml
|
||||
set:
|
||||
enabled: true
|
||||
statefulset:
|
||||
runner:
|
||||
extraEnvs:
|
||||
- name: "CUSTOM_ENV"
|
||||
value: "1"
|
||||
- name: "GITEA_RUNNER_NAME"
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: metadata.name
|
||||
asserts:
|
||||
- hasDocuments:
|
||||
count: 1
|
||||
- containsDocument:
|
||||
kind: StatefulSet
|
||||
apiVersion: apps/v1
|
||||
name: gitea-actions-unittests-runner
|
||||
- equal:
|
||||
path: spec.template.spec.containers[0].env[4]
|
||||
value:
|
||||
name: CUSTOM_ENV
|
||||
value: "1"
|
||||
- matchRegex:
|
||||
path: spec.template.spec.containers[0].env[5].valueFrom.fieldRef.fieldPath
|
||||
pattern: "metadata\\.name"
|
||||
- matchRegex:
|
||||
path: spec.template.spec.containers[0].env[5].name
|
||||
pattern: "GITEA_RUNNER_NAME"
|
||||
|
||||
- it: should mount an extra volume in the act runner container
|
||||
template: templates/statefulset.yaml
|
||||
set:
|
||||
enabled: true
|
||||
statefulset:
|
||||
extraVolumes:
|
||||
- name: my-act-runner-volume
|
||||
emptyDir: {}
|
||||
runner:
|
||||
extraVolumeMounts:
|
||||
- mountPath: /mnt
|
||||
name: my-act-runner-volume
|
||||
asserts:
|
||||
- hasDocuments:
|
||||
count: 1
|
||||
- containsDocument:
|
||||
kind: StatefulSet
|
||||
apiVersion: apps/v1
|
||||
name: gitea-actions-unittests-runner
|
||||
- contains:
|
||||
any: true
|
||||
path: spec.template.spec.containers[0].volumeMounts
|
||||
content:
|
||||
mountPath: /mnt
|
||||
name: my-act-runner-volume
|
||||
|
||||
#
|
||||
## DIND
|
||||
#
|
||||
|
||||
- it: dind uses fullOverride
|
||||
template: templates/statefulset.yaml
|
||||
set:
|
||||
enabled: true
|
||||
statefulset.dind.fullOverride: test.io/dind:x.y.z
|
||||
asserts:
|
||||
- hasDocuments:
|
||||
count: 1
|
||||
- containsDocument:
|
||||
kind: StatefulSet
|
||||
apiVersion: apps/v1
|
||||
name: gitea-actions-unittests-runner
|
||||
- equal:
|
||||
path: spec.template.spec.initContainers[1].image
|
||||
value: test.io/dind:x.y.z
|
||||
|
||||
- it: dind uses global.imageRegistry
|
||||
template: templates/statefulset.yaml
|
||||
set:
|
||||
enabled: true
|
||||
global.imageRegistry: test.io
|
||||
statefulset.dind.tag: 28.3.3-dind
|
||||
asserts:
|
||||
- hasDocuments:
|
||||
count: 1
|
||||
- containsDocument:
|
||||
kind: StatefulSet
|
||||
apiVersion: apps/v1
|
||||
name: gitea-actions-unittests-runner
|
||||
- equal:
|
||||
path: spec.template.spec.initContainers[1].image
|
||||
value: test.io/docker:28.3.3-dind
|
||||
|
||||
- it: allows adding custom environment variables to the docker-in-docker container
|
||||
template: templates/statefulset.yaml
|
||||
set:
|
||||
@ -379,31 +388,7 @@ tests:
|
||||
value:
|
||||
name: "CUSTOM_ENV_NAME"
|
||||
value: "custom env value"
|
||||
- it: should mount an extra volume in the act runner container
|
||||
template: templates/statefulset.yaml
|
||||
set:
|
||||
enabled: true
|
||||
statefulset:
|
||||
extraVolumes:
|
||||
- name: my-act-runner-volume
|
||||
emptyDir: {}
|
||||
actRunner:
|
||||
extraVolumeMounts:
|
||||
- mountPath: /mnt
|
||||
name: my-act-runner-volume
|
||||
asserts:
|
||||
- hasDocuments:
|
||||
count: 1
|
||||
- containsDocument:
|
||||
kind: StatefulSet
|
||||
apiVersion: apps/v1
|
||||
name: gitea-unittests-actions-act-runner
|
||||
- contains:
|
||||
any: true
|
||||
path: spec.template.spec.containers[0].volumeMounts
|
||||
content:
|
||||
mountPath: /mnt
|
||||
name: my-act-runner-volume
|
||||
|
||||
- it: should mount an extra volume in the docker-in-docker container
|
||||
template: templates/statefulset.yaml
|
||||
set:
|
||||
@ -422,81 +407,47 @@ tests:
|
||||
- containsDocument:
|
||||
kind: StatefulSet
|
||||
apiVersion: apps/v1
|
||||
name: gitea-unittests-actions-act-runner
|
||||
name: gitea-actions-unittests-runner
|
||||
- contains:
|
||||
any: true
|
||||
path: spec.template.spec.initContainers[1].volumeMounts
|
||||
content:
|
||||
mountPath: /mnt
|
||||
name: my-dind-volume
|
||||
- it: should interpret existingSecret & existingSecretKey templating
|
||||
|
||||
#
|
||||
## INIT
|
||||
#
|
||||
|
||||
- it: init uses fullOverride
|
||||
template: templates/statefulset.yaml
|
||||
set:
|
||||
gitea:
|
||||
token:
|
||||
secret:
|
||||
name: "gitea-secret"
|
||||
key: "secret-key"
|
||||
enabled: true
|
||||
existingSecret: "{{ .Release.Name }}-{{ .Values.gitea.token.secret.name}}"
|
||||
existingSecretKey: "{{ .Values.gitea.token.secret.key}}"
|
||||
init.image.fullOverride: test.io/busybox:x.y.z
|
||||
asserts:
|
||||
- hasDocuments:
|
||||
count: 1
|
||||
- containsDocument:
|
||||
kind: StatefulSet
|
||||
apiVersion: apps/v1
|
||||
name: gitea-unittests-actions-act-runner
|
||||
name: gitea-actions-unittests-runner
|
||||
- equal:
|
||||
path: spec.template.spec.containers[0].env[0].name
|
||||
value: "GITEA_RUNNER_REGISTRATION_TOKEN"
|
||||
- equal:
|
||||
path: spec.template.spec.containers[0].env[0].valueFrom.secretKeyRef.name
|
||||
value: "gitea-unittests-gitea-secret"
|
||||
- equal:
|
||||
path: spec.template.spec.containers[0].env[0].valueFrom.secretKeyRef.key
|
||||
value: "secret-key"
|
||||
- it: should interpret Gitea Root URL templating
|
||||
path: spec.template.spec.initContainers[0].image
|
||||
value: test.io/busybox:x.y.z
|
||||
|
||||
- it: init uses global.imageRegistry
|
||||
template: templates/statefulset.yaml
|
||||
set:
|
||||
global:
|
||||
gitea:
|
||||
service:
|
||||
name: "my-gitea-svc-http"
|
||||
port: 3210
|
||||
enabled: true
|
||||
giteaRootURL: "http://{{ .Values.global.gitea.service.name }}:{{ .Values.global.gitea.service.port }}"
|
||||
global.imageRegistry: test.io
|
||||
init.image.tag: 1.37.0
|
||||
asserts:
|
||||
- hasDocuments:
|
||||
count: 1
|
||||
- containsDocument:
|
||||
kind: StatefulSet
|
||||
apiVersion: apps/v1
|
||||
name: gitea-unittests-actions-act-runner
|
||||
name: gitea-actions-unittests-runner
|
||||
- equal:
|
||||
path: spec.template.spec.containers[0].env[1].name
|
||||
value: "GITEA_INSTANCE_URL"
|
||||
- equal:
|
||||
path: spec.template.spec.containers[0].env[1].value
|
||||
value: "http://my-gitea-svc-http:3210"
|
||||
- equal:
|
||||
path: spec.template.spec.initContainers[0].command[2]
|
||||
value: |
|
||||
echo 'Trying to reach Gitea on http://my-gitea-svc-http:3210'
|
||||
until timeout 10 wget --no-check-certificate --spider http://my-gitea-svc-http:3210; do
|
||||
sleep 3
|
||||
echo "Trying again in 3 seconds..."
|
||||
done
|
||||
echo "Gitea has been reached!"
|
||||
- it: should render service account name correctly
|
||||
template: templates/statefulset.yaml
|
||||
set:
|
||||
enabled: true
|
||||
statefulset:
|
||||
serviceAccountName: "my-service-account"
|
||||
asserts:
|
||||
- hasDocuments:
|
||||
count: 1
|
||||
- equal:
|
||||
path: spec.template.spec.serviceAccountName
|
||||
value: "my-service-account"
|
||||
path: spec.template.spec.initContainers[0].image
|
||||
value: test.io/busybox:1.37.0
|
||||
|
||||
80
values.yaml
80
values.yaml
@ -1,28 +1,38 @@
|
||||
# Configure Gitea Actions
|
||||
## @section Gitea Actions
|
||||
#
|
||||
## @param enabled Create an act runner StatefulSet.
|
||||
## @param enabled Create a Gitea Runner StatefulSet.
|
||||
## @param statefulset.replicas the amount of (replica) runner pods deployed
|
||||
## @param statefulset.timezone is the timezone that will be set in the act_runner image
|
||||
## @param statefulset.annotations Act runner annotations
|
||||
## @param statefulset.labels Act runner labels
|
||||
## @param statefulset.resources Act runner resources
|
||||
## @param statefulset.timezone is the timezone that will be set in the runner image
|
||||
## @param statefulset.annotations Gitea Runner annotations
|
||||
## @param statefulset.labels Gitea Runner labels
|
||||
## @param statefulset.resources Gitea Runner resources
|
||||
## @param statefulset.nodeSelector NodeSelector for the statefulset
|
||||
## @param statefulset.tolerations Tolerations for the statefulset
|
||||
## @param statefulset.affinity Affinity for the statefulset
|
||||
## @param statefulset.extraVolumes Extra volumes for the statefulset
|
||||
## @param statefulset.actRunner.registry image registry, e.g. gcr.io,docker.io
|
||||
## @param statefulset.actRunner.repository The Gitea act runner image
|
||||
## @param statefulset.actRunner.tag The Gitea act runner tag
|
||||
## @param statefulset.actRunner.digest Image digest. Allows to pin the given image tag. Useful for having control over mutable tags like `latest`
|
||||
## @param statefulset.actRunner.pullPolicy The Gitea act runner pullPolicy
|
||||
## @param statefulset.actRunner.fullOverride Completely overrides the image registry, path/image, tag and digest.
|
||||
## @param statefulset.actRunner.extraVolumeMounts Allows mounting extra volumes in the act runner container
|
||||
## @param statefulset.actRunner.config [default: Too complex. See values.yaml] Act runner custom configuration. See [Act Runner documentation](https://docs.gitea.com/usage/actions/act-runner#configuration) for details.
|
||||
## @param statefulset.persistence.size Size for persistence to store Gitea Runner data
|
||||
## @param statefulset.securityContext Customize the SecurityContext
|
||||
## @param statefulset.serviceAccountName Customize the service account name
|
||||
## @param statefulset.runtimeClassName Select a different RuntimeClass for pods
|
||||
## @param statefulset.hostAliases Inject entries into the /etc/hosts file
|
||||
#
|
||||
## @param statefulset.persistence.size Size for persistence to store Gitea Runner data
|
||||
#
|
||||
## @param statefulset.runner.registry image registry, e.g. gcr.io,docker.io
|
||||
## @param statefulset.runner.repository The Gitea Runner image
|
||||
## @param statefulset.runner.tag The Gitea Runner tag
|
||||
## @param statefulset.runner.digest Image digest. Allows to pin the given image tag. Useful for having control over mutable tags like `latest`
|
||||
## @param statefulset.runner.pullPolicy The Gitea Runner pullPolicy
|
||||
## @param statefulset.runner.fullOverride Completely overrides the image registry, path/image, tag and digest.
|
||||
## @param statefulset.runner.extraVolumeMounts Allows mounting extra volumes in the Gitea Runner container
|
||||
## @param statefulset.runner.extraEnvs Allows adding custom environment variables
|
||||
## @param statefulset.runner.flushCache whether to clear the .runner (cache) file by creating an extra init container, can slightly increase boot-up time
|
||||
## @param statefulset.runner.config [default: Too complex. See values.yaml] Gitea Runner custom configuration. See [Gitea Runner documentation](https://docs.gitea.com/usage/actions/act-runner#configuration) for details.
|
||||
#
|
||||
## @param statefulset.dind.rootless [default: false] a simple flag to let helm know we are dealing with a rootless dind container
|
||||
## @param statefulset.dind.uid a field to set the running user id for the rootless dind container, so it knows where to look for the socket
|
||||
## @param statefulset.dind.registry image registry, e.g. gcr.io,docker.io
|
||||
## @param statefulset.actRunner.extraEnvs Allows adding custom environment variables
|
||||
## @param statefulset.dind.repository The Docker-in-Docker image
|
||||
## @param statefulset.dind.tag The Docker-in-Docker image tag
|
||||
## @param statefulset.dind.digest Image digest. Allows to pin the given image tag. Useful for having control over mutable tags like `latest`
|
||||
@ -30,9 +40,8 @@
|
||||
## @param statefulset.dind.pullPolicy The Docker-in-Docker pullPolicy
|
||||
## @param statefulset.dind.extraVolumeMounts Allows mounting extra volumes in the Docker-in-Docker container
|
||||
## @param statefulset.dind.extraEnvs Allows adding custom environment variables, such as `DOCKER_IPTABLES_LEGACY`
|
||||
## @param statefulset.persistence.size Size for persistence to store act runner data
|
||||
## @param statefulset.securityContext Customize the SecurityContext
|
||||
## @param statefulset.serviceAccountName Customize the service account name
|
||||
## @param statefulset.dind.extraArgs Allows adding custom arguments to the Docker Daemon
|
||||
#
|
||||
enabled: false
|
||||
statefulset:
|
||||
replicas: 1
|
||||
@ -46,11 +55,23 @@ statefulset:
|
||||
extraVolumes: []
|
||||
securityContext: {}
|
||||
serviceAccountName: ""
|
||||
runtimeClassName: ""
|
||||
|
||||
actRunner:
|
||||
# Add /etc/hosts injections into the pods
|
||||
hostAliases:
|
||||
[]
|
||||
# - ip: 8.8.8.8
|
||||
# hostnames:
|
||||
# - googel.com
|
||||
# - googol.com
|
||||
|
||||
persistence:
|
||||
size: 1Gi
|
||||
|
||||
runner:
|
||||
registry: "docker.gitea.com"
|
||||
repository: act_runner
|
||||
tag: 0.3.0
|
||||
repository: runner
|
||||
tag: 1.0.4
|
||||
digest: ""
|
||||
pullPolicy: IfNotPresent
|
||||
fullOverride: ""
|
||||
@ -62,7 +83,9 @@ statefulset:
|
||||
# fieldRef:
|
||||
# fieldPath: metadata.name
|
||||
|
||||
# See full example here: https://gitea.com/gitea/act_runner/src/branch/main/internal/pkg/config/config.example.yaml
|
||||
# See full details: https://gitea.com/gitea/helm-actions/issues/73
|
||||
flushCache: false
|
||||
# See full example here: https://gitea.com/gitea/runner/src/branch/main/internal/pkg/config/config.example.yaml
|
||||
config: |
|
||||
log:
|
||||
level: debug
|
||||
@ -77,7 +100,7 @@ statefulset:
|
||||
uid: ""
|
||||
registry: "docker.io"
|
||||
repository: docker
|
||||
tag: 29.3.1-dind
|
||||
tag: 29.5.1-dind
|
||||
digest: ""
|
||||
pullPolicy: IfNotPresent
|
||||
fullOverride: ""
|
||||
@ -90,8 +113,11 @@ statefulset:
|
||||
# - name: "DOCKER_IPTABLES_LEGACY"
|
||||
# value: "1"
|
||||
|
||||
persistence:
|
||||
size: 1Gi
|
||||
# Option to add extra arguments/commands to the container/pod:
|
||||
# [#22](https://gitea.com/gitea/helm-actions/issues/22) [k8s docs](https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/)
|
||||
extraArgs:
|
||||
[]
|
||||
# - --mtu=1400
|
||||
|
||||
## @section Gitea Actions Init
|
||||
#
|
||||
@ -120,13 +146,13 @@ existingSecretKey: ""
|
||||
|
||||
## @section Gitea URL Setting
|
||||
#
|
||||
## @param giteaRootURL URL the act_runner registers and connect with
|
||||
## @param giteaRootURL URL the Gitea Runner registers and connects with
|
||||
giteaRootURL: ""
|
||||
|
||||
## @section Extra Init Containers
|
||||
#
|
||||
## @param preExtraInitContainers Additional init containers to run in the pod before gitea-actions runs it owns init containers.
|
||||
## @param postExtraInitContainers Additional init containers to run in the pod after gitea-actions runs it owns init containers.
|
||||
## @param preExtraInitContainers Additional init containers to run in the pod before Gitea-actions runs it owns init containers.
|
||||
## @param postExtraInitContainers Additional init containers to run in the pod after Gitea-actions runs it owns init containers.
|
||||
preExtraInitContainers: []
|
||||
# - name: pre-init-container
|
||||
# image: docker.io/library/busybox
|
||||
|
||||
Reference in New Issue
Block a user