oncall-engine/helm/oncall/tests/extra_env_test.yaml
Alexander Cherepanov d3247447ef
Fix usage of extra envs as map in Helm chart (#2146)
# What this PR does


1. Fixes setting extra envs using:
```yaml
env:
  proxy: http://example.com
  SOME_VAR: some-value
```
It had failed if postgresql setting enabled and in `job-migrate`

2. Fixes an issue if custom database and username set for internal
mariadb, `MYSQL_` envs did not use them
```yaml
mariadb:
  auth:
     database: grafana_oncall
     username: grafana_oncall
```

3. Added `imagePullSecrets: []` to values.yaml. It used in helm chart,
but does not present in the values.yaml
4. More unit tests

## Which issue(s) this PR fixes

## Checklist

- [x] Unit, integration, and e2e (if applicable) tests updated
- [ ] Documentation added (or `pr:no public docs` PR label added if not
required)
- [x] `CHANGELOG.md` updated (or `pr:no changelog` PR label added if not
required)

Co-authored-by: Ildar Iskhakov <Ildar.iskhakov@grafana.com>
2023-06-12 03:34:36 +00:00

108 lines
2.8 KiB
YAML

suite: test extra envs for deployments
templates:
- engine/deployment.yaml
- engine/job-migrate.yaml
- celery/deployment-celery.yaml
release:
name: oncall
tests:
- it: env=[] -> should support old syntax
set:
env:
- name: SOME_VAR
value: some_value
asserts:
- contains:
path: spec.template.spec.containers[0].env
content:
name: SOME_VAR
value: some_value
- it: env=map[] -> should set multiple envs
set:
env:
SOME_VAR: some_value
another_var: "another_value"
asserts:
- contains:
path: spec.template.spec.containers[0].env
content:
name: SOME_VAR
value: some_value
- contains:
path: spec.template.spec.containers[0].env
content:
name: another_var
value: "another_value"
- it: env=[] -> should add envs into initContainer
templates:
- engine/deployment.yaml
- celery/deployment-celery.yaml
set:
env:
- name: SOME_VAR
value: some_value
asserts:
- contains:
path: spec.template.spec.initContainers[0].env
content:
name: SOME_VAR
value: some_value
- it: env=map[] -> should add envs into initContainer
templates:
- engine/deployment.yaml
- celery/deployment-celery.yaml
set:
env:
SOME_VAR: some_value
another_var: "another_value"
asserts:
- contains:
path: spec.template.spec.initContainers[0].env
content:
name: SOME_VAR
value: some_value
- contains:
path: spec.template.spec.initContainers[0].env
content:
name: another_var
value: "another_value"
- it: database.type=postgresql and env=map[] -> should add envs into initContainer
templates:
- engine/deployment.yaml
- celery/deployment-celery.yaml
set:
database.type: postgresql
env:
SOME_VAR: some_value
another_var: "another_value"
asserts:
- contains:
path: spec.template.spec.initContainers[0].env
content:
name: SOME_VAR
value: some_value
- contains:
path: spec.template.spec.initContainers[0].env
content:
name: another_var
value: "another_value"
- it: database.type=postgresql and env=[] -> should support old style for initContainer
templates:
- engine/deployment.yaml
- celery/deployment-celery.yaml
set:
database.type: postgresql
env:
- name: SOME_VAR
value: some_value
asserts:
- contains:
path: spec.template.spec.initContainers[0].env
content:
name: SOME_VAR
value: some_value