make-onboarding-suck-less
make-onboarding-suck-less copied to clipboard
Experiments with Docker, Packer and Vagrant. Striving to make it easy for varying persona to get started with a curated collection of tooling packaged and available on popular OSes. (Standing on the...
Make Onboarding Suck Less
A Spring One 2021 session | slides
Experiments with Docker, Packer and Vagrant. Striving to make it easy for varying persona to get started with a curated collection of tooling packaged and available on popular OSes. All while standing on the shoulders of giants.
Prerequisites
- VirtualBox
- VirtualBox Extension Pack
Make sure the version the extension pack you install matches the version of VirtualBox installed on the host machine.
- VirtualBox Extension Pack
- Vagrant
- Packer
- Docker
For your convenience a set of scripts exist to install the complement of prerequisites listed above on (any of the following host OSes):
- MacOS >= 10.15
- Ubuntu >= 20.04
- Windows >= 10
Tools used to curate toolsets
Vagrant is used to create and start a VM on a host OS. That VM, your choice of MacOS, Ubuntu, or Windows has tools curated for a Kubernetes operator or developer. You could certainly craft other variants. (Use case: get toolset ready for consumption on a laptop or workstation).
Docker is employed along with a Dockerfile to curate the same.
Packer is used to create a VM image that can then be instantiated as a VM in a target public cloud. Examples focus on standing up Ubuntu, but you could very well stand up a Windows VM. (Use case: launch a jumpbox in a Virtual Private Network).
The choice of tools used to package is not the focus rather the above are introduced as a means to curate and automate packaging of toolsets for a typical enterprise persona. Adopting and maintaining automation around curation of toolsets should help make onboarding less of a chore.
Examples
Build your own image
- Vagrant
- MacOS 10.15
- Ubuntu 20.04
- Windows 10
- Docker
- Ubuntu 21.04
- Packer
- Ubuntu 20.04 on Google Compute VM
- Ubuntu 20.04 on Amazon EC2
- Ubuntu 20.04 on Azure VM
- Ubuntu 20.04 on Oracle Cloud Infrastructure VM
Other options
Host your own image repository
Host your own artifact repository within your own network. Mirror or package and maintain artifacts.
A solid choice:
Incorporate scanning to watch for critical security vulnerabilities (and gate consumption of the same).
Consider:
What might you do with these toolset images?
Evaluate:
- Tanzu Community Edition
- Tanzu Kubernetes Grid
- Harbor
- Tanzu Build Service
- Tanzu Observability
- Tanzu Service Mesh
- Tanzu Application Platform
- Carvel kapp-controller
CI/CD Ideas
- GitHub Actions
- Start GitHub Actions self-hosted runner with VirtualBox and Vagrant
- Using GitLab CI/CD Pipelines to Automate your HashiCorp Packer Builds