nailgun / seedbox

Baremetal CoreOS cluster provisioner with web UI
Apache License 2.0
22 stars 4 forks source link
bare-metal coreos kubernetes provisioning

seedbox

Baremetal CoreOS cluster provisioner with web UI. Currently its primary goal is to boot CoreOS clusters using PXE without installation. But it easily can be extended to render kubernetes assets for different deployments.

Installation

$ docker-compose up
$ docker-compose exec seedbox python -m seedbox db upgrade

Open http://localhost:5000/admin/

helm chart

If you have already running Kubernetes cluster and want to provision another one, take a took at seedbox helm chart.

Comparison with other projects

Seedbox is all-in-one project compared to those above. You will get web UI, iPXE handler, config renderer, PKI, cluster state tracking and maybe something more in future versions.

Actually seedbox config template files are based on files rendered by closed-source tectonic installer. They are split into packages by function and rendered using Python Jinja2 template engine.

Closed-source Tectonic installer is claimed as installer for production grade clusters. So you can say this about seedbox as well. 😀 But I'm not sure of that.

Web UI

PKI

You will have PKI out of the box. It's simple but powerful enough. It provides one CA per cluster and will automatically issue certificates for nodes and users. Also it will warn you if there is something wrong with certificates (expired, changed name, etc).

Credentials are automatically transferred to nodes in most secure manner possible for automatic provision.

Node state tracking

Nodes notify seedbox after successful boot and upload active ignition config, so seedbox can track current state of a cluster.

Toubleshooting

Due to some CoreOS bug host hangs on boot without any error messages if root partition doesn't exist. If this happens to you, just set "Wipe root disk on next boot" checkbox in node admin.