Developer guide¶
Here we will walk through how to compile the Tarmak CLI and documentation from source.
Building Tarmak¶
Prerequisites¶
- Go (for the CLI)
- Python 2.x (for documentation)
- virtualenv and virtualenvwrapper (for documentation)
Building Tarmak binary¶
First we will clone the Tarmak repository and build the tarmak binary. Make sure you have your $GOPATH set correctly. The last line may change depending on your architecture.
mkdir -p $GOPATH/src/github.com/jetstack
cd $GOPATH/src/github.com/jetstack
git clone git@github.com:jetstack/tarmak.git
cd tarmak
make build
ln -s $PWD/tarmak_darwin_amd64 /usr/local/bin/tarmak
You should now be able to run tarmak to view the available commands.
$ tarmak
Tarmak is a toolkit for provisioning and managing Kubernetes clusters.
Usage:
tarmak [command]
Available Commands:
clusters Operations on clusters
environments Operations on environments
help Help about any command
init Initialize a cluster
kubectl Run kubectl on the current cluster
providers Operations on providers
version Print the version number of tarmak
Flags:
-c, --config-directory string config directory for tarmak's configuration (default "~/.tarmak")
-h, --help help for tarmak
-v, --verbose enable verbose logging
Use "tarmak [command] --help" for more information about a command.
Building Tarmak documentation¶
To build the documentation run the following.
cd $GOPATH/src/github.com/jetstack/tarmak/docs
make html
You can now open _build/html/index.html in a browser.
Release Checklist¶
This is a list to collect manual tasks/checks necessary for cutting a release of Tarmak:
Before tagging a release:
- Update the CHANGELOG
- Ensure Wing release is updated in Terraform (not easily possible as we protect the download by the hash we don’t know yet, #8)
- Branch out minor releases into
release-x.y
- Tag release commit with
x.y.z
After release job has run:
- Make sure we update the generated releases page