TRG 5.07 - Chart Dependencies
Status | Created | Post-History |
---|---|---|
Update | 20-Sep-2023 | Adjust PostgreSQL version |
Active | 07-Mar-2023 | |
Draft | 02-Dec-2022 | n/a |
Why
Dependencies like a database (postgresql) are used across Eclipse Tractus-X. It's critical to align those common dependencies when those dependencies are later replaced with hosted versions, like the database. Single instance of these dependencies that can be shared among all products in the future.
Description
Helm chart dependencies are defined in the Chart.yaml
file. They are used to provide additional software (e.g. database) that is required for running the main application.
Helm dependency example
An example dependency definition in the Chart.yaml
file:
dependencies:
- condition: postgresql.enabled
alias: product-name-postgresql
name: postgresql
repository: https://charts.bitnami.com/bitnami
version: 12.x.x
- Usage of condition, alias and version properties are optional but highly recommended
- Add a unique alias as name to your dependency that corresponds with your product name. This can be referenced in the
values.yaml
file - With the condition, dependencies can be disabled/enabled on demand
Installing a chart with dependencies
The following commands have to run before installing the chart if it has dependencies:
helm repo add [REPO_URL] #for example: https://charts.bitnami.com/bitnami
helm dependency update
Then the install can be done with helm install [NAME] [CHART] [flags]
Aligning dependency versions
The following table describes the required version of dependencies for all products. As Minor versions change rapidly, this guidance is not pinning a specifc version. Alignment also has to be coordinated across Teams through other communication means.
Name | Repo URL | Chart version | App version |
---|---|---|---|
postgresql | Bitnami | 12.x.x | 15.x.x |