From now on images built from this repo are the c3os core images.
c3os core images contains only the base image, framework files and the c3os agent.
This also sets up tests accordingly to run only to cover the c3os-agent.
In init systems that don't support automatic restart this might be handy when we fail because we boot up too fast.
This is an attempt to fix https://github.com/c3os-io/c3os/issues/47
Move out cmd pieces and split into its own package. Also make sure we reload
plugins before bootstrapping nodes.
Also commons out the agent configuration in a specific YAML file.
Now there is a `install` section in the config that has the fields that previously where in `c3os` but
were actually only used during install phase.
Also the k3s and c3os config were moved to the provider instead that in the global config.
This changeset also adds a `config_url` and `options` keyword in the c3os config.
Along with that the config logic is changed so the configuration is taken also from boot commands and merged in the final installed config file.
* 🎨 Split off cli into separate binaries
This commit splits off the cli into 3 binaries:
- agent
- cli
- provider
The provider now is a separate component that can be tested by itself
and have its own lifecycle. This paves the way to a ligher c3os variant,
HA support and other features that can be provided on runtime.
This is working, but still there are low hanging fruit to care about.
Fixes#14
* 🤖 Add provider bin to releases
* ⚙️ Handle signals
* ⚙️ Reduce buildsize footprint
* 🎨 Scan for providers also in /system/providers
* 🤖 Run goreleaser
* 🎨 Refactoring