forked from Gitea/helm-actions

### Description of the change Allow to insert the act_runner config as yaml into the chart values. ### Benefits Yaml editor will report yaml errors, instead of the deployed runner. ### Possible drawbacks No limitations, string config works like before. ### Applicable issues N/A ### Additional information Usage like this, just omit the block scalar token ```yaml enabled: true statefulset: actRunner: # 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 container: valid_volumes: - /var/run/docker.sock options: -v /var/run/docker.sock:/var/run/docker.sock ## Specify an existing token secret ## existingSecret: "runner-token2" existingSecretKey: "token" ## Specify the root URL of the Gitea instance giteaRootURL: "http://192.168.1.2:3000" ``` I do not like the regex test approach, but I didn't come up with a better one. I wish that I can parse the nested yaml in the helm tests. ### ⚠ BREAKING N/A ### Checklist - [x] Helm templating unittests are added (required when changing anything in `templates` folder) - [x] All added template resources MUST render a namespace in metadata Reviewed-on: https://gitea.com/gitea/helm-actions/pulls/43 Reviewed-by: DaanSelen <daanselen@noreply.gitea.com> Co-authored-by: Christopher Homberger <christopher.homberger@web.de> Co-committed-by: Christopher Homberger <christopher.homberger@web.de>
69 lines
1.9 KiB
YAML
69 lines
1.9 KiB
YAML
# 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/config-act-runner.yaml
|
|
tests:
|
|
- it: doesn't renders a ConfigMap by default
|
|
template: templates/config-act-runner.yaml
|
|
asserts:
|
|
- hasDocuments:
|
|
count: 0
|
|
- it: renders a ConfigMap
|
|
template: templates/config-act-runner.yaml
|
|
set:
|
|
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-actions-act-runner-config
|
|
- equal:
|
|
path: data["config.yaml"]
|
|
value: |
|
|
log:
|
|
level: info
|
|
cache:
|
|
enabled: false
|
|
runner:
|
|
labels:
|
|
- "ubuntu-latest"
|
|
- it: renders a ConfigMap with inline yaml
|
|
template: templates/config-act-runner.yaml
|
|
set:
|
|
enabled: true
|
|
statefulset:
|
|
actRunner:
|
|
config:
|
|
container:
|
|
valid_volumes:
|
|
- /var/run/docker.sock
|
|
options: -v /var/run/docker.sock:/var/run/docker.sock
|
|
asserts:
|
|
- hasDocuments:
|
|
count: 1
|
|
- containsDocument:
|
|
kind: ConfigMap
|
|
apiVersion: v1
|
|
name: gitea-unittests-actions-act-runner-config
|
|
- matchRegex:
|
|
path: data["config.yaml"]
|
|
pattern: '(?m)^\s*options:\s*-v /var/run/docker.sock:/var/run/docker.sock\s*$'
|
|
- matchRegex:
|
|
path: data["config.yaml"]
|
|
pattern: '(?m)^\s*valid_volumes:\s*\n\s*-\s*/var/run/docker.sock\s*$'
|