Go development environment configured on host, in a ubuntu container or in a weaveworks/ignite-ubuntu MicroVM image.
Edit [scripts/go-dev-env.conf](https://github.com/nolancon/go-dev-env/blob/master/scripts/go-dev-env.conf) with desired parameters before executing any of the options below.
IMPORTANT: Set correct git credentials
Run make local to configure your environment with the following (suitable for Bare Metal or VM):
goenvironment configured with desired versiongitconfigured with user credentialsvimupdated to desired version (8.1 by default - compatible with vim-go)vim-goplugin enabled for Vim (edit utils/vimrc for other plugins)dockerdesired version installedkubectldesired version installedoperator-sdkdesired version installed.bashrcapplied (edit utils/bashrc to customise and add aliases etc)- Github repos specified in
go-dev-env.confcloned locally toGOPATH firecrackerinstalledigniteinstalled
Run make build-docker to build a ubuntu docker image with the following:
Run make build-docker to build a weaveworks/ignite-ubuntu MicroVM image with the following:
goenvironment configured with desired versiongitconfigured with user credentialsvimupdated to desired version (8.1 by default - compatible with vim-go)vim-goplugin enabled for Vim (edit utils/vimrc for other plugins)dockerdesired version installed (CLI only)- CLI is installed and connects to host Docker daemon. Therefore containers created from within go-dev-env container become sibling containers and not child containers.
kubectldesired version installed~/.kubedirectory is mounted from the host to thego-dev-envcontainer, thereforekubectlcommands from within the container interact with the host's K8s API.
operator-sdkdesired version installed.bashrcapplied (edit utils/bashrc to customise and add aliases etc)- Github repos specified in
go-dev-env.confcloned locally toGOPATH
make deploy
Note the image is >4GB so 6GB micro VM is created to facilitate
ignite run nolancon/ignite-go-dev-env \
--name my-vm \
--cpus 2 \
--memory 1GB \
--size 6GB \
--ssh