make-onboarding-suck-less icon indicating copy to clipboard operation
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.

  • 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

Cloud IDEs