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*$'
|