Manual Download

curl -fsSL https://teabar.dev/install.sh | sh

Latest version marker: https://teabar.dev/downloads/teactl/latest/VERSION

Per-release files: https://teabar.dev/downloads/teactl/<TAG>/<FILE>

Release file names:

  • macOS (Intel): teactl_<TAG>_darwin_amd64.tar.gz
  • macOS (Apple Silicon): teactl_<TAG>_darwin_arm64.tar.gz
  • Linux (amd64): teactl_<TAG>_linux_amd64.tar.gz
  • Windows (amd64): teactl_<TAG>_windows_amd64.zip

Checksums:

  • https://teabar.dev/downloads/teactl/<TAG>/SHA256SUMS

Docker

Run teactl in a container:

# One-off command
docker run --rm -it -v ~/.teactl:/root/.teactl teabar/teactl env list

# Interactive shell
docker run --rm -it -v ~/.teactl:/root/.teactl teabar/teactl

# Alias for convenience
alias teactl='docker run --rm -it -v ~/.teactl:/root/.teactl teabar/teactl'

Verify Installation

Check that teactl is installed correctly:

teactl version

Expected output:

teactl version 1.2.0
  Build date: 2024-01-15
  Git commit: abc1234
  Go version: go1.21.5
  OS/Arch: darwin/arm64

Initial Setup

After installation, run the setup wizard:

teactl config init

This interactive wizard helps you:

  1. Connect to Teabar API - Confirm or customize the API URL
  2. Authenticate - Log in with your Teabar account
  3. Set defaults - Choose default organization and project
  4. Configure output - Set preferred output format
$ teactl config init
Welcome to Teabar!

? API URL: https://api.teabar.dev
? Authenticate now? Yes

Opening browser for authentication...
✓ Authenticated as [email protected]

? Default organization: my-company
? Default project: default
? Output format: table

Configuration saved to ~/.teactl/config.yaml
Run 'teactl env list' to see your environments.

Configuration File

teactl stores configuration in ~/.teactl/config.yaml:

# API Configuration
api:
  url: https://api.teabar.dev
  timeout: 30s

# Current context
current_context: default

# Contexts (like kubectl contexts)
contexts:
  default:
    organization: my-company
    project: default
  work:
    organization: acme-corp
    project: production

# Output preferences
output:
  format: table          # table, json, yaml
  color: auto            # auto, always, never
  pager: auto            # auto, always, never

# TUI preferences
tui:
  theme: auto            # auto, dark, light
  refresh_interval: 5s
  mouse: true

# Editor for editing resources
editor: ${EDITOR:-vim}

Multiple Contexts

Switch between organizations and projects easily:

# List contexts
teactl config list

# Switch context
teactl config use-context work

# Use context for single command
teactl --context work env list

Environment Variables

Override configuration with environment variables:

VariableDescription
TEABAR_SERVERAPI server URL
TEABAR_TOKENAPI token (for CI/CD)
TEABAR_ORGDefault organization
TEABAR_PROJECTDefault project
TEABAR_OUTPUTOutput format
TEABAR_NO_INTERACTIVEDisable interactive prompts
TEABAR_CONFIGConfig file path
NO_COLORDisable colored output
# CI/CD example
export TEABAR_TOKEN="your-api-token"
export TEABAR_ORG="my-company"
export TEABAR_NO_INTERACTIVE=1

teactl env create --blueprint cicd-workshop --name ci-test

Credential Storage

teactl stores authentication credentials securely:

Priority order:

  1. TEABAR_TOKEN environment variable
  2. OS Keychain (macOS Keychain, libsecret on Linux, Windows Credential Manager)
  3. Encrypted file (~/.teactl/credentials.enc)

Shell Completion

Enable tab completion for faster workflows:

# Add to ~/.bashrc
source <(teactl completion bash)

# Or install system-wide
teactl completion bash | sudo tee /etc/bash_completion.d/teactl > /dev/null

Completion supports:

  • Command and subcommand names
  • Flag names and values
  • Environment names
  • Blueprint names
  • Organization and project names

Updating

Update to the latest version:

curl -fsSL https://teabar.dev/install.sh | sh

Check for updates:

teactl version --check

Uninstalling

# Remove the binary (common locations)
sudo rm -f /usr/local/bin/teactl
rm -f ~/.local/bin/teactl

Troubleshooting

Command not found

Ensure the binary is in your PATH:

# Check PATH
echo $PATH

# Find teactl
which teactl

# Add to PATH if needed
export PATH="$HOME/.local/bin:/usr/local/bin:$PATH"

Permission denied

Make the binary executable:

chmod +x /usr/local/bin/teactl

# Or if installed to user dir
chmod +x ~/.local/bin/teactl

SSL certificate errors

If you’re behind a corporate proxy:

# Use custom CA bundle
export SSL_CERT_FILE=/path/to/ca-bundle.crt

# Or skip verification (not recommended for production)
teactl --insecure env list

Connection refused

Check API connectivity:

# Test API endpoint
curl -I https://api.teabar.dev/health

# Check configured URL
teactl config get api.url

Next Steps

ende