tinkerbell / tink

Workflow Engine for provisioning Bare Metal
https://tinkerbell.org
Apache License 2.0
936 stars 135 forks source link

Meta-proposal: Tinkerbell-Zero (configuring microvms with no services) #281

Closed bbros-dev closed 3 years ago

bbros-dev commented 4 years ago

Tinkerbell-Zero mode similar in functionality to Chef-Zero.

We are not suggesting/proposing the same implementation detail as Chef-Zero (which provides a localhost server for the lifetime of the one-off configuration run). Of course that may work. We're agnostic on the detail.

Expected Behaviour

No servers. No metadata server, etc. Whatever data is needed from a server should be supplied in a file. This may mean rethinking some things you do with Tinkerbell-Zero and likely won't be able to move from Tinkerbell-Zero to Tinkerbell without some changes. Tinkerbell-Zero is not a develop or testing phase use case - it is a production thing.

Current Behaviour

Tinkerbell cannot configure a VM without interacting with various servers.

Possible Solution

Out of scope of this issue. However the Chef-Zero pattern and implementation details may gives some ideas.

Context

Configuring uVM's that have no PXE, net-boot functionality. Air-gapped environments.

In the uVM use cases the practice is usually to place any required files in a VirtualCD, then boot and run from there - obviously these are not uVM's at this stage. So you end up with a two phase build - like OSIE does but where each phase takes place in a different virtual env.

  1. Phase one (OSIE) qemu or libvirt KVM setup with VirtualCD, typically load cloud-init file.
  2. Phase two uVM.

Your Environment

tstromberg commented 3 years ago

I think this sounds like a very interesting idea. Do you mind bringing the idea up at our Tinkerbell contributors meeting?

https://github.com/tinkerbell/proposals is the usual workflow we use for getting proposals of this sort approved. This is a fairly ambitious effort - are you proposing this with the idea of contributing to it?

bbros-dev commented 3 years ago

We've pivoted to use HashiCorp's Packer. Consequently we won't be pursuing this. Happy for this to be closed or left open at your discretion.

tstromberg commented 3 years ago

Thank you for sharing your idea with us!

This idea is far enough from the current architecture that I am going to close it until someone has a proposal to share via the proposal process or during our community office hours.