Installation
Prerequisites
Go 1.26+
Git
Needed to fetch modules from git repositories (hyve runs git clone). Your state directory doesn’t have to be a git repo — that’s up to you.
Install
Install with Go
go install github.com/cbridges1/hyve@latestThis installs the hyve binary to your $GOPATH/bin directory (usually ~/go/bin).
Ensure Go bin is in PATH
export PATH=$PATH:$(go env GOPATH)/binAdd this line to your shell profile (~/.bashrc, ~/.zshrc, etc.) to make it permanent.
Verify installation
hyve --helpYou should see the Hyve help output listing all available commands.
Git (optional)
Hyve has no built-in git functionality — no clone, pull, push, or commit. hyve context create --path <dir> points hyve at any local directory directly; whether that directory is a git working tree is entirely up to you. If you do want it version-controlled, that’s your own git CLI, same as any other project:
git --version # verify it's installed, if you're using itSee Contexts and Version Control for how this fits together.
Cloud Provider Setup
Hyve stores no cloud credentials of its own — each module reads whatever its provider’s own CLI or environment variables already provide, the same way you’d authenticate for that provider outside of Hyve entirely. For example, the Civo module reads the active token from ~/.civo.json (via civo apikey save/civo apikey use) or the CIVO_TOKEN environment variable.
Directory Structure
After installation, Hyve creates:
~/.hyve/├── hyve.db # Registry of contexts (hyve context create/list/use)└── temp/ # Temporary kubeconfig filesContext directories themselves live wherever you put them — Hyve never copies or clones anything into ~/.hyve; hyve.db just tracks where each registered context’s directory is. See Contexts.
Overriding the data directory
The default ~/.hyve location can be overridden with the --home flag or the HYVE_HOME environment variable:
# Use a custom directory for a single commandhyve --home /tmp/hyve-staging reconcile
# Set it persistently for a shell sessionexport HYVE_HOME=~/hyve-staginghyve context create staging --path ~/repos/staging-state
# Or point to an existing directoryHYVE_HOME=/opt/hyve hyve cluster listThe --home flag takes precedence over HYVE_HOME.
Platform-Specific Notes
Linux
No system dependencies required for hyve itself. If you’re using a git-backed context directory (optional — see Git above):
# Debian/Ubuntusudo apt-get install git
# RHEL/CentOSsudo yum install gitWindows
Variable substitution in workflows uses cmd /C "command". Use %VAR% for environment variables alongside ${VAR} for workflow variables.
To persist environment variables across sessions, set them via System Properties or add them to your PowerShell profile.
Verifying Installation
Run these commands to verify everything is set up correctly:
# Check Hyve installationhyve --help
# List registered contexts (after registering one)hyve context listTroubleshooting
Command not found
Ensure the hyve binary is in your PATH:
# Check if hyve is in PATHwhich hyve
# If not, add Go bin to PATHexport PATH=$PATH:$(go env GOPATH)/binGo binary not found after install
Ensure $(go env GOPATH)/bin is in your PATH. Add to your shell profile:
echo 'export PATH=$PATH:$(go env GOPATH)/bin' >> ~/.zshrcsource ~/.zshrc