Installation
Prerequisites
Go 1.21+
Git
Required — Hyve uses system git for all repository operations
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 Requirement
Hyve delegates all git operations to the system git binary.
# Verify git is installedgit --versionIf git is not installed, download it from git-scm.com or install via your package manager:
# macOSbrew install git
# Ubuntu / Debiansudo apt install git
# Windowswinget install Git.GitCloud Provider Setup
Hyve uses each provider’s native authentication. No credentials are stored in Hyve — your cloud CLI or environment variables are the sole credential source.
# Authenticate with the Civo CLI (writes ~/.civo.json)civo apikey save my-token YOUR_CIVO_TOKENcivo apikey use my-token
# Or via environment variableexport CIVO_TOKEN=your_civo_api_tokenThe Civo module reads the active token from ~/.civo.json or CIVO_TOKEN automatically.
# AWS CLI (recommended for local dev)aws configure
# Or via environment variablesexport AWS_ACCESS_KEY_ID=your_access_keyexport AWS_SECRET_ACCESS_KEY=your_secret_keyexport AWS_REGION=us-east-1The EKS module uses the standard AWS credential chain.
# Application Default Credentials (recommended for local dev)gcloud auth application-default login
# Or via service accountexport GOOGLE_APPLICATION_CREDENTIALS=/path/to/credentials.json# Azure CLI (recommended for local dev)az login
# Or via service principalexport AZURE_TENANT_ID=your_tenant_idexport AZURE_CLIENT_ID=your_client_idexport AZURE_CLIENT_SECRET=your_client_secretDirectory Structure
After installation, Hyve creates:
~/.hyve/├── repositories.db # Repository configurations├── temp/ # Temporary kubeconfig files└── repositories/ # Cloned repository storage ├── production/ │ ├── clusters/ │ ├── workflows/ │ ├── templates/ │ └── hyve.lock └── development/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 git add staging --repo-url https://github.com/company/staging-state.git
# Or point to an existing directoryHYVE_HOME=/opt/hyve hyve cluster listThe --home flag takes precedence over HYVE_HOME.
Platform-Specific Notes
macOS
On macOS, you may need to allow the binary in Security & Privacy settings:
- Run
hyveonce - Go to System Settings → Privacy & Security
- Click “Allow Anyway” for the hyve binary
Linux
Ensure you have the necessary dependencies:
# 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
# Verify system git is availablegit --version
# List configured git repositories (after adding one)hyve git 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)/binPermission denied
Make the binary executable:
chmod +x $(which hyve)Go 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