Skip to content
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

Real world use case #1

Open
adeleglise opened this issue Apr 8, 2021 · 1 comment
Open

Real world use case #1

adeleglise opened this issue Apr 8, 2021 · 1 comment

Comments

@adeleglise
Copy link

Hi,
Thanks for sharing this code. This is a really interesting project.
I tested the all in one and started a VM with the resulting .img on a proxmox.
I have several questions:

  • I only get one .img, so I deduce that all the components (consul, vault, nomad) are all defined in this image. How to make several images in order to mount a real cluster on several VMs?
  • How is the network configuration of the images managed? Is it possible to define it with cloud-init?

Finally, is it possible to imagine a terraform module that would deploy the resulting images on a proxmox cluster (based on the terraform provider for proxmox) ?
I'm ready to test and write documentation if needed. I already have several terraform proxmox modules for my infrastructure.

@adeleglise adeleglise changed the title Real worl use case Real world use case Apr 8, 2021
@the-maldridge
Copy link
Member

@adeleglise I only just saw this issue, sorry for the slow response!

Its been several years since I last used proxmox seriously, so I'm afraid my knowledge is pretty rusty, but I can explain how this would look on another provider and hopefully from there you can explain what that would look like in proxmox. It might also be useful for you to take a look at the minicluster repo in my namespace, which is a complete working cluster running on hardware (https://github.com/the-maldridge/minicluster).

In that repo you'll see that two distinct images are generated. One has the server components, and one has the client components. You'll need to do similar in a proxmox environment. Then you'll need to supply some configuration fragments for both using a cloud-init compatible metadata service. To do this there are modules adjacent to this one that can generate the appropriate structures, and then the linuxkit provider itself can pack it correctly for you as a terraform data source.

The major impediment to running outside of a cloud environment is that certain bootstrap secrets are needed and I haven't found a good way to make this work in hardware. Basically the classic chicken/egg problem of how do you make sure a computer is what it says it is without at some point blindly sending it a certificate of identity.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants