oncall-engine/helm/oncall/tests/mysql_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

118 lines
3.2 KiB
YAML

suite: test MySQL envs for deployments
templates:
- engine/deployment.yaml
- engine/job-migrate.yaml
- celery/deployment-celery.yaml
release:
name: oncall
tests:
- it: mariadb.enabled=false -> external MySQL default settings
set:
mariadb.enabled: false
asserts:
- contains:
path: spec.template.spec.containers[0].env
content:
name: DATABASE_TYPE
not: true
- contains:
path: spec.template.spec.containers[0].env
content:
name: MYSQL_DB_NAME
value: oncall
- contains:
path: spec.template.spec.containers[0].env
content:
name: MYSQL_PORT
value: "3306"
- contains:
path: spec.template.spec.containers[0].env
content:
name: MYSQL_USER
value: root
- contains:
path: spec.template.spec.containers[0].env
content:
name: MYSQL_HOST
value: oncall-mariadb
- it: externalMysql -> use external MySQL custom settings
set:
mariadb.enabled: false
externalMysql:
host: test-host
port: 5555
db_name: grafana_oncall
user: test_user
asserts:
- contains:
path: spec.template.spec.containers[0].env
content:
name: MYSQL_DB_NAME
value: grafana_oncall
- contains:
path: spec.template.spec.containers[0].env
content:
name: MYSQL_PORT
value: "5555"
- contains:
path: spec.template.spec.containers[0].env
content:
name: MYSQL_USER
value: test_user
- contains:
path: spec.template.spec.containers[0].env
content:
name: MYSQL_HOST
value: test-host
- it: mariadb.enabled=true -> internal MySQL default settings
asserts:
- contains:
path: spec.template.spec.containers[0].env
content:
name: MYSQL_DB_NAME
value: oncall
- contains:
path: spec.template.spec.containers[0].env
content:
name: MYSQL_PORT
value: "3306"
- contains:
path: spec.template.spec.containers[0].env
content:
name: MYSQL_USER
value: root
- contains:
path: spec.template.spec.containers[0].env
content:
name: MYSQL_HOST
value: oncall-mariadb
- it: mariadb.auth -> internal MySQL custom settings
set:
mariadb:
auth:
database: grafana_oncall
username: grafana_oncall
asserts:
- contains:
path: spec.template.spec.containers[0].env
content:
name: MYSQL_DB_NAME
value: grafana_oncall
- contains:
path: spec.template.spec.containers[0].env
content:
name: MYSQL_PORT
value: "3306"
- contains:
path: spec.template.spec.containers[0].env
content:
name: MYSQL_USER
value: grafana_oncall
- contains:
path: spec.template.spec.containers[0].env
content:
name: MYSQL_HOST
value: oncall-mariadb