Tinkerbell.Sandbox/notes.md
Jacob Weinstock 6b841fee7c This simplifies the stand-up of a sandbox:
Only 2 main Vagrant calls are now needed (`vagrant up` and `vagrant up machine1`).
This PR only updates the Vagrant Virtualbox setup. The Vagrant Libvirt and Terraform
still need to be updated.

This uses docker-compose as the entry point for standing up the stack and makes the stand-up
of the sandbox more portal. Vagrant and Terraform are only responsible for standing up infrastructure
and then running docker-compose, not for running any glue scripts.

The docker-compose calls out to single-shot services to do all the glue required to get the fully
functional Tinkerbell stack up and running. All the single-shot services are idempotent.
This increases portability and the development iteration loop. This also simplifies the required
steps needed to get a fully functioning sandbox up and running.

This is intended to help people looking to get started by getting them to a provisioned
machine quicker and more easily.

Signed-off-by: Jacob Weinstock <jakobweinstock@gmail.com>
2021-08-09 08:04:06 -06:00

2.0 KiB

TODO

  • automate getting osie download and decompressed/extracted
    • create directories (state/webroot/workflow and state/webroot/misc/osie/current)
    • automate moving files around (workflow-helper scripts)
  • automate getting tink-worker uploaded to internal registry
    • on the provisioner machine need to enable pushing to local registry, using one of the following:
      1. enable insecure registry in /etc/docker/daemon.json
      2. add crt to /etc/docker/certs.d/192.168.50.4/ca.crt && sudo update-ca-certificates
      3. use skopeo to copy images to the local registry
  • automate ca.pem (bundle.pem) making it to state/webroot/workflow/ca.pem (used for docker registry)
  • automate hardware, template, and workflow creation
  • update Vagrantfile with a machine to provision (vagrant up machine1)
  • wait for osie and ubuntu download and/or notify user that it's ready
  • after vagrant up machine1 notify user how to show progress tink workflow events
  • after machine1 is complete notify user how login to the machine
  • reboot action for machine1
  • build idempotency in for downloads and extractions
  • add idempotency to cert generation (tls/generate.sh)
  • download focal cloud img and convert to raw and place it in correct location (state/webroot/focal.img)
  • make virtualbox networking more stable
  • create a getting started document that will replace the existing on on tinkerbell.org
  • create a contributor guide to explain how the new sandbox works
    • machine1 default creds: tink/tink
  • document on how to run docker-compose on its own TINKERBELL_HOST_IP=192.168.65.3 TINKERBELL_CLIENT_IP=192.168.65.43 docker-compose up -d or update .env file
    • test in multipass - works great!
  • document prerequisites
    • docker-compose >= 1.29.2
    • storage > ?
  • make the "TINKERBELL_IP" configurable. csr.json, ubuntu.json
  • make client machine ip configurable. hardware.json