Temporal Kubernetes Operator
The Kubernetes Operator to deploy and manage Temporal clusters.
Using this operator, deploying a Temporal Cluster on Kubernetes is as easy as deploying the following manifest:
apiVersion: temporal.io/v1beta1
kind: TemporalCluster
metadata:
name: prod
namespace: demo
spec:
version: 1.23.0
numHistoryShards: 1
persistence:
defaultStore:
sql:
user: temporal
pluginName: postgres
databaseName: temporal
connectAddr: postgres.demo.svc.cluster.local:5432
connectProtocol: tcp
passwordSecretRef:
name: postgres-password
key: PASSWORD
visibilityStore:
sql:
user: temporal
pluginName: postgres
databaseName: temporal_visibility
connectAddr: postgres.demo.svc.cluster.local:5432
connectProtocol: tcp
passwordSecretRef:
name: postgres-password
key: PASSWORD
The documentation is available at: https://temporal-operator.pages.dev/.
To start using the Operator and deploy you first cluster in a matter of minutes, follow the documentation's getting started guide.
Somes examples are available to help you get started:
The following table shows operator compatibility with Temporal and Kubernetes. Please note this table only reports end-to-end tests suite coverage, others versions may work.
Temporal Operator | Temporal | Kubernetes |
---|---|---|
v0.18.x | v1.19.x to v1.23.x | v1.25 to v1.29 |
v0.17.x | v1.18.x to v1.22.x | v1.25 to v1.29 |
v0.16.x | v1.18.x to v1.22.x | v1.24 to v1.27 |
v0.15.x | v1.18.x to v1.21.x | v1.24 to v1.27 |
v0.14.x | v1.18.x to v1.21.x | v1.24 to v1.27 |
v0.13.x | v1.18.x to v1.20.x | v1.24 to v1.27 |
v0.12.x | v1.18.x to v1.20.x | v1.23 to v1.26 |
v0.11.x | v1.17.x to v1.19.x | v1.23 to v1.26 |
v0.10.x | v1.17.x to v1.19.x | v1.23 to v1.26 |
v0.9.x | v1.16.x to v1.18.x | v1.22 to v1.25 |
Feel free to contribute to the project ! All issues and PRs are welcome! To start hacking on the project, you can follow the local development documentation page.
Temporal Operator is licensed under Apache License Version 2.0. See LICENSE for more information.