oncall-engine/helm/oncall/tests
Andre Buryndin d9c3d084be
feature: Hardening the Helm deployment with Redis and Postgres TLS (#3029)
# What this PR does

Short summary: this PR improves security and configuration management
for Helm deployment. Please take a look at the details below.

## Which issue(s) this PR fixes

Issues:
- Cannot explicitly define redis database (only 0 and 1 numbers are
used)
- Cannot securely use TLS for Redis (cannot set CA certificate; cannot
set client certificates)
- Cannot securely use TLS for Postgres (cannot set CA certificate;
cannot set client certificates; cannot set `verify-full` validation)
- ~~Chart option `securityContext.readOnlyRootFilesystem: true` issues
CrashLoopBack pod state~~ will be moved to new PR

## Checklist

- [x] ~~Unit, integration, and e2e (if applicable) tests updated~~ (not
required)
- [x] 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)

- [x] Helm tests are fixed and updated
- [x] Manually verified the features:
  - [x] postgres TLS connection with `verify-full` validation
  - [x] redis TLS connection with `cert_required` validation
  - [x] redis protocol and database number controls
  - [x] all containers properly work in read-only root filesystem
- [x] all changes are backward compatible (doesn't break old
deployments)

## Changelog

- Fixed helm tests
- Added configuration options for secure TLS communication with
dependencies like Redis, MySQL, and Postgres
- ~~Added configuration option for relocating `celerybeat` database file
(read-only root filesystem issue)~~ will be moved to new PR
- Improved redis database configuration options
- Now only single redis database is used
- Added ability to mount custom volumes (with CA certificates, for
example) into Helm chart
- ~~Fixed issue with read-only root filesystem for Helm chart~~ will be
moved to new PR
- Add ability to work with Redis ACL (and AWS ElastiCache)
2023-10-03 09:25:28 -04:00
..
__snapshot__ feature: Hardening the Helm deployment with Redis and Postgres TLS (#3029) 2023-10-03 09:25:28 -04:00
affinity_deployments_test.yaml fix a few flaky e2e tests + allow running project locally via k8s/helm (#2751) 2023-08-22 19:03:29 +02:00
dev_mode_volumes_test.yaml Use Tilt for local development (#1396) 2023-09-07 19:38:19 +08:00
extra_containers_celery_test.yaml fix a few flaky e2e tests + allow running project locally via k8s/helm (#2751) 2023-08-22 19:03:29 +02:00
extra_containers_engine_test.yaml fix failing helm unit tests (#2727) 2023-08-02 08:22:31 -04:00
extra_env_test.yaml Telegram long polling (#2250) 2023-08-24 09:12:24 +02:00
extra_volume_mounts_test.yaml feature: Hardening the Helm deployment with Redis and Postgres TLS (#3029) 2023-10-03 09:25:28 -04:00
image_deployments_test.yaml Telegram long polling (#2250) 2023-08-24 09:12:24 +02:00
image_pull_secrets_test.yaml Telegram long polling (#2250) 2023-08-24 09:12:24 +02:00
migrate_annotations_test.yaml configure yamllint pre-commit step (#2728) 2023-08-03 02:35:08 -04:00
migrate_extra_containers_test.yaml fix failing helm unit tests (#2727) 2023-08-02 08:22:31 -04:00
migrate_resources.yaml fix a few flaky e2e tests + allow running project locally via k8s/helm (#2751) 2023-08-22 19:03:29 +02:00
mysql_env_test.yaml feature: Hardening the Helm deployment with Redis and Postgres TLS (#3029) 2023-10-03 09:25:28 -04:00
mysql_password_env_test.yaml feature: Hardening the Helm deployment with Redis and Postgres TLS (#3029) 2023-10-03 09:25:28 -04:00
nodeselector_deployments_test.yaml fix a few flaky e2e tests + allow running project locally via k8s/helm (#2751) 2023-08-22 19:03:29 +02:00
postgres_env_test.yaml feature: Hardening the Helm deployment with Redis and Postgres TLS (#3029) 2023-10-03 09:25:28 -04:00
postgres_password_env_test.yaml feature: Hardening the Helm deployment with Redis and Postgres TLS (#3029) 2023-10-03 09:25:28 -04:00
priority_class_deployments_test.yaml fix a few flaky e2e tests + allow running project locally via k8s/helm (#2751) 2023-08-22 19:03:29 +02:00
rabbitmq_env_test.yaml feature: Hardening the Helm deployment with Redis and Postgres TLS (#3029) 2023-10-03 09:25:28 -04:00
redis_env_test.yaml feature: Hardening the Helm deployment with Redis and Postgres TLS (#3029) 2023-10-03 09:25:28 -04:00
redis_password_env_test.yaml feature: Hardening the Helm deployment with Redis and Postgres TLS (#3029) 2023-10-03 09:25:28 -04:00
security_context_deployments_test.yaml Telegram long polling (#2250) 2023-08-24 09:12:24 +02:00
service_account_deployments_test.yaml Telegram long polling (#2250) 2023-08-24 09:12:24 +02:00
service_account_test.yaml Fix usage of extra envs as map in Helm chart (#2146) 2023-06-12 03:34:36 +00:00
telegram_env_test.yaml Telegram long polling (#2250) 2023-08-24 09:12:24 +02:00
telegram_polling_deployment_test.yaml feature: Hardening the Helm deployment with Redis and Postgres TLS (#3029) 2023-10-03 09:25:28 -04:00
tolerations_deployments_test.yaml fix a few flaky e2e tests + allow running project locally via k8s/helm (#2751) 2023-08-22 19:03:29 +02:00
topology_deployments_test.yaml fix a few flaky e2e tests + allow running project locally via k8s/helm (#2751) 2023-08-22 19:03:29 +02:00
twilio_auth_env_test.yaml Helm - Twilio validation make auth fields optional (#2674) 2023-07-31 08:25:30 +00:00
ui_test.yaml fix a few flaky e2e tests + allow running project locally via k8s/helm (#2751) 2023-08-22 19:03:29 +02:00
uwsgi_env_test.yaml fix a few flaky e2e tests + allow running project locally via k8s/helm (#2751) 2023-08-22 19:03:29 +02:00
wait_for_db_test.yaml Telegram long polling (#2250) 2023-08-24 09:12:24 +02:00