hubctl is a missing package manager for the cloud.
hubctl elaborate hub.yaml params.yaml -o hub.yaml.elaborate
hubctl deploy hub.yaml.elaborate -e NAME=stage
hubctl version
hubctl help
To download the latest release, run:
curl -LJ "https://github.com/epam/hubctl/releases/latest/download/hubctl_$(uname -s)_$(uname -m).tar.gz" |\
tar xz -C /tmp && sudo mv /tmp/hubctl /usr/local/bin
wget "https://github.com/epam/hubctl/releases/latest/download/hubctl_$(uname -s)_$(uname -m).tar.gz" -O - |\
tar xz -C /tmp && sudo mv /tmp/hubctl /usr/local/bin
There are macOS amd64, macOS arm64, Linux amd64, Linux arm64 and Windows x64 binaries.
Homebrew Formula
brew tap epam/tap
brew install epam/tap/hubctl
Optionally, install extensions:
hubctl extensions install
Hub CTL Extensions requires: bash, curl, jq and yq v4.
Optionally install Node.js and NPM for hubctl pull
extension, AWS CLI, Azure CLI, GCP SDK kubectl, eksctl for hubctl ext eks
extension.
Depending on your's machine Security & Privacy settings and macOS version (10.15+), you may get an error cannot be opened because the developer cannot be verified. Please read on for a simple workaround:
xattr -d com.apple.quarantine hub.darwin_amd64
Alternatively, to set a global preference to Allow apps downloaded from: Anywhere, execute:
sudo spctl --master-disable
Before make any changes you should configure git hooks for this repository
git config core.hooksPath .githooks
Use make
to build Hub CTL:
make
Or directly with go
:
go build -o bin/$(go env GOOS)/hubctl github.com/epam/hubctl/cmd/hub
make clean
When you use a pre-built binary from the releases page, it will send usage metrics to HubCTL API and Datadog.
We value your privacy and only send anonymized usage metrics for the following commands:
- elaborate
- deploy
- undeploy
- backup create
- api *
A usage metric sample contains:
- Hub CTL command invoked without arguments, ie. 'deploy' or 'backup create', or 'api instance get'
- synthetic machine id - an UUID generated in first interactive session (stdout is a TTY)
- usage counter - 1 per invocation
Edit $HOME/.hub-cache.yaml
to change settings:
metrics:
disabled: false
host: 68af657e-6a51-4d4b-890c-4b548852724d
Set disabled: true
to skip usage metrics reporting.
Set host: ""
to send the counter but not the UUID.
You could always review an up-to-date help via hubctl util metrics -h
.
More information in the wiki.