Skip to content
/ tctx Public

“like kubectx, but for temporal”

License

Notifications You must be signed in to change notification settings

jlegrone/tctx

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

tctx

ci codecov

tctx makes it fast and easy to switch between Temporal clusters when running tctl commands.

Installation

Build from source using go install:

go install github.com/jlegrone/tctx@latest

Usage

Add a context

$ tctx add -c localhost --namespace default --address localhost:7233
Context "localhost" modified.
Active namespace is "default".

Execute a tctl command

$ tctx exec -- tctl cluster health
temporal.api.workflowservice.v1.WorkflowService: SERVING

List contexts

$ tctx list
NAME          ADDRESS                                                       NAMESPACE    STATUS
localhost     localhost:7233                                                default      active
production    temporal-production.example.com:443                           myapp
staging       temporal-staging.example.com:443                              myapp

Switch contexts

$ tctx use -c production
Context "production" modified.
Active namespace is "myapp".

Tips

How it works

tctx sets standard Temporal CLI environment variables before executing a subcommand with tctx exec.

Any CLI tool (not just tctl) can be used in conjunction with tctx if it leverages these environment variables.

To view all environment variables set for the current context, run

tctx exec -- printenv | grep TEMPORAL_CLI

By default tctx exec uses the active context. The active context is set by the last tctx use or tctx add command. You can override the active context by adding a context flag

tctx exec -c <context> -- <command>

Define an alias

Typing tctx exec -- tctl is a lot of effort. It's possible to define an alias to make this easier.

alias tctl="tctx exec -- tctl"