You've already forked helm-actions
							
							chore: add templates, unittests and workflows
This commit is contained in:
		
							
								
								
									
										44
									
								
								.gitea/PULL_REQUEST_TEMPLATE.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								.gitea/PULL_REQUEST_TEMPLATE.md
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,44 @@
 | 
				
			|||||||
 | 
					<!--
 | 
				
			||||||
 | 
					 Before you open the request please review the following guidelines and tips to help it be more easily integrated:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 - Describe the scope of your change - i.e. what the change does.
 | 
				
			||||||
 | 
					 - Describe any known limitations with your change.
 | 
				
			||||||
 | 
					 - Please run any tests or examples that can exercise your modified code.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 Thank you for contributing! We will try to review, test and integrate the change as soon as we can.
 | 
				
			||||||
 | 
					 -->
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Description of the change
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<!-- Describe the scope of your change - i.e. what the change does. -->
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Benefits
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<!-- What benefits will be realized by the code change? -->
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Possible drawbacks
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<!-- Describe any known limitations with your change -->
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Applicable issues
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<!-- Enter any applicable Issues here (You can reference an issue using #). Please remove this section if there is no referenced issue. -->
 | 
				
			||||||
 | 
					- Fixes #
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Additional information
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<!-- If there's anything else that's important and relevant to your pull request, mention that information here. Please remove this section if it remains empty. -->
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### ⚠ BREAKING
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<!-- If there's a breaking change, please shortly describe in which way users are affected and how they can mitigate it. If there are no breakings, please remove this section. -->
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Checklist
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<!-- [Place an '[X]' (no spaces) in all applicable fields. Please remove unrelated fields.] -->
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- [ ] Parameters are documented in the `values.yaml` and added to the `README.md` using [readme-generator-for-helm](https://github.com/bitnami-labs/readme-generator-for-helm)
 | 
				
			||||||
 | 
					- [ ] Breaking changes are documented in the `README.md`
 | 
				
			||||||
 | 
					- [ ] Helm templating unittests are added (required when changing anything in `templates` folder)
 | 
				
			||||||
 | 
					- [ ] Bash unittests are added (required when changing anything in `scripts` folder)
 | 
				
			||||||
 | 
					- [ ] All added template resources MUST render a namespace in metadata
 | 
				
			||||||
							
								
								
									
										32
									
								
								.gitea/workflows/changelog.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								.gitea/workflows/changelog.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,32 @@
 | 
				
			|||||||
 | 
					name: changelog
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					on:
 | 
				
			||||||
 | 
					  push:
 | 
				
			||||||
 | 
					    branches:
 | 
				
			||||||
 | 
					      - main
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					jobs:
 | 
				
			||||||
 | 
					  changelog:
 | 
				
			||||||
 | 
					    runs-on: ubuntu-latest
 | 
				
			||||||
 | 
					    container: docker.io/thegeeklab/git-sv:1.0.12
 | 
				
			||||||
 | 
					    steps:
 | 
				
			||||||
 | 
					      - name: install tools
 | 
				
			||||||
 | 
					        run: |
 | 
				
			||||||
 | 
					          apk add -q --update --no-cache nodejs curl jq sed
 | 
				
			||||||
 | 
					      - uses: actions/checkout@v4
 | 
				
			||||||
 | 
					        with:
 | 
				
			||||||
 | 
					          fetch-depth: 0
 | 
				
			||||||
 | 
					      - name: Generate upcoming changelog
 | 
				
			||||||
 | 
					        run: |
 | 
				
			||||||
 | 
					          git sv rn -o changelog.md
 | 
				
			||||||
 | 
					          export RELEASE_NOTES=$(cat changelog.md)
 | 
				
			||||||
 | 
					          export ISSUE_NUMBER=$(curl -s "https://gitea.com/api/v1/repos/gitea/helm-actions/issues?state=open&q=Changelog%20for%20upcoming%20version" | jq '.[].number')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					          echo $RELEASE_NOTES
 | 
				
			||||||
 | 
					          JSON_DATA=$(echo "" | jq -Rs --arg title 'Changelog for upcoming version' --arg body "$(cat changelog.md)" '{title: $title, body: $body}')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					          if [ -z "$ISSUE_NUMBER" ]; then
 | 
				
			||||||
 | 
					            curl -s -X POST "https://gitea.com/api/v1/repos/gitea/helm-actions/issues" -H "Authorization: token ${{ secrets.ISSUE_RW_TOKEN }}" -H "Content-Type: application/json" -d "$JSON_DATA"
 | 
				
			||||||
 | 
					          else
 | 
				
			||||||
 | 
					            curl -s -X PATCH "https://gitea.com/api/v1/repos/gitea/helm-actions/issues/$ISSUE_NUMBER" -H "Authorization: token ${{ secrets.ISSUE_RW_TOKEN }}" -H "Content-Type: application/json" -d "$JSON_DATA"
 | 
				
			||||||
 | 
					          fi
 | 
				
			||||||
							
								
								
									
										19
									
								
								.gitea/workflows/commitlint.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								.gitea/workflows/commitlint.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,19 @@
 | 
				
			|||||||
 | 
					name: commitlint
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					on:
 | 
				
			||||||
 | 
					  pull_request:
 | 
				
			||||||
 | 
					    branches:
 | 
				
			||||||
 | 
					      - "*"
 | 
				
			||||||
 | 
					    types:
 | 
				
			||||||
 | 
					      - opened
 | 
				
			||||||
 | 
					      - edited
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					jobs:
 | 
				
			||||||
 | 
					  check-and-test:
 | 
				
			||||||
 | 
					    runs-on: ubuntu-latest
 | 
				
			||||||
 | 
					    container: commitlint/commitlint:19.7.1
 | 
				
			||||||
 | 
					    steps:
 | 
				
			||||||
 | 
					      - uses: actions/checkout@v4
 | 
				
			||||||
 | 
					      - name: check PR title
 | 
				
			||||||
 | 
					        run: |
 | 
				
			||||||
 | 
					          echo "${{ gitea.event.pull_request.title }}" | commitlint --config .commitlintrc.json
 | 
				
			||||||
							
								
								
									
										70
									
								
								.gitea/workflows/release-version.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										70
									
								
								.gitea/workflows/release-version.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,70 @@
 | 
				
			|||||||
 | 
					name: generate-chart
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					on:
 | 
				
			||||||
 | 
					  push:
 | 
				
			||||||
 | 
					    tags:
 | 
				
			||||||
 | 
					      - "*"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					env:
 | 
				
			||||||
 | 
					  # renovate: datasource=docker depName=alpine/helm
 | 
				
			||||||
 | 
					  HELM_VERSION: "3.17.1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					jobs:
 | 
				
			||||||
 | 
					  generate-chart-publish:
 | 
				
			||||||
 | 
					    runs-on: ubuntu-latest
 | 
				
			||||||
 | 
					    steps:
 | 
				
			||||||
 | 
					      - uses: actions/checkout@v4
 | 
				
			||||||
 | 
					      - 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
 | 
				
			||||||
 | 
					          pip install awscli --break-system-packages
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      - name: Import GPG key
 | 
				
			||||||
 | 
					        id: import_gpg
 | 
				
			||||||
 | 
					        uses: https://github.com/crazy-max/ghaction-import-gpg@v6
 | 
				
			||||||
 | 
					        with:
 | 
				
			||||||
 | 
					          gpg_private_key: ${{ secrets.GPGSIGN_KEY }}
 | 
				
			||||||
 | 
					          passphrase: ${{ secrets.GPGSIGN_PASSPHRASE }}
 | 
				
			||||||
 | 
					          fingerprint: CC64B1DB67ABBEECAB24B6455FC346329753F4B0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      # 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
 | 
				
			||||||
 | 
					          helm dependency build
 | 
				
			||||||
 | 
					          helm package --version "${GITHUB_REF#refs/tags/v}" ./
 | 
				
			||||||
 | 
					          mkdir actions
 | 
				
			||||||
 | 
					          mv actions*.tgz 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
 | 
				
			||||||
 | 
					          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
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      - name: aws credential configure
 | 
				
			||||||
 | 
					        uses: https://github.com/aws-actions/configure-aws-credentials@v4
 | 
				
			||||||
 | 
					        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
 | 
				
			||||||
 | 
					        run: |
 | 
				
			||||||
 | 
					          aws s3 sync actions/ s3://${{ secrets.AWS_S3_BUCKET}}/charts/
 | 
				
			||||||
							
								
								
									
										45
									
								
								.gitea/workflows/test-pr.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								.gitea/workflows/test-pr.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,45 @@
 | 
				
			|||||||
 | 
					name: check-and-test
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					on:
 | 
				
			||||||
 | 
					  pull_request:
 | 
				
			||||||
 | 
					    branches:
 | 
				
			||||||
 | 
					      - "*"
 | 
				
			||||||
 | 
					  push:
 | 
				
			||||||
 | 
					    branches:
 | 
				
			||||||
 | 
					      - main
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					env:
 | 
				
			||||||
 | 
					  # renovate: datasource=github-releases depName=helm-unittest/helm-unittest
 | 
				
			||||||
 | 
					  HELM_UNITTEST_VERSION: "v0.7.2"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					jobs:
 | 
				
			||||||
 | 
					  check-and-test:
 | 
				
			||||||
 | 
					    runs-on: ubuntu-latest
 | 
				
			||||||
 | 
					    container: alpine/helm:3.17.1
 | 
				
			||||||
 | 
					    steps:
 | 
				
			||||||
 | 
					      - name: install tools
 | 
				
			||||||
 | 
					        run: |
 | 
				
			||||||
 | 
					          apk update
 | 
				
			||||||
 | 
					          apk add --update bash make nodejs npm yamllint ncurses
 | 
				
			||||||
 | 
					      - uses: actions/checkout@v4
 | 
				
			||||||
 | 
					      - name: install chart dependencies
 | 
				
			||||||
 | 
					        run: helm dependency build
 | 
				
			||||||
 | 
					      - name: 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
 | 
				
			||||||
 | 
					          git submodule update --init --recursive
 | 
				
			||||||
 | 
					      - name: unit tests
 | 
				
			||||||
 | 
					        env:
 | 
				
			||||||
 | 
					          TERM: xterm
 | 
				
			||||||
 | 
					        run: |
 | 
				
			||||||
 | 
					          make unittests
 | 
				
			||||||
 | 
					      - name: verify readme
 | 
				
			||||||
 | 
					        run: |
 | 
				
			||||||
 | 
					          make readme
 | 
				
			||||||
 | 
					          git diff --exit-code --name-only README.md
 | 
				
			||||||
 | 
					      - name: yaml lint
 | 
				
			||||||
 | 
					        uses: https://github.com/ibiqlik/action-yamllint@v3
 | 
				
			||||||
							
								
								
									
										38
									
								
								Chart.yaml
									
									
									
									
									
								
							
							
						
						
									
										38
									
								
								Chart.yaml
									
									
									
									
									
								
							@@ -1,36 +1,20 @@
 | 
				
			|||||||
apiVersion: v2
 | 
					apiVersion: v2
 | 
				
			||||||
name: gitea
 | 
					name: actions
 | 
				
			||||||
description: Gitea Helm chart for Kubernetes
 | 
					description: Gitea Actions chart for Kubernetes
 | 
				
			||||||
type: application
 | 
					type: application
 | 
				
			||||||
version: 0.0.0
 | 
					version: 0.0.0
 | 
				
			||||||
# renovate datasource=github-releases depName=go-gitea/gitea extractVersion=^v(?<version>.*)$
 | 
					# renovate datasource=github-releases depName=go-gitea/act extractVersion=^v(?<version>.*)$
 | 
				
			||||||
appVersion: 1.23.5
 | 
					appVersion: 0.261.3
 | 
				
			||||||
icon: https://gitea.com/assets/img/logo.svg
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
keywords:
 | 
					keywords:
 | 
				
			||||||
  - git
 | 
					  - cicd
 | 
				
			||||||
  - issue tracker
 | 
					  - runner
 | 
				
			||||||
  - code review
 | 
					  - actions
 | 
				
			||||||
  - wiki
 | 
					 | 
				
			||||||
  - gitea
 | 
					 | 
				
			||||||
  - gogs
 | 
					 | 
				
			||||||
sources:
 | 
					sources:
 | 
				
			||||||
  - https://gitea.com/gitea/helm-chart
 | 
					  - https://gitea.com/gitea/helm-actions
 | 
				
			||||||
  - https://github.com/go-gitea/gitea
 | 
					  - https://gitea.com/gitea/act
 | 
				
			||||||
  - https://hub.docker.com/r/gitea/gitea/
 | 
					# FIXME:
 | 
				
			||||||
maintainers:
 | 
					# maintainers:
 | 
				
			||||||
  - name: Charlie Drage
 | 
					 | 
				
			||||||
    email: charlie@charliedrage.com
 | 
					 | 
				
			||||||
  - name: Gitea Authors
 | 
					 | 
				
			||||||
    email: maintainers@gitea.io
 | 
					 | 
				
			||||||
  - name: Konrad Lother
 | 
					 | 
				
			||||||
    email: konrad.lother@novum-rgi.de
 | 
					 | 
				
			||||||
  - name: Lucas Hahn
 | 
					 | 
				
			||||||
    email: lucas.hahn@novum-rgi.de
 | 
					 | 
				
			||||||
  - name: Steven Kriegler
 | 
					 | 
				
			||||||
    email: sk.bunsenbrenner@gmail.com
 | 
					 | 
				
			||||||
  - name: Patrick Schratz
 | 
					 | 
				
			||||||
    email: patrick.schratz@gmail.com
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
dependencies:
 | 
					dependencies:
 | 
				
			||||||
  # https://github.com/bitnami/charts/blob/main/bitnami/postgresql
 | 
					  # https://github.com/bitnami/charts/blob/main/bitnami/postgresql
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										15
									
								
								templates/01-consistency-checks.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								templates/01-consistency-checks.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,15 @@
 | 
				
			|||||||
 | 
					{{- if .Values.actions.enabled -}}
 | 
				
			||||||
 | 
					    {{- if .Values.actions.provisioning.enabled -}}
 | 
				
			||||||
 | 
					        {{- if not (and .Values.persistence.enabled .Values.persistence.mount) -}}
 | 
				
			||||||
 | 
					            {{- fail "persistence.enabled and persistence.mount are required when provisioning is enabled" -}}
 | 
				
			||||||
 | 
					        {{- end -}}
 | 
				
			||||||
 | 
					        {{- if and .Values.persistence.enabled .Values.persistence.mount -}}
 | 
				
			||||||
 | 
					            {{- if .Values.actions.existingSecret -}}
 | 
				
			||||||
 | 
					                {{- fail "Can't specify both actions.provisioning.enabled and actions.existingSecret" -}}
 | 
				
			||||||
 | 
					            {{- end -}}
 | 
				
			||||||
 | 
					        {{- end -}}
 | 
				
			||||||
 | 
					    {{- end -}}
 | 
				
			||||||
 | 
					    {{- if and (not .Values.actions.provisioning.enabled) (or (empty .Values.actions.existingSecret) (empty .Values.actions.existingSecretKey)) -}}
 | 
				
			||||||
 | 
					        {{- fail "actions.existingSecret and actions.existingSecretKey are required when provisioning is disabled" -}}
 | 
				
			||||||
 | 
					    {{- end -}}
 | 
				
			||||||
 | 
					{{- end -}}
 | 
				
			||||||
							
								
								
									
										15
									
								
								templates/config-act-runner.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								templates/config-act-runner.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,15 @@
 | 
				
			|||||||
 | 
					{{- if .Values.actions.enabled }}
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					apiVersion: v1
 | 
				
			||||||
 | 
					kind: ConfigMap
 | 
				
			||||||
 | 
					metadata:
 | 
				
			||||||
 | 
					  name: {{ include "gitea.fullname" . }}-act-runner-config
 | 
				
			||||||
 | 
					  namespace: {{ .Values.namespace | default .Release.Namespace }}
 | 
				
			||||||
 | 
					  labels:
 | 
				
			||||||
 | 
					    {{- include "gitea.labels" . | nindent 4 }}
 | 
				
			||||||
 | 
					data:
 | 
				
			||||||
 | 
					  config.yaml: |
 | 
				
			||||||
 | 
					    {{- with .Values.actions.statefulset.actRunner.config -}}
 | 
				
			||||||
 | 
					    {{ . | nindent 4}}
 | 
				
			||||||
 | 
					    {{- end -}}
 | 
				
			||||||
 | 
					{{- end }}
 | 
				
			||||||
							
								
								
									
										14
									
								
								templates/config-scripts.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								templates/config-scripts.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,14 @@
 | 
				
			|||||||
 | 
					{{- if .Values.actions.enabled }}
 | 
				
			||||||
 | 
					{{- if and (and .Values.actions.provisioning.enabled .Values.persistence.enabled) .Values.persistence.mount }}
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					apiVersion: v1
 | 
				
			||||||
 | 
					kind: ConfigMap
 | 
				
			||||||
 | 
					metadata:
 | 
				
			||||||
 | 
					  name: {{ include "gitea.fullname" . }}-scripts
 | 
				
			||||||
 | 
					  namespace: {{ .Values.namespace | default .Release.Namespace }}
 | 
				
			||||||
 | 
					  labels:
 | 
				
			||||||
 | 
					    {{- include "gitea.labels" . | nindent 4 }}
 | 
				
			||||||
 | 
					data:
 | 
				
			||||||
 | 
					{{ (.Files.Glob "scripts/act_runner/*.sh").AsConfig | indent 2 }}
 | 
				
			||||||
 | 
					{{- end }}
 | 
				
			||||||
 | 
					{{- end }}
 | 
				
			||||||
							
								
								
									
										115
									
								
								templates/job.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										115
									
								
								templates/job.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,115 @@
 | 
				
			|||||||
 | 
					{{- if .Values.actions.enabled }}
 | 
				
			||||||
 | 
					{{- if and (and .Values.actions.provisioning.enabled .Values.persistence.enabled) .Values.persistence.mount }}
 | 
				
			||||||
 | 
					{{- $name := include "gitea.workername" (dict "global" . "worker" "actions-token-job") }}
 | 
				
			||||||
 | 
					{{- $secretName := include "gitea.workername" (dict "global" . "worker" "actions-token") }}
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					apiVersion: batch/v1
 | 
				
			||||||
 | 
					kind: Job
 | 
				
			||||||
 | 
					metadata:
 | 
				
			||||||
 | 
					  name: {{ $name }}
 | 
				
			||||||
 | 
					  namespace: {{ .Values.namespace | default .Release.Namespace }}
 | 
				
			||||||
 | 
					  labels:
 | 
				
			||||||
 | 
					    {{- include "gitea.labels" . | nindent 4 }}
 | 
				
			||||||
 | 
					    {{- with .Values.actions.provisioning.labels }}
 | 
				
			||||||
 | 
					    {{- toYaml . | nindent 4 }}
 | 
				
			||||||
 | 
					    {{- end }}
 | 
				
			||||||
 | 
					    app.kubernetes.io/component: token-job
 | 
				
			||||||
 | 
					  annotations:
 | 
				
			||||||
 | 
					    {{- with .Values.actions.provisioning.annotations }}
 | 
				
			||||||
 | 
					    {{- toYaml . | nindent 4 }}
 | 
				
			||||||
 | 
					    {{- end }}
 | 
				
			||||||
 | 
					spec:
 | 
				
			||||||
 | 
					  ttlSecondsAfterFinished: {{ .Values.actions.provisioning.ttlSecondsAfterFinished }}
 | 
				
			||||||
 | 
					  template:
 | 
				
			||||||
 | 
					    metadata:
 | 
				
			||||||
 | 
					      labels:
 | 
				
			||||||
 | 
					        {{- include "gitea.labels" . | nindent 8 }}
 | 
				
			||||||
 | 
					        {{- with .Values.actions.provisioning.labels }}
 | 
				
			||||||
 | 
					        {{- toYaml . | nindent 8 }}
 | 
				
			||||||
 | 
					        {{- end }}
 | 
				
			||||||
 | 
					        app.kubernetes.io/component: token-job
 | 
				
			||||||
 | 
					    spec:
 | 
				
			||||||
 | 
					      initContainers:
 | 
				
			||||||
 | 
					        - name: init-gitea
 | 
				
			||||||
 | 
					          image: "{{ .Values.actions.init.image.repository }}:{{ .Values.actions.init.image.tag }}"
 | 
				
			||||||
 | 
					          command:
 | 
				
			||||||
 | 
					            - sh
 | 
				
			||||||
 | 
					            - -c
 | 
				
			||||||
 | 
					            - |
 | 
				
			||||||
 | 
					              while ! nc -z {{ include "gitea.fullname" . }}-http {{ .Values.service.http.port }}; do
 | 
				
			||||||
 | 
					                sleep 5
 | 
				
			||||||
 | 
					              done
 | 
				
			||||||
 | 
					      containers:
 | 
				
			||||||
 | 
					        - name: actions-token-create
 | 
				
			||||||
 | 
					          image: "{{ include "gitea.image" . }}"
 | 
				
			||||||
 | 
					          imagePullPolicy: {{ .Values.image.pullPolicy }}
 | 
				
			||||||
 | 
					          env:
 | 
				
			||||||
 | 
					            - name: GITEA_APP_INI
 | 
				
			||||||
 | 
					              value: /data/gitea/conf/app.ini
 | 
				
			||||||
 | 
					          command:
 | 
				
			||||||
 | 
					            - sh
 | 
				
			||||||
 | 
					            - -c
 | 
				
			||||||
 | 
					            - |
 | 
				
			||||||
 | 
					              echo "Generating act_runner token via 'gitea actions generate-runner-token'..."
 | 
				
			||||||
 | 
					              mkdir -p /data/actions/
 | 
				
			||||||
 | 
					              gitea actions generate-runner-token | grep -E '^.{40}$' | tr -d '\n' > /data/actions/token
 | 
				
			||||||
 | 
					          resources:
 | 
				
			||||||
 | 
					            {{- toYaml .Values.actions.provisioning.resources | nindent 12 }}
 | 
				
			||||||
 | 
					          volumeMounts:
 | 
				
			||||||
 | 
					            - name: data
 | 
				
			||||||
 | 
					              mountPath: /data
 | 
				
			||||||
 | 
					              {{- if .Values.persistence.subPath }}
 | 
				
			||||||
 | 
					              subPath: {{ .Values.persistence.subPath }}
 | 
				
			||||||
 | 
					              {{- end }}
 | 
				
			||||||
 | 
					        - name: actions-token-upload
 | 
				
			||||||
 | 
					          image: "{{ .Values.actions.provisioning.publish.repository }}:{{ .Values.actions.provisioning.publish.tag }}"
 | 
				
			||||||
 | 
					          imagePullPolicy: {{ .Values.actions.provisioning.publish.pullPolicy }}
 | 
				
			||||||
 | 
					          env:
 | 
				
			||||||
 | 
					            - name: SECRET_NAME
 | 
				
			||||||
 | 
					              value: {{ $secretName }}
 | 
				
			||||||
 | 
					          command:
 | 
				
			||||||
 | 
					            - sh
 | 
				
			||||||
 | 
					            - -c
 | 
				
			||||||
 | 
					            - |
 | 
				
			||||||
 | 
					              printf "Checking rights to update kubernetes act_runner secret..."
 | 
				
			||||||
 | 
					              kubectl auth can-i update secret/${SECRET_NAME}
 | 
				
			||||||
 | 
					              /scripts/token.sh
 | 
				
			||||||
 | 
					          resources:
 | 
				
			||||||
 | 
					            {{- toYaml .Values.actions.provisioning.resources | nindent 12 }}
 | 
				
			||||||
 | 
					          volumeMounts:
 | 
				
			||||||
 | 
					            - mountPath: /scripts
 | 
				
			||||||
 | 
					              name: scripts
 | 
				
			||||||
 | 
					              readOnly: true
 | 
				
			||||||
 | 
					            - mountPath: /data
 | 
				
			||||||
 | 
					              name: data
 | 
				
			||||||
 | 
					              readOnly: true
 | 
				
			||||||
 | 
					              {{- if .Values.persistence.subPath }}
 | 
				
			||||||
 | 
					              subPath: {{ .Values.persistence.subPath }}
 | 
				
			||||||
 | 
					              {{- end }}
 | 
				
			||||||
 | 
					      {{- range $key, $value := .Values.actions.provisioning.nodeSelector }}
 | 
				
			||||||
 | 
					      nodeSelector:
 | 
				
			||||||
 | 
					        {{ $key }}: {{ $value | quote }}
 | 
				
			||||||
 | 
					      {{- end }}
 | 
				
			||||||
 | 
					      {{- with .Values.actions.provisioning.affinity }}
 | 
				
			||||||
 | 
					      affinity:
 | 
				
			||||||
 | 
					        {{- toYaml . | nindent 8 }}
 | 
				
			||||||
 | 
					      {{- end }}
 | 
				
			||||||
 | 
					      {{- with .Values.actions.provisioning.tolerations }}
 | 
				
			||||||
 | 
					      tolerations:
 | 
				
			||||||
 | 
					        {{- toYaml . | nindent 8 }}
 | 
				
			||||||
 | 
					      {{- end }}
 | 
				
			||||||
 | 
					      restartPolicy: Never
 | 
				
			||||||
 | 
					      serviceAccount: {{ $name }}
 | 
				
			||||||
 | 
					      volumes:
 | 
				
			||||||
 | 
					        - name: scripts
 | 
				
			||||||
 | 
					          configMap:
 | 
				
			||||||
 | 
					            name: {{ include "gitea.fullname" . }}-scripts
 | 
				
			||||||
 | 
					            defaultMode: 0755
 | 
				
			||||||
 | 
					        - name: data
 | 
				
			||||||
 | 
					          persistentVolumeClaim:
 | 
				
			||||||
 | 
					            claimName: {{ .Values.persistence.claimName }}
 | 
				
			||||||
 | 
					  parallelism: 1
 | 
				
			||||||
 | 
					  completions: 1
 | 
				
			||||||
 | 
					  backoffLimit: 1
 | 
				
			||||||
 | 
					{{- end }}
 | 
				
			||||||
 | 
					{{- end }}
 | 
				
			||||||
							
								
								
									
										26
									
								
								templates/role-job.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								templates/role-job.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,26 @@
 | 
				
			|||||||
 | 
					{{- if .Values.actions.enabled }}
 | 
				
			||||||
 | 
					{{- if and (and .Values.actions.provisioning.enabled .Values.persistence.enabled) .Values.persistence.mount }}
 | 
				
			||||||
 | 
					{{- $name := include "gitea.workername" (dict "global" . "worker" "actions-token-job") }}
 | 
				
			||||||
 | 
					{{- $secretName := include "gitea.workername" (dict "global" . "worker" "actions-token") }}
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					apiVersion: rbac.authorization.k8s.io/v1
 | 
				
			||||||
 | 
					kind: Role
 | 
				
			||||||
 | 
					metadata:
 | 
				
			||||||
 | 
					  name: {{ $name }}
 | 
				
			||||||
 | 
					  namespace: {{ .Values.namespace | default .Release.Namespace }}
 | 
				
			||||||
 | 
					  labels:
 | 
				
			||||||
 | 
					    {{- include "gitea.labels" . | nindent 4 }}
 | 
				
			||||||
 | 
					    app.kubernetes.io/component: token-job
 | 
				
			||||||
 | 
					rules:
 | 
				
			||||||
 | 
					  - apiGroups:
 | 
				
			||||||
 | 
					      - ""
 | 
				
			||||||
 | 
					    resources:
 | 
				
			||||||
 | 
					      - secrets
 | 
				
			||||||
 | 
					    resourceNames:
 | 
				
			||||||
 | 
					      - {{ $secretName }}
 | 
				
			||||||
 | 
					    verbs:
 | 
				
			||||||
 | 
					      - get
 | 
				
			||||||
 | 
					      - update
 | 
				
			||||||
 | 
					      - patch
 | 
				
			||||||
 | 
					{{- end }}
 | 
				
			||||||
 | 
					{{- end }}
 | 
				
			||||||
							
								
								
									
										23
									
								
								templates/rolebinding-job.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								templates/rolebinding-job.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,23 @@
 | 
				
			|||||||
 | 
					{{- if .Values.actions.enabled }}
 | 
				
			||||||
 | 
					{{- if and (and .Values.actions.provisioning.enabled .Values.persistence.enabled) .Values.persistence.mount }}
 | 
				
			||||||
 | 
					{{- $name := include "gitea.workername" (dict "global" . "worker" "actions-token-job") }}
 | 
				
			||||||
 | 
					{{- $secretName := include "gitea.workername" (dict "global" . "worker" "actions-token") }}
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					apiVersion: rbac.authorization.k8s.io/v1
 | 
				
			||||||
 | 
					kind: RoleBinding
 | 
				
			||||||
 | 
					metadata:
 | 
				
			||||||
 | 
					  name: {{ $name }}
 | 
				
			||||||
 | 
					  namespace: {{ .Values.namespace | default .Release.Namespace }}
 | 
				
			||||||
 | 
					  labels:
 | 
				
			||||||
 | 
					    {{- include "gitea.labels" . | nindent 4 }}
 | 
				
			||||||
 | 
					    app.kubernetes.io/component: token-job
 | 
				
			||||||
 | 
					roleRef:
 | 
				
			||||||
 | 
					  apiGroup: rbac.authorization.k8s.io
 | 
				
			||||||
 | 
					  kind: Role
 | 
				
			||||||
 | 
					  name: {{ $name }}
 | 
				
			||||||
 | 
					subjects:
 | 
				
			||||||
 | 
					  - kind: ServiceAccount
 | 
				
			||||||
 | 
					    name: {{ $name }}
 | 
				
			||||||
 | 
					    namespace: {{ .Release.Namespace }}
 | 
				
			||||||
 | 
					{{- end }}
 | 
				
			||||||
 | 
					{{- end }}
 | 
				
			||||||
							
								
								
									
										20
									
								
								templates/secret-token.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								templates/secret-token.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,20 @@
 | 
				
			|||||||
 | 
					{{- if .Values.actions.enabled }}
 | 
				
			||||||
 | 
					{{- if and (and .Values.actions.provisioning.enabled .Values.persistence.enabled) .Values.persistence.mount }}
 | 
				
			||||||
 | 
					{{- $name := include "gitea.workername" (dict "global" . "worker" "actions-token-job") }}
 | 
				
			||||||
 | 
					{{- $secretName := include "gitea.workername" (dict "global" . "worker" "actions-token") }}
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					apiVersion: v1
 | 
				
			||||||
 | 
					kind: Secret
 | 
				
			||||||
 | 
					metadata:
 | 
				
			||||||
 | 
					  name: {{ $secretName }}
 | 
				
			||||||
 | 
					  namespace: {{ .Values.namespace | default .Release.Namespace }}
 | 
				
			||||||
 | 
					  labels:
 | 
				
			||||||
 | 
					    {{- include "gitea.labels" . | nindent 4 }}
 | 
				
			||||||
 | 
					    app.kubernetes.io/component: token-job
 | 
				
			||||||
 | 
					{{ $secret := (lookup "v1" "Secret" .Release.Namespace $secretName) -}}
 | 
				
			||||||
 | 
					{{ if $secret -}}
 | 
				
			||||||
 | 
					data:
 | 
				
			||||||
 | 
					  token: {{ (b64dec (index $secret.data "token")) | b64enc }}
 | 
				
			||||||
 | 
					{{ end -}}
 | 
				
			||||||
 | 
					{{- end }}
 | 
				
			||||||
 | 
					{{- end }}
 | 
				
			||||||
							
								
								
									
										14
									
								
								templates/serviceaccount-job.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								templates/serviceaccount-job.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,14 @@
 | 
				
			|||||||
 | 
					{{- if .Values.actions.enabled }}
 | 
				
			||||||
 | 
					{{- if and (and .Values.actions.provisioning.enabled .Values.persistence.enabled) .Values.persistence.mount }}
 | 
				
			||||||
 | 
					{{- $name := include "gitea.workername" (dict "global" . "worker" "actions-token-job") }}
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					apiVersion: v1
 | 
				
			||||||
 | 
					kind: ServiceAccount
 | 
				
			||||||
 | 
					metadata:
 | 
				
			||||||
 | 
					  name: {{ $name }}
 | 
				
			||||||
 | 
					  namespace: {{ .Values.namespace | default .Release.Namespace }}
 | 
				
			||||||
 | 
					  labels:
 | 
				
			||||||
 | 
					    {{- include "gitea.labels" . | nindent 4 }}
 | 
				
			||||||
 | 
					    app.kubernetes.io/component: token-job
 | 
				
			||||||
 | 
					{{- end }}
 | 
				
			||||||
 | 
					{{- end }}
 | 
				
			||||||
							
								
								
									
										129
									
								
								templates/statefulset.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										129
									
								
								templates/statefulset.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,129 @@
 | 
				
			|||||||
 | 
					{{- if .Values.actions.enabled }}
 | 
				
			||||||
 | 
					{{- $secretName := include "gitea.workername" (dict "global" . "worker" "actions-token") }}
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					apiVersion: apps/v1
 | 
				
			||||||
 | 
					kind: StatefulSet
 | 
				
			||||||
 | 
					metadata:
 | 
				
			||||||
 | 
					  labels:
 | 
				
			||||||
 | 
					    {{- include "gitea.labels.actRunner" . | nindent 4 }}
 | 
				
			||||||
 | 
					    {{- with .Values.actions.statefulset.labels }}
 | 
				
			||||||
 | 
					    {{- toYaml . | nindent 4 }}
 | 
				
			||||||
 | 
					    {{- end }}
 | 
				
			||||||
 | 
					  annotations:
 | 
				
			||||||
 | 
					    {{- with .Values.actions.statefulset.annotations }}
 | 
				
			||||||
 | 
					    {{- toYaml . | nindent 4 }}
 | 
				
			||||||
 | 
					    {{- end }}
 | 
				
			||||||
 | 
					  name: {{ include "gitea.fullname" . }}-act-runner
 | 
				
			||||||
 | 
					  namespace: {{ .Values.namespace | default .Release.Namespace }}
 | 
				
			||||||
 | 
					spec:
 | 
				
			||||||
 | 
					  selector:
 | 
				
			||||||
 | 
					    matchLabels:
 | 
				
			||||||
 | 
					      {{- include "gitea.selectorLabels.actRunner" . | nindent 6 }}
 | 
				
			||||||
 | 
					  template:
 | 
				
			||||||
 | 
					    metadata:
 | 
				
			||||||
 | 
					      annotations:
 | 
				
			||||||
 | 
					        checksum/config: {{ include (print $.Template.BasePath "/gitea/act_runner/config-act-runner.yaml") . | sha256sum }}
 | 
				
			||||||
 | 
					      labels:
 | 
				
			||||||
 | 
					        {{- include "gitea.labels.actRunner" . | nindent 8 }}
 | 
				
			||||||
 | 
					        {{- with .Values.actions.statefulset.labels }}
 | 
				
			||||||
 | 
					        {{- toYaml . | nindent 8 }}
 | 
				
			||||||
 | 
					        {{- end }}
 | 
				
			||||||
 | 
					    spec:
 | 
				
			||||||
 | 
					      initContainers:
 | 
				
			||||||
 | 
					        - name: init-gitea
 | 
				
			||||||
 | 
					          image: "{{ .Values.actions.init.image.repository }}:{{ .Values.actions.init.image.tag }}"
 | 
				
			||||||
 | 
					          command:
 | 
				
			||||||
 | 
					            - sh
 | 
				
			||||||
 | 
					            - -c
 | 
				
			||||||
 | 
					            - |
 | 
				
			||||||
 | 
					              while ! nc -z {{ include "gitea.fullname" . }}-http {{ .Values.service.http.port }}; do
 | 
				
			||||||
 | 
					                sleep 5
 | 
				
			||||||
 | 
					              done
 | 
				
			||||||
 | 
					      containers:
 | 
				
			||||||
 | 
					        - name: act-runner
 | 
				
			||||||
 | 
					          image: "{{ .Values.actions.statefulset.actRunner.repository }}:{{ .Values.actions.statefulset.actRunner.tag }}"
 | 
				
			||||||
 | 
					          imagePullPolicy: {{ .Values.actions.statefulset.actRunner.pullPolicy }}
 | 
				
			||||||
 | 
					          workingDir: /data
 | 
				
			||||||
 | 
					          env:
 | 
				
			||||||
 | 
					            - name: DOCKER_HOST
 | 
				
			||||||
 | 
					              value: tcp://127.0.0.1:2376
 | 
				
			||||||
 | 
					            - name: DOCKER_TLS_VERIFY
 | 
				
			||||||
 | 
					              value: "1"
 | 
				
			||||||
 | 
					            - name: DOCKER_CERT_PATH
 | 
				
			||||||
 | 
					              value: /certs/server
 | 
				
			||||||
 | 
					            - name: GITEA_RUNNER_REGISTRATION_TOKEN
 | 
				
			||||||
 | 
					              valueFrom:
 | 
				
			||||||
 | 
					                secretKeyRef:
 | 
				
			||||||
 | 
					                  name: "{{ .Values.actions.existingSecret | default $secretName }}"
 | 
				
			||||||
 | 
					                  key: "{{ .Values.actions.existingSecretKey | default "token" }}"
 | 
				
			||||||
 | 
					            - name: GITEA_INSTANCE_URL
 | 
				
			||||||
 | 
					              value: {{ include "gitea.act_runner.local_root_url" . }}
 | 
				
			||||||
 | 
					            - name: CONFIG_FILE
 | 
				
			||||||
 | 
					              value: /actrunner/config.yaml
 | 
				
			||||||
 | 
					          resources:
 | 
				
			||||||
 | 
					            {{- toYaml .Values.actions.statefulset.resources | nindent 12 }}
 | 
				
			||||||
 | 
					          volumeMounts:
 | 
				
			||||||
 | 
					            - mountPath: /actrunner/config.yaml
 | 
				
			||||||
 | 
					              name: act-runner-config
 | 
				
			||||||
 | 
					              subPath: config.yaml
 | 
				
			||||||
 | 
					            - mountPath: /certs/server
 | 
				
			||||||
 | 
					              name: docker-certs
 | 
				
			||||||
 | 
					            - mountPath: /data
 | 
				
			||||||
 | 
					              name: data-act-runner
 | 
				
			||||||
 | 
					            {{- with .Values.actions.statefulset.actRunner.extraVolumeMounts }}
 | 
				
			||||||
 | 
					            {{- toYaml . | nindent 12 }}
 | 
				
			||||||
 | 
					            {{- end }}
 | 
				
			||||||
 | 
					        - name: dind
 | 
				
			||||||
 | 
					          image: "{{ .Values.actions.statefulset.dind.repository }}:{{ .Values.actions.statefulset.dind.tag }}"
 | 
				
			||||||
 | 
					          imagePullPolicy: {{ .Values.actions.statefulset.dind.pullPolicy }}
 | 
				
			||||||
 | 
					          env:
 | 
				
			||||||
 | 
					            - name: DOCKER_HOST
 | 
				
			||||||
 | 
					              value: tcp://127.0.0.1:2376
 | 
				
			||||||
 | 
					            - name: DOCKER_TLS_VERIFY
 | 
				
			||||||
 | 
					              value: "1"
 | 
				
			||||||
 | 
					            - name: DOCKER_CERT_PATH
 | 
				
			||||||
 | 
					              value: /certs/server
 | 
				
			||||||
 | 
					            {{- if .Values.actions.statefulset.dind.extraEnvs }}
 | 
				
			||||||
 | 
					            {{- toYaml .Values.actions.statefulset.dind.extraEnvs | nindent 12 }}
 | 
				
			||||||
 | 
					            {{- end }}
 | 
				
			||||||
 | 
					          securityContext:
 | 
				
			||||||
 | 
					            privileged: true
 | 
				
			||||||
 | 
					          resources:
 | 
				
			||||||
 | 
					            {{- toYaml .Values.actions.statefulset.resources | nindent 12 }}
 | 
				
			||||||
 | 
					          volumeMounts:
 | 
				
			||||||
 | 
					            - mountPath: /certs/server
 | 
				
			||||||
 | 
					              name: docker-certs
 | 
				
			||||||
 | 
					            {{- with .Values.actions.statefulset.dind.extraVolumeMounts }}
 | 
				
			||||||
 | 
					            {{- toYaml . | nindent 12 }}
 | 
				
			||||||
 | 
					            {{- end }}
 | 
				
			||||||
 | 
					      {{- range $key, $value := .Values.actions.statefulset.nodeSelector }}
 | 
				
			||||||
 | 
					      nodeSelector:
 | 
				
			||||||
 | 
					        {{ $key }}: {{ $value | quote }}
 | 
				
			||||||
 | 
					      {{- end }}
 | 
				
			||||||
 | 
					      {{- with .Values.actions.statefulset.affinity }}
 | 
				
			||||||
 | 
					      affinity:
 | 
				
			||||||
 | 
					        {{- toYaml . | nindent 8 }}
 | 
				
			||||||
 | 
					      {{- end }}
 | 
				
			||||||
 | 
					      {{- with .Values.actions.statefulset.tolerations }}
 | 
				
			||||||
 | 
					      tolerations:
 | 
				
			||||||
 | 
					        {{- toYaml . | nindent 8 }}
 | 
				
			||||||
 | 
					      {{- end }}
 | 
				
			||||||
 | 
					      volumes:
 | 
				
			||||||
 | 
					        - name: act-runner-config
 | 
				
			||||||
 | 
					          configMap:
 | 
				
			||||||
 | 
					            name: {{ include "gitea.fullname" . }}-act-runner-config
 | 
				
			||||||
 | 
					        - name: docker-certs
 | 
				
			||||||
 | 
					          emptyDir: {}
 | 
				
			||||||
 | 
					        {{- with .Values.actions.statefulset.extraVolumes }}
 | 
				
			||||||
 | 
					        {{- toYaml . | nindent 8 }}
 | 
				
			||||||
 | 
					        {{- end }}
 | 
				
			||||||
 | 
					  volumeClaimTemplates:
 | 
				
			||||||
 | 
					    - metadata:
 | 
				
			||||||
 | 
					        name: data-act-runner
 | 
				
			||||||
 | 
					      spec:
 | 
				
			||||||
 | 
					        accessModes: [ "ReadWriteOnce" ]
 | 
				
			||||||
 | 
					        {{- include "gitea.persistence.storageClass" . | nindent 8 }}
 | 
				
			||||||
 | 
					        resources:
 | 
				
			||||||
 | 
					          requests:
 | 
				
			||||||
 | 
					            storage: 1Mi
 | 
				
			||||||
 | 
					{{- end }}
 | 
				
			||||||
							
								
								
									
										69
									
								
								unittests/01-consistency-checks.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										69
									
								
								unittests/01-consistency-checks.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,69 @@
 | 
				
			|||||||
 | 
					suite: actions template | consistency checks
 | 
				
			||||||
 | 
					release:
 | 
				
			||||||
 | 
					  name: gitea-unittests
 | 
				
			||||||
 | 
					  namespace: testing
 | 
				
			||||||
 | 
					templates:
 | 
				
			||||||
 | 
					  - templates/gitea/act_runner/01-consistency-checks.yaml
 | 
				
			||||||
 | 
					tests:
 | 
				
			||||||
 | 
					  - it: fails when provisioning is enabled BUT persistence is completely disabled
 | 
				
			||||||
 | 
					    set:
 | 
				
			||||||
 | 
					      persistence:
 | 
				
			||||||
 | 
					        enabled: false
 | 
				
			||||||
 | 
					      actions:
 | 
				
			||||||
 | 
					        enabled: true
 | 
				
			||||||
 | 
					        provisioning:
 | 
				
			||||||
 | 
					          enabled: true
 | 
				
			||||||
 | 
					    asserts:
 | 
				
			||||||
 | 
					      - failedTemplate:
 | 
				
			||||||
 | 
					          errorMessage: "persistence.enabled and persistence.mount are required when provisioning is enabled"
 | 
				
			||||||
 | 
					  - it: fails when provisioning is enabled BUT mount is disabled, although persistence is enabled
 | 
				
			||||||
 | 
					    set:
 | 
				
			||||||
 | 
					      persistence:
 | 
				
			||||||
 | 
					        enabled: true
 | 
				
			||||||
 | 
					        mount: false
 | 
				
			||||||
 | 
					      actions:
 | 
				
			||||||
 | 
					        enabled: true
 | 
				
			||||||
 | 
					        provisioning:
 | 
				
			||||||
 | 
					          enabled: true
 | 
				
			||||||
 | 
					    asserts:
 | 
				
			||||||
 | 
					      - failedTemplate:
 | 
				
			||||||
 | 
					          errorMessage: "persistence.enabled and persistence.mount are required when provisioning is enabled"
 | 
				
			||||||
 | 
					  - it: fails when provisioning is enabled AND existingSecret is given
 | 
				
			||||||
 | 
					    set:
 | 
				
			||||||
 | 
					      actions:
 | 
				
			||||||
 | 
					        enabled: true
 | 
				
			||||||
 | 
					        provisioning:
 | 
				
			||||||
 | 
					          enabled: true
 | 
				
			||||||
 | 
					        existingSecret: "secret-reference"
 | 
				
			||||||
 | 
					    asserts:
 | 
				
			||||||
 | 
					      - failedTemplate:
 | 
				
			||||||
 | 
					          errorMessage: "Can't specify both actions.provisioning.enabled and actions.existingSecret"
 | 
				
			||||||
 | 
					  - it: fails when provisioning is disabled BUT existingSecret and existingSecretKey are missing
 | 
				
			||||||
 | 
					    set:
 | 
				
			||||||
 | 
					      actions:
 | 
				
			||||||
 | 
					        enabled: true
 | 
				
			||||||
 | 
					        provisioning:
 | 
				
			||||||
 | 
					          enabled: false
 | 
				
			||||||
 | 
					    asserts:
 | 
				
			||||||
 | 
					      - failedTemplate:
 | 
				
			||||||
 | 
					          errorMessage: "actions.existingSecret and actions.existingSecretKey are required when provisioning is disabled"
 | 
				
			||||||
 | 
					  - it: fails when provisioning is disabled BUT existingSecretKey is missing
 | 
				
			||||||
 | 
					    set:
 | 
				
			||||||
 | 
					      actions:
 | 
				
			||||||
 | 
					        enabled: true
 | 
				
			||||||
 | 
					        provisioning:
 | 
				
			||||||
 | 
					          enabled: false
 | 
				
			||||||
 | 
					        existingSecret: "my-secret"
 | 
				
			||||||
 | 
					    asserts:
 | 
				
			||||||
 | 
					      - failedTemplate:
 | 
				
			||||||
 | 
					          errorMessage: "actions.existingSecret and actions.existingSecretKey are required when provisioning is disabled"
 | 
				
			||||||
 | 
					  - it: fails when provisioning is disabled BUT existingSecret is missing
 | 
				
			||||||
 | 
					    set:
 | 
				
			||||||
 | 
					      actions:
 | 
				
			||||||
 | 
					        enabled: true
 | 
				
			||||||
 | 
					        provisioning:
 | 
				
			||||||
 | 
					          enabled: false
 | 
				
			||||||
 | 
					        existingSecretKey: "my-secret-key"
 | 
				
			||||||
 | 
					    asserts:
 | 
				
			||||||
 | 
					      - failedTemplate:
 | 
				
			||||||
 | 
					          errorMessage: "actions.existingSecret and actions.existingSecretKey are required when provisioning is disabled"
 | 
				
			||||||
							
								
								
									
										45
									
								
								unittests/config-act-runner.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								unittests/config-act-runner.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,45 @@
 | 
				
			|||||||
 | 
					# yaml-language-server: $schema=https://raw.githubusercontent.com/helm-unittest/helm-unittest/main/schema/helm-testsuite.json
 | 
				
			||||||
 | 
					suite: actions template | config-act-runner
 | 
				
			||||||
 | 
					release:
 | 
				
			||||||
 | 
					  name: gitea-unittests
 | 
				
			||||||
 | 
					  namespace: testing
 | 
				
			||||||
 | 
					templates:
 | 
				
			||||||
 | 
					  - templates/gitea/act_runner/config-act-runner.yaml
 | 
				
			||||||
 | 
					tests:
 | 
				
			||||||
 | 
					  - it: doesn't renders a ConfigMap by default
 | 
				
			||||||
 | 
					    template: templates/gitea/act_runner/config-act-runner.yaml
 | 
				
			||||||
 | 
					    asserts:
 | 
				
			||||||
 | 
					      - hasDocuments:
 | 
				
			||||||
 | 
					          count: 0
 | 
				
			||||||
 | 
					  - it: renders a ConfigMap
 | 
				
			||||||
 | 
					    template: templates/gitea/act_runner/config-act-runner.yaml
 | 
				
			||||||
 | 
					    set:
 | 
				
			||||||
 | 
					      actions:
 | 
				
			||||||
 | 
					        enabled: true
 | 
				
			||||||
 | 
					        statefulset:
 | 
				
			||||||
 | 
					          actRunner:
 | 
				
			||||||
 | 
					            config: |
 | 
				
			||||||
 | 
					              log:
 | 
				
			||||||
 | 
					                level: info
 | 
				
			||||||
 | 
					              cache:
 | 
				
			||||||
 | 
					                enabled: false
 | 
				
			||||||
 | 
					              runner:
 | 
				
			||||||
 | 
					                labels:
 | 
				
			||||||
 | 
					                  - "ubuntu-latest"
 | 
				
			||||||
 | 
					    asserts:
 | 
				
			||||||
 | 
					      - hasDocuments:
 | 
				
			||||||
 | 
					          count: 1
 | 
				
			||||||
 | 
					      - containsDocument:
 | 
				
			||||||
 | 
					          kind: ConfigMap
 | 
				
			||||||
 | 
					          apiVersion: v1
 | 
				
			||||||
 | 
					          name: gitea-unittests-act-runner-config
 | 
				
			||||||
 | 
					      - equal:
 | 
				
			||||||
 | 
					          path: data["config.yaml"]
 | 
				
			||||||
 | 
					          value: |
 | 
				
			||||||
 | 
					            log:
 | 
				
			||||||
 | 
					              level: info
 | 
				
			||||||
 | 
					            cache:
 | 
				
			||||||
 | 
					              enabled: false
 | 
				
			||||||
 | 
					            runner:
 | 
				
			||||||
 | 
					              labels:
 | 
				
			||||||
 | 
					                - "ubuntu-latest"
 | 
				
			||||||
							
								
								
									
										49
									
								
								unittests/config-scripts.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										49
									
								
								unittests/config-scripts.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,49 @@
 | 
				
			|||||||
 | 
					suite: actions template | config-scripts
 | 
				
			||||||
 | 
					release:
 | 
				
			||||||
 | 
					  name: gitea-unittests
 | 
				
			||||||
 | 
					  namespace: testing
 | 
				
			||||||
 | 
					templates:
 | 
				
			||||||
 | 
					  - templates/gitea/act_runner/config-scripts.yaml
 | 
				
			||||||
 | 
					tests:
 | 
				
			||||||
 | 
					  - it: renders a ConfigMap when all criteria are met
 | 
				
			||||||
 | 
					    template: templates/gitea/act_runner/config-scripts.yaml
 | 
				
			||||||
 | 
					    set:
 | 
				
			||||||
 | 
					      actions:
 | 
				
			||||||
 | 
					        enabled: true
 | 
				
			||||||
 | 
					        provisioning:
 | 
				
			||||||
 | 
					          enabled: true
 | 
				
			||||||
 | 
					      persistence:
 | 
				
			||||||
 | 
					        enabled: true
 | 
				
			||||||
 | 
					        mount: true
 | 
				
			||||||
 | 
					    asserts:
 | 
				
			||||||
 | 
					      - hasDocuments:
 | 
				
			||||||
 | 
					          count: 1
 | 
				
			||||||
 | 
					      - containsDocument:
 | 
				
			||||||
 | 
					          kind: ConfigMap
 | 
				
			||||||
 | 
					          apiVersion: v1
 | 
				
			||||||
 | 
					          name: gitea-unittests-scripts
 | 
				
			||||||
 | 
					      - isNotNullOrEmpty:
 | 
				
			||||||
 | 
					          path: data["token.sh"]
 | 
				
			||||||
 | 
					  - it: doesn't renders a ConfigMap by default
 | 
				
			||||||
 | 
					    template: templates/gitea/act_runner/config-scripts.yaml
 | 
				
			||||||
 | 
					    asserts:
 | 
				
			||||||
 | 
					      - hasDocuments:
 | 
				
			||||||
 | 
					          count: 0
 | 
				
			||||||
 | 
					  - it: doesn't renders a ConfigMap with disabled actions but enabled provisioning
 | 
				
			||||||
 | 
					    template: templates/gitea/act_runner/config-scripts.yaml
 | 
				
			||||||
 | 
					    asserts:
 | 
				
			||||||
 | 
					      - hasDocuments:
 | 
				
			||||||
 | 
					          count: 0
 | 
				
			||||||
 | 
					  - it: doesn't renders a ConfigMap with disabled actions but otherwise met criteria
 | 
				
			||||||
 | 
					    template: templates/gitea/act_runner/config-scripts.yaml
 | 
				
			||||||
 | 
					    set:
 | 
				
			||||||
 | 
					      actions:
 | 
				
			||||||
 | 
					        enabled: false
 | 
				
			||||||
 | 
					        provisioning:
 | 
				
			||||||
 | 
					          enabled: true
 | 
				
			||||||
 | 
					      persistence:
 | 
				
			||||||
 | 
					        enabled: true
 | 
				
			||||||
 | 
					        mount: true
 | 
				
			||||||
 | 
					    asserts:
 | 
				
			||||||
 | 
					      - hasDocuments:
 | 
				
			||||||
 | 
					          count: 0
 | 
				
			||||||
							
								
								
									
										53
									
								
								unittests/helm/actions-config.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										53
									
								
								unittests/helm/actions-config.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,53 @@
 | 
				
			|||||||
 | 
					suite: config template | actions config
 | 
				
			||||||
 | 
					release:
 | 
				
			||||||
 | 
					  name: gitea-unittests
 | 
				
			||||||
 | 
					  namespace: testing
 | 
				
			||||||
 | 
					templates:
 | 
				
			||||||
 | 
					  - templates/config.yaml
 | 
				
			||||||
 | 
					tests:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - it: "actions can be enabled via inline config"
 | 
				
			||||||
 | 
					    template: templates/config.yaml
 | 
				
			||||||
 | 
					    set:
 | 
				
			||||||
 | 
					      gitea.config.actions.ENABLED: true
 | 
				
			||||||
 | 
					    asserts:
 | 
				
			||||||
 | 
					      - documentIndex: 0
 | 
				
			||||||
 | 
					        equal:
 | 
				
			||||||
 | 
					          path: stringData.actions
 | 
				
			||||||
 | 
					          value: |-
 | 
				
			||||||
 | 
					            ENABLED=true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - it: "actions can be enabled via dedicated values object"
 | 
				
			||||||
 | 
					    template: templates/config.yaml
 | 
				
			||||||
 | 
					    set:
 | 
				
			||||||
 | 
					      actions:
 | 
				
			||||||
 | 
					        enabled: true
 | 
				
			||||||
 | 
					    asserts:
 | 
				
			||||||
 | 
					      - documentIndex: 0
 | 
				
			||||||
 | 
					        equal:
 | 
				
			||||||
 | 
					          path: stringData.actions
 | 
				
			||||||
 | 
					          value: |-
 | 
				
			||||||
 | 
					            ENABLED=true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - it: "defines LOCAL_ROOT_URL when actions are enabled"
 | 
				
			||||||
 | 
					    template: templates/config.yaml
 | 
				
			||||||
 | 
					    set:
 | 
				
			||||||
 | 
					      actions:
 | 
				
			||||||
 | 
					        enabled: true
 | 
				
			||||||
 | 
					    asserts:
 | 
				
			||||||
 | 
					      - documentIndex: 0
 | 
				
			||||||
 | 
					        matchRegex:
 | 
				
			||||||
 | 
					          path: stringData.server
 | 
				
			||||||
 | 
					          pattern: \nLOCAL_ROOT_URL=http://gitea-unittests-http:3000
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - it: "respects custom LOCAL_ROOT_URL, even when actions are enabled"
 | 
				
			||||||
 | 
					    template: templates/config.yaml
 | 
				
			||||||
 | 
					    set:
 | 
				
			||||||
 | 
					      actions:
 | 
				
			||||||
 | 
					        enabled: true
 | 
				
			||||||
 | 
					      gitea.config.server.LOCAL_ROOT_URL: "http://git.example.com"
 | 
				
			||||||
 | 
					    asserts:
 | 
				
			||||||
 | 
					      - documentIndex: 0
 | 
				
			||||||
 | 
					        matchRegex:
 | 
				
			||||||
 | 
					          path: stringData.server
 | 
				
			||||||
 | 
					          pattern: \nLOCAL_ROOT_URL=http://git.example.com
 | 
				
			||||||
							
								
								
									
										65
									
								
								unittests/job.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										65
									
								
								unittests/job.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,65 @@
 | 
				
			|||||||
 | 
					suite: actions template | job
 | 
				
			||||||
 | 
					release:
 | 
				
			||||||
 | 
					  name: gitea-unittests
 | 
				
			||||||
 | 
					  namespace: testing
 | 
				
			||||||
 | 
					chart:
 | 
				
			||||||
 | 
					  # Override appVersion to have a pinned version for comparison
 | 
				
			||||||
 | 
					  appVersion: 1.19.3
 | 
				
			||||||
 | 
					templates:
 | 
				
			||||||
 | 
					  - templates/gitea/act_runner/job.yaml
 | 
				
			||||||
 | 
					tests:
 | 
				
			||||||
 | 
					  - it: renders a Job
 | 
				
			||||||
 | 
					    template: templates/gitea/act_runner/job.yaml
 | 
				
			||||||
 | 
					    set:
 | 
				
			||||||
 | 
					      actions:
 | 
				
			||||||
 | 
					        enabled: true
 | 
				
			||||||
 | 
					        provisioning:
 | 
				
			||||||
 | 
					          enabled: true
 | 
				
			||||||
 | 
					      persistence:
 | 
				
			||||||
 | 
					        enabled: true
 | 
				
			||||||
 | 
					        mount: true
 | 
				
			||||||
 | 
					    asserts:
 | 
				
			||||||
 | 
					      - hasDocuments:
 | 
				
			||||||
 | 
					          count: 1
 | 
				
			||||||
 | 
					      - containsDocument:
 | 
				
			||||||
 | 
					          kind: Job
 | 
				
			||||||
 | 
					          apiVersion: batch/v1
 | 
				
			||||||
 | 
					          name: gitea-unittests-actions-token-job
 | 
				
			||||||
 | 
					      - equal:
 | 
				
			||||||
 | 
					          path: spec.template.spec.containers[0].image
 | 
				
			||||||
 | 
					          value: "docker.gitea.com/gitea:1.19.3-rootless"
 | 
				
			||||||
 | 
					  - it: tag override
 | 
				
			||||||
 | 
					    template: templates/gitea/act_runner/job.yaml
 | 
				
			||||||
 | 
					    set:
 | 
				
			||||||
 | 
					      image.tag: "1.19.4"
 | 
				
			||||||
 | 
					      actions:
 | 
				
			||||||
 | 
					        enabled: true
 | 
				
			||||||
 | 
					        provisioning:
 | 
				
			||||||
 | 
					          enabled: true
 | 
				
			||||||
 | 
					          publish:
 | 
				
			||||||
 | 
					            tag: "1.29.0"
 | 
				
			||||||
 | 
					      persistence:
 | 
				
			||||||
 | 
					        enabled: true
 | 
				
			||||||
 | 
					        mount: true
 | 
				
			||||||
 | 
					    asserts:
 | 
				
			||||||
 | 
					      - equal:
 | 
				
			||||||
 | 
					          path: spec.template.spec.containers[0].image
 | 
				
			||||||
 | 
					          value: "docker.gitea.com/gitea:1.19.4-rootless"
 | 
				
			||||||
 | 
					      - equal:
 | 
				
			||||||
 | 
					          path: spec.template.spec.containers[1].image
 | 
				
			||||||
 | 
					          value: "bitnami/kubectl:1.29.0"
 | 
				
			||||||
 | 
					  - it: doesn't renders a Job by default
 | 
				
			||||||
 | 
					    template: templates/gitea/act_runner/job.yaml
 | 
				
			||||||
 | 
					    asserts:
 | 
				
			||||||
 | 
					      - hasDocuments:
 | 
				
			||||||
 | 
					          count: 0
 | 
				
			||||||
 | 
					  - it: doesn't renders a Job when provisioning is enabled BUT actions are not enabled
 | 
				
			||||||
 | 
					    template: templates/gitea/act_runner/job.yaml
 | 
				
			||||||
 | 
					    set:
 | 
				
			||||||
 | 
					      actions:
 | 
				
			||||||
 | 
					        enabled: false
 | 
				
			||||||
 | 
					        provisioning:
 | 
				
			||||||
 | 
					          enabled: true
 | 
				
			||||||
 | 
					    asserts:
 | 
				
			||||||
 | 
					      - hasDocuments:
 | 
				
			||||||
 | 
					          count: 0
 | 
				
			||||||
							
								
								
									
										42
									
								
								unittests/role-job.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								unittests/role-job.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,42 @@
 | 
				
			|||||||
 | 
					suite: actions template | role-job
 | 
				
			||||||
 | 
					release:
 | 
				
			||||||
 | 
					  name: gitea-unittests
 | 
				
			||||||
 | 
					  namespace: testing
 | 
				
			||||||
 | 
					templates:
 | 
				
			||||||
 | 
					  - templates/gitea/act_runner/role-job.yaml
 | 
				
			||||||
 | 
					tests:
 | 
				
			||||||
 | 
					  - it: doesn't renders a Role by default
 | 
				
			||||||
 | 
					    template: templates/gitea/act_runner/role-job.yaml
 | 
				
			||||||
 | 
					    asserts:
 | 
				
			||||||
 | 
					      - hasDocuments:
 | 
				
			||||||
 | 
					          count: 0
 | 
				
			||||||
 | 
					  - it: renders a Role
 | 
				
			||||||
 | 
					    template: templates/gitea/act_runner/role-job.yaml
 | 
				
			||||||
 | 
					    set:
 | 
				
			||||||
 | 
					      actions:
 | 
				
			||||||
 | 
					        enabled: true
 | 
				
			||||||
 | 
					        provisioning:
 | 
				
			||||||
 | 
					          enabled: true
 | 
				
			||||||
 | 
					      persistence:
 | 
				
			||||||
 | 
					        enabled: true
 | 
				
			||||||
 | 
					        mount: true
 | 
				
			||||||
 | 
					    asserts:
 | 
				
			||||||
 | 
					      - hasDocuments:
 | 
				
			||||||
 | 
					          count: 1
 | 
				
			||||||
 | 
					      - containsDocument:
 | 
				
			||||||
 | 
					          kind: Role
 | 
				
			||||||
 | 
					          apiVersion: rbac.authorization.k8s.io/v1
 | 
				
			||||||
 | 
					          name: gitea-unittests-actions-token-job
 | 
				
			||||||
 | 
					  - it: doesn't renders a Role when criteria met BUT actions are not enabled
 | 
				
			||||||
 | 
					    template: templates/gitea/act_runner/role-job.yaml
 | 
				
			||||||
 | 
					    set:
 | 
				
			||||||
 | 
					      actions:
 | 
				
			||||||
 | 
					        enabled: false
 | 
				
			||||||
 | 
					        provisioning:
 | 
				
			||||||
 | 
					          enabled: true
 | 
				
			||||||
 | 
					      persistence:
 | 
				
			||||||
 | 
					        enabled: true
 | 
				
			||||||
 | 
					        mount: true
 | 
				
			||||||
 | 
					    asserts:
 | 
				
			||||||
 | 
					      - hasDocuments:
 | 
				
			||||||
 | 
					          count: 0
 | 
				
			||||||
							
								
								
									
										42
									
								
								unittests/rolebinding-job.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								unittests/rolebinding-job.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,42 @@
 | 
				
			|||||||
 | 
					suite: actions template | rolebinding-job
 | 
				
			||||||
 | 
					release:
 | 
				
			||||||
 | 
					  name: gitea-unittests
 | 
				
			||||||
 | 
					  namespace: testing
 | 
				
			||||||
 | 
					templates:
 | 
				
			||||||
 | 
					  - templates/gitea/act_runner/rolebinding-job.yaml
 | 
				
			||||||
 | 
					tests:
 | 
				
			||||||
 | 
					  - it: doesn't renders a RoleBinding by default
 | 
				
			||||||
 | 
					    template: templates/gitea/act_runner/rolebinding-job.yaml
 | 
				
			||||||
 | 
					    asserts:
 | 
				
			||||||
 | 
					      - hasDocuments:
 | 
				
			||||||
 | 
					          count: 0
 | 
				
			||||||
 | 
					  - it: renders a RoleBinding
 | 
				
			||||||
 | 
					    template: templates/gitea/act_runner/rolebinding-job.yaml
 | 
				
			||||||
 | 
					    set:
 | 
				
			||||||
 | 
					      actions:
 | 
				
			||||||
 | 
					        enabled: true
 | 
				
			||||||
 | 
					        provisioning:
 | 
				
			||||||
 | 
					          enabled: true
 | 
				
			||||||
 | 
					      persistence:
 | 
				
			||||||
 | 
					        enabled: true
 | 
				
			||||||
 | 
					        mount: true
 | 
				
			||||||
 | 
					    asserts:
 | 
				
			||||||
 | 
					      - hasDocuments:
 | 
				
			||||||
 | 
					          count: 1
 | 
				
			||||||
 | 
					      - containsDocument:
 | 
				
			||||||
 | 
					          kind: RoleBinding
 | 
				
			||||||
 | 
					          apiVersion: rbac.authorization.k8s.io/v1
 | 
				
			||||||
 | 
					          name: gitea-unittests-actions-token-job
 | 
				
			||||||
 | 
					  - it: doesn't renders a RoleBinding when criteria met BUT actions are not enabled
 | 
				
			||||||
 | 
					    template: templates/gitea/act_runner/rolebinding-job.yaml
 | 
				
			||||||
 | 
					    set:
 | 
				
			||||||
 | 
					      actions:
 | 
				
			||||||
 | 
					        enabled: false
 | 
				
			||||||
 | 
					        provisioning:
 | 
				
			||||||
 | 
					          enabled: true
 | 
				
			||||||
 | 
					      persistence:
 | 
				
			||||||
 | 
					        enabled: true
 | 
				
			||||||
 | 
					        mount: true
 | 
				
			||||||
 | 
					    asserts:
 | 
				
			||||||
 | 
					      - hasDocuments:
 | 
				
			||||||
 | 
					          count: 0
 | 
				
			||||||
							
								
								
									
										42
									
								
								unittests/secret-token.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								unittests/secret-token.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,42 @@
 | 
				
			|||||||
 | 
					suite: actions template | secret-token
 | 
				
			||||||
 | 
					release:
 | 
				
			||||||
 | 
					  name: gitea-unittests
 | 
				
			||||||
 | 
					  namespace: testing
 | 
				
			||||||
 | 
					templates:
 | 
				
			||||||
 | 
					  - templates/gitea/act_runner/secret-token.yaml
 | 
				
			||||||
 | 
					tests:
 | 
				
			||||||
 | 
					  - it: doesn't renders a Secret by default
 | 
				
			||||||
 | 
					    template: templates/gitea/act_runner/secret-token.yaml
 | 
				
			||||||
 | 
					    asserts:
 | 
				
			||||||
 | 
					      - hasDocuments:
 | 
				
			||||||
 | 
					          count: 0
 | 
				
			||||||
 | 
					  - it: renders a Secret
 | 
				
			||||||
 | 
					    template: templates/gitea/act_runner/secret-token.yaml
 | 
				
			||||||
 | 
					    set:
 | 
				
			||||||
 | 
					      actions:
 | 
				
			||||||
 | 
					        enabled: true
 | 
				
			||||||
 | 
					        provisioning:
 | 
				
			||||||
 | 
					          enabled: true
 | 
				
			||||||
 | 
					      persistence:
 | 
				
			||||||
 | 
					        enabled: true
 | 
				
			||||||
 | 
					        mount: true
 | 
				
			||||||
 | 
					    asserts:
 | 
				
			||||||
 | 
					      - hasDocuments:
 | 
				
			||||||
 | 
					          count: 1
 | 
				
			||||||
 | 
					      - containsDocument:
 | 
				
			||||||
 | 
					          kind: Secret
 | 
				
			||||||
 | 
					          apiVersion: v1
 | 
				
			||||||
 | 
					          name: gitea-unittests-actions-token
 | 
				
			||||||
 | 
					  - it: doesn't renders a Secret when criteria met BUT actions are not enabled
 | 
				
			||||||
 | 
					    template: templates/gitea/act_runner/secret-token.yaml
 | 
				
			||||||
 | 
					    set:
 | 
				
			||||||
 | 
					      actions:
 | 
				
			||||||
 | 
					        enabled: false
 | 
				
			||||||
 | 
					        provisioning:
 | 
				
			||||||
 | 
					          enabled: true
 | 
				
			||||||
 | 
					      persistence:
 | 
				
			||||||
 | 
					        enabled: true
 | 
				
			||||||
 | 
					        mount: true
 | 
				
			||||||
 | 
					    asserts:
 | 
				
			||||||
 | 
					      - hasDocuments:
 | 
				
			||||||
 | 
					          count: 0
 | 
				
			||||||
							
								
								
									
										42
									
								
								unittests/serviceaccount-job.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								unittests/serviceaccount-job.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,42 @@
 | 
				
			|||||||
 | 
					suite: actions template | serviceaccount-job
 | 
				
			||||||
 | 
					release:
 | 
				
			||||||
 | 
					  name: gitea-unittests
 | 
				
			||||||
 | 
					  namespace: testing
 | 
				
			||||||
 | 
					templates:
 | 
				
			||||||
 | 
					  - templates/gitea/act_runner/serviceaccount-job.yaml
 | 
				
			||||||
 | 
					tests:
 | 
				
			||||||
 | 
					  - it: doesn't renders a ServiceAccount by default
 | 
				
			||||||
 | 
					    template: templates/gitea/act_runner/serviceaccount-job.yaml
 | 
				
			||||||
 | 
					    asserts:
 | 
				
			||||||
 | 
					      - hasDocuments:
 | 
				
			||||||
 | 
					          count: 0
 | 
				
			||||||
 | 
					  - it: renders a ServiceAccount
 | 
				
			||||||
 | 
					    template: templates/gitea/act_runner/serviceaccount-job.yaml
 | 
				
			||||||
 | 
					    set:
 | 
				
			||||||
 | 
					      actions:
 | 
				
			||||||
 | 
					        enabled: true
 | 
				
			||||||
 | 
					        provisioning:
 | 
				
			||||||
 | 
					          enabled: true
 | 
				
			||||||
 | 
					      persistence:
 | 
				
			||||||
 | 
					        enabled: true
 | 
				
			||||||
 | 
					        mount: true
 | 
				
			||||||
 | 
					    asserts:
 | 
				
			||||||
 | 
					      - hasDocuments:
 | 
				
			||||||
 | 
					          count: 1
 | 
				
			||||||
 | 
					      - containsDocument:
 | 
				
			||||||
 | 
					          kind: ServiceAccount
 | 
				
			||||||
 | 
					          apiVersion: v1
 | 
				
			||||||
 | 
					          name: gitea-unittests-actions-token-job
 | 
				
			||||||
 | 
					  - it: doesn't renders a ServiceAccount when criteria met BUT actions are not enabled
 | 
				
			||||||
 | 
					    template: templates/gitea/act_runner/serviceaccount-job.yaml
 | 
				
			||||||
 | 
					    set:
 | 
				
			||||||
 | 
					      actions:
 | 
				
			||||||
 | 
					        enabled: false
 | 
				
			||||||
 | 
					        provisioning:
 | 
				
			||||||
 | 
					          enabled: true
 | 
				
			||||||
 | 
					      persistence:
 | 
				
			||||||
 | 
					        enabled: true
 | 
				
			||||||
 | 
					        mount: true
 | 
				
			||||||
 | 
					    asserts:
 | 
				
			||||||
 | 
					      - hasDocuments:
 | 
				
			||||||
 | 
					          count: 0
 | 
				
			||||||
							
								
								
									
										182
									
								
								unittests/statefulset.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										182
									
								
								unittests/statefulset.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,182 @@
 | 
				
			|||||||
 | 
					suite: actions template | statefulset
 | 
				
			||||||
 | 
					release:
 | 
				
			||||||
 | 
					  name: gitea-unittests
 | 
				
			||||||
 | 
					  namespace: testing
 | 
				
			||||||
 | 
					templates:
 | 
				
			||||||
 | 
					  - templates/gitea/act_runner/statefulset.yaml
 | 
				
			||||||
 | 
					  - templates/gitea/act_runner/config-act-runner.yaml
 | 
				
			||||||
 | 
					tests:
 | 
				
			||||||
 | 
					  - it: doesn't renders a StatefulSet by default
 | 
				
			||||||
 | 
					    template: templates/gitea/act_runner/statefulset.yaml
 | 
				
			||||||
 | 
					    asserts:
 | 
				
			||||||
 | 
					      - hasDocuments:
 | 
				
			||||||
 | 
					          count: 0
 | 
				
			||||||
 | 
					  - it: renders a StatefulSet (with given existingSecret/existingSecretKey)
 | 
				
			||||||
 | 
					    template: templates/gitea/act_runner/statefulset.yaml
 | 
				
			||||||
 | 
					    set:
 | 
				
			||||||
 | 
					      actions:
 | 
				
			||||||
 | 
					        enabled: true
 | 
				
			||||||
 | 
					        existingSecret: "my-secret"
 | 
				
			||||||
 | 
					        existingSecretKey: "my-secret-key"
 | 
				
			||||||
 | 
					    asserts:
 | 
				
			||||||
 | 
					      - hasDocuments:
 | 
				
			||||||
 | 
					          count: 1
 | 
				
			||||||
 | 
					      - containsDocument:
 | 
				
			||||||
 | 
					          kind: StatefulSet
 | 
				
			||||||
 | 
					          apiVersion: apps/v1
 | 
				
			||||||
 | 
					          name: gitea-unittests-act-runner
 | 
				
			||||||
 | 
					      - equal:
 | 
				
			||||||
 | 
					          path: spec.template.spec.containers[0].env[3]
 | 
				
			||||||
 | 
					          value:
 | 
				
			||||||
 | 
					            name: GITEA_RUNNER_REGISTRATION_TOKEN
 | 
				
			||||||
 | 
					            valueFrom:
 | 
				
			||||||
 | 
					              secretKeyRef:
 | 
				
			||||||
 | 
					                name: "my-secret"
 | 
				
			||||||
 | 
					                key: "my-secret-key"
 | 
				
			||||||
 | 
					  - it: renders a StatefulSet (with secret reference defaults for enabled provisioning)
 | 
				
			||||||
 | 
					    template: templates/gitea/act_runner/statefulset.yaml
 | 
				
			||||||
 | 
					    set:
 | 
				
			||||||
 | 
					      actions:
 | 
				
			||||||
 | 
					        enabled: true
 | 
				
			||||||
 | 
					        provisioning:
 | 
				
			||||||
 | 
					          enabled: true
 | 
				
			||||||
 | 
					    asserts:
 | 
				
			||||||
 | 
					      - hasDocuments:
 | 
				
			||||||
 | 
					          count: 1
 | 
				
			||||||
 | 
					      - containsDocument:
 | 
				
			||||||
 | 
					          kind: StatefulSet
 | 
				
			||||||
 | 
					          apiVersion: apps/v1
 | 
				
			||||||
 | 
					          name: gitea-unittests-act-runner
 | 
				
			||||||
 | 
					      - equal:
 | 
				
			||||||
 | 
					          path: spec.template.spec.containers[0].env[3]
 | 
				
			||||||
 | 
					          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/gitea/act_runner/statefulset.yaml
 | 
				
			||||||
 | 
					    set:
 | 
				
			||||||
 | 
					      image.tag: "1.22.3" # lock image tag to prevent test failures on future Gitea upgrades
 | 
				
			||||||
 | 
					      actions:
 | 
				
			||||||
 | 
					        enabled: true
 | 
				
			||||||
 | 
					        existingSecret: "my-secret"
 | 
				
			||||||
 | 
					        existingSecretKey: "my-secret-key"
 | 
				
			||||||
 | 
					    asserts:
 | 
				
			||||||
 | 
					      - hasDocuments:
 | 
				
			||||||
 | 
					          count: 1
 | 
				
			||||||
 | 
					      - containsDocument:
 | 
				
			||||||
 | 
					          kind: StatefulSet
 | 
				
			||||||
 | 
					          apiVersion: apps/v1
 | 
				
			||||||
 | 
					          name: gitea-unittests-act-runner
 | 
				
			||||||
 | 
					      - equal:
 | 
				
			||||||
 | 
					          path: spec.template.metadata.annotations["checksum/config"]
 | 
				
			||||||
 | 
					          value: "2a2200e80fc29111d18b675789c265cd3d5f917754850f946f1ce3c55dcd65f8"
 | 
				
			||||||
 | 
					  - it: renders a StatefulSet (with correct GITEA_INSTANCE_URL env with default act-runner specific LOCAL_ROOT_URL)
 | 
				
			||||||
 | 
					    template: templates/gitea/act_runner/statefulset.yaml
 | 
				
			||||||
 | 
					    set:
 | 
				
			||||||
 | 
					      actions:
 | 
				
			||||||
 | 
					        enabled: true
 | 
				
			||||||
 | 
					        existingSecret: "my-secret"
 | 
				
			||||||
 | 
					        existingSecretKey: "my-secret-key"
 | 
				
			||||||
 | 
					    asserts:
 | 
				
			||||||
 | 
					      - hasDocuments:
 | 
				
			||||||
 | 
					          count: 1
 | 
				
			||||||
 | 
					      - containsDocument:
 | 
				
			||||||
 | 
					          kind: StatefulSet
 | 
				
			||||||
 | 
					          apiVersion: apps/v1
 | 
				
			||||||
 | 
					          name: gitea-unittests-act-runner
 | 
				
			||||||
 | 
					      - equal:
 | 
				
			||||||
 | 
					          path: spec.template.spec.containers[0].env[4]
 | 
				
			||||||
 | 
					          value:
 | 
				
			||||||
 | 
					            name: GITEA_INSTANCE_URL
 | 
				
			||||||
 | 
					            value: "http://gitea-unittests-http:3000"
 | 
				
			||||||
 | 
					  - it: renders a StatefulSet (with correct GITEA_INSTANCE_URL env from customized LOCAL_ROOT_URL)
 | 
				
			||||||
 | 
					    template: templates/gitea/act_runner/statefulset.yaml
 | 
				
			||||||
 | 
					    set:
 | 
				
			||||||
 | 
					      gitea.config.server.LOCAL_ROOT_URL: "http://git.example.com"
 | 
				
			||||||
 | 
					      actions:
 | 
				
			||||||
 | 
					        enabled: true
 | 
				
			||||||
 | 
					        existingSecret: "my-secret"
 | 
				
			||||||
 | 
					        existingSecretKey: "my-secret-key"
 | 
				
			||||||
 | 
					    asserts:
 | 
				
			||||||
 | 
					      - hasDocuments:
 | 
				
			||||||
 | 
					          count: 1
 | 
				
			||||||
 | 
					      - containsDocument:
 | 
				
			||||||
 | 
					          kind: StatefulSet
 | 
				
			||||||
 | 
					          apiVersion: apps/v1
 | 
				
			||||||
 | 
					          name: gitea-unittests-act-runner
 | 
				
			||||||
 | 
					      - equal:
 | 
				
			||||||
 | 
					          path: spec.template.spec.containers[0].env[4]
 | 
				
			||||||
 | 
					          value:
 | 
				
			||||||
 | 
					            name: GITEA_INSTANCE_URL
 | 
				
			||||||
 | 
					            value: "http://git.example.com"
 | 
				
			||||||
 | 
					  - it: allows adding custom environment variables to the docker-in-docker container
 | 
				
			||||||
 | 
					    template: templates/gitea/act_runner/statefulset.yaml
 | 
				
			||||||
 | 
					    set:
 | 
				
			||||||
 | 
					      actions:
 | 
				
			||||||
 | 
					        enabled: true
 | 
				
			||||||
 | 
					        statefulset:
 | 
				
			||||||
 | 
					          dind:
 | 
				
			||||||
 | 
					            extraEnvs:
 | 
				
			||||||
 | 
					              - name: "CUSTOM_ENV_NAME"
 | 
				
			||||||
 | 
					                value: "custom env value"
 | 
				
			||||||
 | 
					    asserts:
 | 
				
			||||||
 | 
					      - equal:
 | 
				
			||||||
 | 
					          path: spec.template.spec.containers[1].env[3]
 | 
				
			||||||
 | 
					          value:
 | 
				
			||||||
 | 
					            name: "CUSTOM_ENV_NAME"
 | 
				
			||||||
 | 
					            value: "custom env value"
 | 
				
			||||||
 | 
					  - it: should mount an extra volume in the act runner container
 | 
				
			||||||
 | 
					    template: templates/gitea/act_runner/statefulset.yaml
 | 
				
			||||||
 | 
					    set:
 | 
				
			||||||
 | 
					      actions:
 | 
				
			||||||
 | 
					        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-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/gitea/act_runner/statefulset.yaml
 | 
				
			||||||
 | 
					    set:
 | 
				
			||||||
 | 
					      actions:
 | 
				
			||||||
 | 
					        enabled: true
 | 
				
			||||||
 | 
					        statefulset:
 | 
				
			||||||
 | 
					          extraVolumes:
 | 
				
			||||||
 | 
					            - name: my-dind-volume
 | 
				
			||||||
 | 
					              emptyDir: {}
 | 
				
			||||||
 | 
					          dind:
 | 
				
			||||||
 | 
					            extraVolumeMounts:
 | 
				
			||||||
 | 
					              - mountPath: /mnt
 | 
				
			||||||
 | 
					                name: my-dind-volume
 | 
				
			||||||
 | 
					    asserts:
 | 
				
			||||||
 | 
					      - hasDocuments:
 | 
				
			||||||
 | 
					          count: 1
 | 
				
			||||||
 | 
					      - containsDocument:
 | 
				
			||||||
 | 
					          kind: StatefulSet
 | 
				
			||||||
 | 
					          apiVersion: apps/v1
 | 
				
			||||||
 | 
					          name: gitea-unittests-act-runner
 | 
				
			||||||
 | 
					      - contains:
 | 
				
			||||||
 | 
					          any: true
 | 
				
			||||||
 | 
					          path: spec.template.spec.containers[1].volumeMounts
 | 
				
			||||||
 | 
					          content:
 | 
				
			||||||
 | 
					            mountPath: /mnt
 | 
				
			||||||
 | 
					            name: my-dind-volume
 | 
				
			||||||
							
								
								
									
										99
									
								
								values.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										99
									
								
								values.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,99 @@
 | 
				
			|||||||
 | 
					# Configure Gitea Actions
 | 
				
			||||||
 | 
					# - must enable persistence if the job is enabled
 | 
				
			||||||
 | 
					## @section Gitea Actions
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					## @param init.image.repository The image used for the init containers
 | 
				
			||||||
 | 
					## @param init.image.tag The image tag used for the init containers
 | 
				
			||||||
 | 
					## @param statefulset.annotations Act runner annotations
 | 
				
			||||||
 | 
					## @param statefulset.labels Act runner labels
 | 
				
			||||||
 | 
					## @param statefulset.resources Act 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.repository The Gitea act runner image
 | 
				
			||||||
 | 
					## @param statefulset.actRunner.tag The Gitea act runner tag
 | 
				
			||||||
 | 
					## @param statefulset.actRunner.pullPolicy The Gitea act runner pullPolicy
 | 
				
			||||||
 | 
					## @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.dind.repository The Docker-in-Docker image
 | 
				
			||||||
 | 
					## @param statefulset.dind.tag The Docker-in-Docker image tag
 | 
				
			||||||
 | 
					## @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 provisioning.enabled Create a job that will create and save the token in a Kubernetes Secret
 | 
				
			||||||
 | 
					## @param provisioning.annotations Job's annotations
 | 
				
			||||||
 | 
					## @param provisioning.labels Job's labels
 | 
				
			||||||
 | 
					## @param provisioning.resources Job's resources
 | 
				
			||||||
 | 
					## @param provisioning.nodeSelector NodeSelector for the job
 | 
				
			||||||
 | 
					## @param provisioning.tolerations Tolerations for the job
 | 
				
			||||||
 | 
					## @param provisioning.affinity Affinity for the job
 | 
				
			||||||
 | 
					## @param provisioning.ttlSecondsAfterFinished ttl for the job after finished in order to allow helm to properly recognize that the job completed
 | 
				
			||||||
 | 
					## @param provisioning.publish.repository The image that can create the secret via kubectl
 | 
				
			||||||
 | 
					## @param provisioning.publish.tag The publish image tag that can create the secret
 | 
				
			||||||
 | 
					## @param provisioning.publish.pullPolicy The publish image pullPolicy that can create the secret
 | 
				
			||||||
 | 
					## @param existingSecret Secret that contains the token
 | 
				
			||||||
 | 
					## @param existingSecretKey Secret key
 | 
				
			||||||
 | 
					enabled: false
 | 
				
			||||||
 | 
					statefulset:
 | 
				
			||||||
 | 
					  annotations: {}
 | 
				
			||||||
 | 
					  labels: {}
 | 
				
			||||||
 | 
					  resources: {}
 | 
				
			||||||
 | 
					  nodeSelector: {}
 | 
				
			||||||
 | 
					  tolerations: []
 | 
				
			||||||
 | 
					  affinity: {}
 | 
				
			||||||
 | 
					  extraVolumes: []
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  actRunner:
 | 
				
			||||||
 | 
					    repository: gitea/act_runner
 | 
				
			||||||
 | 
					    tag: 0.2.11
 | 
				
			||||||
 | 
					    pullPolicy: IfNotPresent
 | 
				
			||||||
 | 
					    extraVolumeMounts: []
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # See full example here: https://gitea.com/gitea/act_runner/src/branch/main/internal/pkg/config/config.example.yaml
 | 
				
			||||||
 | 
					    config: |
 | 
				
			||||||
 | 
					      log:
 | 
				
			||||||
 | 
					        level: debug
 | 
				
			||||||
 | 
					      cache:
 | 
				
			||||||
 | 
					        enabled: false
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  dind:
 | 
				
			||||||
 | 
					    repository: docker
 | 
				
			||||||
 | 
					    tag: 25.0.2-dind
 | 
				
			||||||
 | 
					    pullPolicy: IfNotPresent
 | 
				
			||||||
 | 
					    extraVolumeMounts: []
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # If the container keeps crashing in your environment, you might have to add the `DOCKER_IPTABLES_LEGACY` environment variable.
 | 
				
			||||||
 | 
					    # See https://github.com/docker-library/docker/issues/463#issuecomment-1881909456
 | 
				
			||||||
 | 
					    extraEnvs:
 | 
				
			||||||
 | 
					      []
 | 
				
			||||||
 | 
					      #  - name: "DOCKER_IPTABLES_LEGACY"
 | 
				
			||||||
 | 
					      #    value: "1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					init:
 | 
				
			||||||
 | 
					  image:
 | 
				
			||||||
 | 
					    repository: busybox
 | 
				
			||||||
 | 
					    # Overrides the image tag whose default is the chart appVersion.
 | 
				
			||||||
 | 
					    tag: "1.37.0"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					provisioning:
 | 
				
			||||||
 | 
					  enabled: false
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  annotations: {}
 | 
				
			||||||
 | 
					  labels: {}
 | 
				
			||||||
 | 
					  resources: {}
 | 
				
			||||||
 | 
					  nodeSelector: {}
 | 
				
			||||||
 | 
					  tolerations: []
 | 
				
			||||||
 | 
					  affinity: {}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  publish:
 | 
				
			||||||
 | 
					    repository: bitnami/kubectl
 | 
				
			||||||
 | 
					    tag: 1.29.0
 | 
				
			||||||
 | 
					    pullPolicy: IfNotPresent
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  ttlSecondsAfterFinished: 300
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Specify an existing token secret
 | 
				
			||||||
 | 
					##
 | 
				
			||||||
 | 
					existingSecret: ""
 | 
				
			||||||
 | 
					existingSecretKey: ""
 | 
				
			||||||
		Reference in New Issue
	
	Block a user