Build

kubash build - builds images by default using packer.

Asciinema example run

SSH keys

ssh keys can be added to the `authorized_keys` on the hosts, either by setting the key as an environment variable directly as:

KEYS_TO_ADD='ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTY68No= [email protected]'

Or alternatively give it an url to a set of pubkeys:

KEYS_URL='https://raw.githubusercontent.com/myorg/keys/master/keys'



Builder options

The builder can be set with the --builder option for now there are only packer and coreos builders. i.e.

`--builder packer` This will build images using packer

`--builder coreos` This will download the official coreos images



OS options

The OS to build can be set with --target-os option

`--target-os ubuntu` This will build ubuntu images

`--target-os debian` This will build debian images

`--target-os fedora` This will build fedora images

`--target-os centos` This will build centos images

`--target-os coreos` This will build coreos images (* no packer build for this*)



Initializer specific builds

There are a few OS builds that are built specifically for some of the initializers. `--target-os kubeadm` This will build centos images with the addition of getting the kube repos added and kubeadm etc installed

`--target-os kubeadm2ha` This will build centos images with the addition of prepping for the kubeadm2ha ansible playbook

`--target-os kubespray` This will build centos images with the addition of prepping for the kubespray ansible playbook

`--target-os openshift` This will build centos images with the addition of prepping for the openshift ansible playbook



Target build

For the packer build you can specify alternate json files to use

`--target-build my-alternate.json` This must exist in `$KUBASH_DIR/pax/$target_os/my-alternate.json`

For the coreos option this sets the channel (stable,beta,alpha)

`--target-build beta`

For more information see the build documentation page .