-
Notifications
You must be signed in to change notification settings - Fork 87
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
simplify the stand-up of a sandbox #90
simplify the stand-up of a sandbox #90
Conversation
623c0f0
to
e3bc8fe
Compare
d07525f
to
4ad7340
Compare
4ad7340
to
5fa17f1
Compare
I see two unnamed volumes in /var/lib/docker/volumes, both with contents that show it's from (And sorry for all the spammy messages with my train of thoughts spelled out, even though it's mostly out of scope for your PR :P) |
By using `/usr/bin/env sh` I needed to ignore some shell checks. By moving to bash, those shell checks can be re-enabled. Signed-off-by: Jacob Weinstock <jakobweinstock@gmail.com>
This guide gives important details on the design and architecture of the stack stand up. This details all single run container/services and their purposes. Signed-off-by: Jacob Weinstock <jakobweinstock@gmail.com>
a25dd40
to
c256660
Compare
This makes switching between osie and hook via the .env file not cause the docker-compose up to error out. Creates a nicer experience when switching. Signed-off-by: Jacob Weinstock <jakobweinstock@gmail.com>
c256660
to
699a601
Compare
simplify the stand-up of a sandbox
Description
This simplifies the stand-up of a sandbox. This PR has Vagrant Virtualbox, Vagrant Libvirt, Terraform Equinix Metal, and Docker Compose setups. This refactor modularizes the Tinkerbell stack to use docker-compose as the entry point and makes the creation of infrastructure on different providers the consumers of the docker-compose. Vagrant and Terraform are now only responsible for standing up infrastructure and then running docker-compose, not for running any glue scripts. The compose calls single-shot services to do all the glue required to get a fully functional Tinkerbell stack. All the single-shot services were made to be as idempotent as possible.
This increases portability and the speed of the development iteration cycle. This also simplifies the required steps needed to get a fully functioning sandbox up and running. All of the quick start guides are about 6-7 steps each.
This refactor aims to help people looking to get started by getting them to a provisioned machine quicker and more easily.
With the recent update in Hook to publish the kernel and initrd, this PR makes Hook the default OSIE. The Original OSIE can still be used. This is accomplished by updating the deploy/compose/.env and setting
OSIE_DOWNLOAD_URL
to an OSIE URL andTINKERBELL_USE_HOOK
to false. Currently only an x86_64 Hook is published so only x86_64 machines can be provisioned with the sandbox using Hook.Rendered QuickStart guide: https://github.com/jacobweinstock/sandbox/blob/one-touch-sandbox/README.md
Why is this needed
The existing setup.sh and genenv.sh and other glue scripts are outside of the the docker-compose and as such depend on the environment and require understanding to run successfully. This PR makes the stand up much simpler by only requiring
docker-compose up
. This will help people looking to get started by getting them to a provisioned machine quicker and more easily.Fixes: #74, #85
How Has This Been Tested?
How are existing users impacted? What migration steps/scripts do we need?
Checklist:
I have: