tcld (Beta
)
A cli tool for temporal cloud operations.
This cli tool is currently in
beta
and access to temporal cloud using the cli is restricted. Please reach out to temporal-cloud support for more information.
Installation
Build from source
- Verify that you have Go 1.18+ installed. If
go
is not installed, follow instructions on the Go website.
go version
- Clone the
tcld
repository and runmake
.
git clone https://github.com/temporalio/tcld.git
cd tcld
make
- Copy the tcld executable to any directory that appears in the PATH environment variable; for example,
/usr/local/bin/
.
cp tcld /usr/local/bin/tcld
- Run
tcld version
to check if it worked.
tcld version
Authentication and Login
In order to use the cli you must first login by running the following command:
tcld login
You will be sent a link to confirm your device code and login. After logging in, you are now authenticated and can make requests with this cli.
Namespace Management
List namespaces user has access to:
tcld namespace list
Get namespace information:
tcld namespace get -n <namespace>
Update the ca certificate:
tcld namespace update accepted-client-ca set -n <namespace> --ca-certificate-file <ca-pem-filepath>
⚠️ Any clients (tctl/workers) using the old certificates will fail to connect to the namespace after the update.
Add new search attributes:
tcld namespace update search-attributes add -n <namespace> --sa "<attribute-name>=<search-attribute-type>" --sa "<attribute-name>=<search-attribute-type>"
Supported search attribute types: SearchAttributeTypeKeyword SearchAttributeTypeText SearchAttributeTypeInt SearchAttributeTypeDouble SearchAttributeTypeDatetime SearchAttributeTypeBool
Rename existing search attribute:
tcld namespace update search-attributes rename -n <namespace> --existing-name <existing-attribute-name> --new-name <new-attribute-name>
⚠️ Any workflows that are use the old search attribute name will fail after the update.
Asynchronous Operations
Any update operations making changes to the namespaces hosted on temporal-cloud are async. Such operations are tracked using request-id
that can be passed in when invoking the update operation or will be autogenerated if one is not passed. Once a asynchronous request is initiated a request-id
is returned. Use the request get
command to query the status of an asynchronous request.
tcld request get -r <request-id> -n <namespace>
License
MIT License, please see LICENSE for details.