Deploy supporting charms¶
DataHub relies on three backing services, each provided by an existing charm:
PostgreSQL stores the metadata itself.
Kafka carries metadata change events and audit logs. It requires ZooKeeper.
OpenSearch powers search and graph indexing. It requires a TLS certificates provider.
All of them run in the machine model you created in the previous step.
Deploy the data platform¶
Switch to the machine model and deploy the five applications:
juju switch lxd:datahub-vm
juju deploy postgresql --channel 14/stable
juju deploy kafka --channel 3/stable
juju deploy zookeeper --channel 3/stable
juju deploy opensearch --channel 2/stable -n 2
juju deploy self-signed-certificates --channel latest/stable
Integrate Kafka with ZooKeeper, and OpenSearch with the certificates provider:
juju integrate kafka zookeeper
juju integrate opensearch self-signed-certificates
Check the relations with juju status --relations:
Integration provider Requirer Interface Type
self-signed-certificates:certificates opensearch:certificates tls-certificates regular
zookeeper:zookeeper kafka:zookeeper zookeeper regular
Expose the client endpoints so applications in other models can reach them:
juju expose kafka --endpoints kafka-client
juju expose opensearch --endpoints opensearch-client
Wait for the applications to settle¶
The data platform takes 15-25 minutes to become active. You can watch progress with juju status --watch 1s.
Individual units may briefly show blocked or error while others are still settling, for example Kafka showing Broker not running, or OpenSearch showing hook failed: "secret-changed". These clear on their own as Juju’s status checks catch up and don’t need manual intervention (such as juju resolve); only investigate if a unit is still stuck once every other application has reached active.
Offer the endpoints to other models¶
DataHub lives in a different model, so the three client endpoints must be published as offers:
juju offer postgresql:database pg-client
juju offer kafka:kafka-client kafka-client
juju offer opensearch:opensearch-client os-client
Verify the offers:
juju offers
You should see pg-client, kafka-client, and os-client listed. The data platform is ready; continue to deploy DataHub.