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 helpTo 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/binwget "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/binThere are macOS amd64, macOS arm64, Linux amd64, Linux arm64 and Windows x64 binaries.
Homebrew Formula
brew tap epam/tap
brew install epam/tap/hubctlOptionally, install extensions:
hubctl extensions installHub 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_amd64Alternatively, to set a global preference to Allow apps downloaded from: Anywhere, execute:
sudo spctl --master-disableBefore make any changes you should configure git hooks for this repository
git config core.hooksPath .githooksUse make to build Hub CTL:
makeOr directly with go:
go build -o bin/$(go env GOOS)/hubctl github.com/epam/hubctl/cmd/hubmake cleanWhen 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-4b548852724dSet 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.