Skip to main content

TRG 5.07 - Chart Dependencies

StatusCreatedPost-History
Update20-Sep-2023Adjust PostgreSQL version
Active07-Mar-2023
Draft02-Dec-2022n/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.

NameRepo URLChart versionApp version
postgresqlBitnami12.x.x15.x.x