hubctl

module
v1.0.14 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 17, 2023 License: MPL-2.0

README

hubctl

hubctl is a missing package manager for the cloud.

Example of usage

hubctl elaborate hub.yaml params.yaml -o hub.yaml.elaborate
hubctl deploy hub.yaml.elaborate -e NAME=stage
hubctl version
hubctl help

Installation

Pre-build binary

To download the latest release, run:

cURL
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
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
Other pre-build binaries

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
Extensions

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.

macOS users

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

Development

Setup

Before make any changes you should configure git hooks for this repository

git config core.hooksPath .githooks
Build

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
Clean up
make clean

Usage metrics

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.

What's next?

More information in the wiki.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL