Deploy Temporal Server
This is part of the Charmed Temporal Tutorial. Please refer to this page for more information and the overview of the content.
The Temporal server is a group of four independently scalable services (frontend, history, matching and worker). It is responsible for state management and task synchronization among other functionalities.
Requirements
- You have completed Environment Setup.
Deploy
To deploy Charmed Temporal K8s, all you need to do is run the following command, which will fetch the charm from Charmhub and deploy it to your model:
juju deploy temporal-k8s --channel 1.23/stable --base ubuntu@24.04 --config num-history-shards=4
About num-history-shards. The value must be a power of two (1, 2, 4, 8, 16, …) and is deployment-time-only, it cannot be changed after the charm is deployed without a fresh deployment and data migration. 4 is a reasonable default for development; production deployments typically pick a higher power of two based on expected workflow throughput.
For more information about history shards, see the official Temporal documentation.
Check status
Monitor the model while the application starts up:
juju status --watch 1s
Wait until the application stabilizes. At this point, it should be blocked, waiting for a database:
App Version Status Scale Charm Channel Rev Address Exposed Message
temporal-k8s blocked 1 temporal-k8s 1.23/stable 68 10.152.183.120 no database relation not ready
Unit Workload Agent Address Ports Message
temporal-k8s/0* blocked idle 10.1.0.152 database relation not ready
Press Ctrl+C to exit the watch.
See next: Deploy PostgreSQL Database