Skip to main content
Version Next

Installation via Helm

This section describes the installation process for TDP Kubernetes components using the Helm CLI.

In this approach, components are installed through the direct execution of helm install commands, which deploy into the Kubernetes cluster the resources defined in each Helm Chart available in the private Tecnisys OCI registry.

Installation via Helm applies the charts manually or through external automation, one command at a time, with direct control over the deployment sequence of each component.

tip

Before starting the installation, ensure that all prerequisites have been met, including authentication to the Tecnisys OCI registry.

Installation Order

Component installation must follow a specific order so that dependencies are satisfied. The table below shows the recommended order:

OrderChartComponentVersionDependencies
1tdp-argo-crdsArgoCD CRDs3.2.5None
2tdp-argoArgoCD3.2.5tdp-argo-crds
3tdp-postgresqlPostgreSQL17.5.0None
4tdp-kafkaKafka (Strimzi)4.1.0None
5tdp-hive-metastoreHive Metastore4.0.0None
6tdp-deltalakeDelta Lake4.0.0None
7tdp-icebergIceberg1.10.0None
8tdp-ozoneApache Ozone2.0.0None
9tdp-rangerRanger2.7.0tdp-postgresql
10tdp-nifiNiFi1.28.0None
11tdp-sparkSpark4.0.0None
12tdp-trinoTrino478None
13tdp-airflowAirflow3.0.2tdp-postgresql
14tdp-jupyterJupyterHub5.3.0None
15tdp-clickhouseClickHouse25.8.11.66None
16tdp-cloudbeaverCloudBeaver25.2.3tdp-postgresql
17tdp-openmetadataOpenMetadata1.9.11tdp-postgresql
18tdp-supersetSuperset5.0.0tdp-postgresql

The Version column refers to the component version (e.g. Kafka 4.1.0, ArgoCD 3.2.5). The Helm chart version is 3.0.0 for all TDP charts; when omitting --version in helm install, Helm uses the latest available in the registry.

warning

tdp-postgresql is a dependency and must be installed before the components that use it: Airflow, OpenMetadata, Ranger, Superset, and CloudBeaver. Installing these components without PostgreSQL running will result in failure.

As recommended for production environments, these components should use an external database. However, if no external database is provided, each component will use an exclusive internal instance.

Installation

The installation pattern is the same for all components. For each chart, run:

Terminal input
helm install <chart-name> oci://registry.tecnisys.com.br/tdp/charts/<chart-name> \
-n <namespace> \
--create-namespace
Figure 1 – Installation via Helm
Figure 1 – Installation via Helm
note

The --create-namespace parameter creates the <namespace> namespace automatically on the first installation. On subsequent installations, the namespace will already exist and the parameter will be ignored.

If the --version flag is omitted, Helm will automatically install the latest version available in the registry. To pin a specific version, use --version <chart-version>. The version of each component (Kafka, Airflow, etc.) can only be determined by opening the Helm chart or after installation.

Verification after each installation

After installing each component, wait for the pods to become ready before proceeding:

Terminal input
kubectl get pods -n <namespace> --watch
Figure 2 – Verify Pods
Figure 2 – Verify Pods

Press Ctrl+C when all of the component's pods are in Running status and READY.

1. ArgoCD CRDs

Terminal input
helm install tdp-argo-crds oci://registry.tecnisys.com.br/tdp/charts/tdp-argo-crds \
-n <namespace> \
--create-namespace

2. ArgoCD

Terminal input
helm install tdp-argo oci://registry.tecnisys.com.br/tdp/charts/tdp-argo \
-n <namespace> \
--create-namespace

3. PostgreSQL

Terminal input
helm install tdp-postgresql oci://registry.tecnisys.com.br/tdp/charts/tdp-postgresql \
-n <namespace>
important

Wait for PostgreSQL to be fully operational before proceeding with the installation of components that depend on it. Check the status:

Terminal input
kubectl get pods -n <namespace> | grep tdp-postgresql

The pod should show status Running and have all replicas ready (READY 1/1).

4. Kafka (Strimzi)

Terminal input
helm install tdp-kafka oci://registry.tecnisys.com.br/tdp/charts/tdp-kafka \
-n <namespace>
note

Kafka uses the Strimzi operator for broker and topic management in Kubernetes.

5. Hive Metastore

Terminal input
helm install tdp-hive-metastore oci://registry.tecnisys.com.br/tdp/charts/tdp-hive-metastore \
-n <namespace>

6. Delta Lake

Terminal input
helm install tdp-deltalake oci://registry.tecnisys.com.br/tdp/charts/tdp-deltalake \
-n <namespace>

7. Iceberg

Terminal input
helm install tdp-iceberg oci://registry.tecnisys.com.br/tdp/charts/tdp-iceberg \
-n <namespace>

8. Apache Ozone

Terminal input
helm install tdp-ozone oci://registry.tecnisys.com.br/tdp/charts/tdp-ozone \
-n <namespace>

9. Ranger

Terminal input
helm install tdp-ranger oci://registry.tecnisys.com.br/tdp/charts/tdp-ranger \
-n <namespace>

10. NiFi

Terminal input
helm install tdp-nifi oci://registry.tecnisys.com.br/tdp/charts/tdp-nifi \
-n <namespace>

11. Spark

Terminal input
helm install tdp-spark oci://registry.tecnisys.com.br/tdp/charts/tdp-spark \
-n <namespace>

12. Trino

Terminal input
helm install tdp-trino oci://registry.tecnisys.com.br/tdp/charts/tdp-trino \
-n <namespace>

13. Airflow

Terminal input
helm install tdp-airflow oci://registry.tecnisys.com.br/tdp/charts/tdp-airflow \
-n <namespace>
note

Airflow requires PostgreSQL to be operational. In addition, if you use the CeleryExecutor or KubernetesExecutor with DAG sharing via volume, ensure that a Storage Class with ReadWriteMany (RWX) support is available.

14. JupyterHub

Terminal input
helm install tdp-jupyter oci://registry.tecnisys.com.br/tdp/charts/tdp-jupyter \
-n <namespace>

15. ClickHouse

Terminal input
helm install tdp-clickhouse oci://registry.tecnisys.com.br/tdp/charts/tdp-clickhouse \
-n <namespace>

16. CloudBeaver

Terminal input
helm install tdp-cloudbeaver oci://registry.tecnisys.com.br/tdp/charts/tdp-cloudbeaver \
-n <namespace>

17. OpenMetadata

Terminal input
helm install tdp-openmetadata oci://registry.tecnisys.com.br/tdp/charts/tdp-openmetadata \
-n <namespace>

18. Superset

Terminal input
helm install tdp-superset oci://registry.tecnisys.com.br/tdp/charts/tdp-superset \
-n <namespace>