Skip to content

nailgun/seedbox

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

  • CoreOS matchbox. It doesn't provide complete config rendering facility. There are examples, but they are hard to read and not modularized.

  • Tectonic installer. This is missing config rendering app for matchbox. This project was open-sourced after seedbox was started. It's highly modularized and uses HCL (HashiCorp configuration language) to render config files. But it's tied to CoreOS tectonic. There is no option to render clean Kubernetes configuration.

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.

About

Baremetal CoreOS cluster provisioner with web UI

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages