talswitcher is a command-line tool for managing and switching between different Talos contexts. It simplifies the process of selecting a Talos context from multiple talosconfig files and updates the active configuration.
Just dump all your talosconfig into a single dir and let talswitcher manage them for you!
- Multiple talosconfig files: Manage multiple talosconfig files in a single directory without merging them
- Context switching: Switch between contexts from multiple config files
- Interactive & non-interactive modes: Select from a list or specify directly as an argument (with tab completion support!)
Precompiled binaries are available for various platforms. You can download the latest release from the GitHub Releases page.
-
Download the appropriate binary for your system and extract the archive.
-
Make the extracted binary executable:
chmod +x talswitcher
-
Move the binary to a directory in your PATH:
mv talswitcher /usr/local/bin/
talswitcher is also available as a Docker container:
docker pull ghcr.io/mirceanton/talswitcher-
Add the tap
brew tap mirceanton/taps
-
Install
talswitcherbrew install talswitcher
go install github.com/mirceanton/talswitcher@main-
Clone the repository:
git clone https://github.com/mirceanton/talswitcher cd talswitcher -
Build the tool:
go build -o talswitcher
talswitcher has two main subcommands:
The context (or ctx) subcommand is used to switch between Talos contexts:
# Interactive mode
talswitcher context
# Switch to a specific context
talswitcher ctx my-context
# Switch to previous context
talswitcher context -The completion subcommand generates shell completion scripts:
# Generate completions for bash
talswitcher completion bash > /etc/bash_completion.d/talswitcher
# Generate completions for zsh
talswitcher completion zsh > ~/.zsh/completion/_talswitcher
# Generate completions for fish
talswitcher completion fish > ~/.config/fish/completions/talswitcher.fish
# Generate completions for powershell
talswitcher completion powershell > ~/talswitcher.ps1You can configure talswitcher using environment variables or CLI flags. The following table outlines the available options:
| Option | Flag | Environment Variable | Default | Description |
|---|---|---|---|---|
| Talosconfig Directory | --talosconfig-dir |
TALOSCONFIG_DIR |
~/.talos/configs/ |
Directory containing your talosconfig files |
| Talosconfig | --talosconfig |
TALOSCONFIG |
~/.talos/config |
Path to the currently active talosconfig file. |
| Log Level | --log-level |
LOG_LEVEL |
info |
Logging verbosity (trace, debug, info, warn, error, fatal, panic) |
| Log Format | --log-format |
LOG_FORMAT |
text |
Log output format (text, json) |
When both the environment variable and CLI flag are set, the CLI flag takes precedence.
Contributions are welcome! Please fork the repository, make your changes, and submit a pull request.
This project is licensed under the MIT License. See the LICENSE file for more details.