Commit Graph

238 Commits

Author SHA1 Message Date
Ettore Di Giacinto
0763c820f2 sparkles: Auto-detect device with 'auto' 2022-09-10 13:01:24 +00:00
Ettore Di Giacinto
d7e6e9efa4 sparkles: Add manual-install 2022-09-10 13:01:03 +00:00
Ettore Di Giacinto
b7fec41fe3 sparkles: Boot options (#91)
*  Add grub_options to config

Split post-install into hooks

* 🤖 Adapt test to latest releases
2022-09-08 15:39:26 +02:00
Ettore Di Giacinto
01c6a99577 art: Make Initialize more idiomatic 2022-08-20 21:48:54 +00:00
Ettore Di Giacinto
6b5c4d416c bug: Make bus Initialize idempotent, add Reload 2022-08-20 21:47:16 +00:00
Ettore Di Giacinto
1254c09745 bug: fixup reset and interactive-install branding text 2022-08-20 21:27:04 +00:00
Ettore Di Giacinto
4ebe503e1b robot: Add bundles test suite, fixup linting issues 2022-08-18 15:19:15 +00:00
Ettore Di Giacinto
6fc2693229 art: Always stream out an event 2022-08-18 13:32:33 +00:00
Ettore Di Giacinto
fe03afa167 art: Expose to sdk upgrade/list events 2022-08-18 13:12:05 +00:00
Ettore Di Giacinto
7fb4c70630 art: Add --debug to upgrade 2022-08-17 08:31:39 +00:00
Ettore Di Giacinto
db2bcc0451 art: Write only version to VERSION in os-release
Add FLAVOR and VARIANT to handle those separately, this should also fix upgrades.

Fixes https://github.com/c3os-io/c3os/issues/80
2022-08-17 08:02:18 +00:00
mudler
4bd6a5a8d5 robot: Run only relevant tests, push to core-*
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.
2022-08-12 15:49:41 +02:00
mudler
122d29cbac art: Expose interactive install to providers
In this way install can be driven from providers too

Part of: https://github.com/c3os-io/c3os/issues/68
2022-08-12 12:21:12 +02:00
mudler
b17ccae684 art: Move out recovery
Will be part of the provider

Part of: https://github.com/c3os-io/c3os/issues/68
2022-08-12 09:41:17 +02:00
mudler
572d216ea2 art: Drop CLI from c3os codebase
Part of: https://github.com/c3os-io/c3os/issues/68
2022-08-11 13:31:00 +02:00
mudler
3c6484de14 art: Drop provider from c3os code
Part of: https://github.com/c3os-io/c3os/issues/68
2022-08-10 18:56:07 +02:00
Ettore Di Giacinto
b19a93e984 Merge pull request #55 from c3os-io/feature/cluster-provider
Abstract Cluster Provisioning with Cluster Plugins
2022-08-09 08:01:54 +02:00
Ettore Di Giacinto
7ac3c30747 art: Make linter happy 2022-08-08 08:32:11 +00:00
Ettore Di Giacinto
7052c49621 art: Check out if we have to create the log file 2022-08-08 08:20:13 +00:00
Ettore Di Giacinto
f185430669 art: Allow the agent to self-restart on error
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
2022-08-08 08:15:15 +00:00
Ettore Di Giacinto
b62a3fc892 robot: Make linter happy 2022-07-25 22:26:10 +00:00
Ettore Di Giacinto
1a12a26876 Update internal/machine/openrc/unit.go
Signed-off-by: Ettore Di Giacinto <mudler@users.noreply.github.com>
2022-07-25 23:49:16 +02:00
DQ
51f0251685 Apply suggestions from code review
Co-authored-by: Ettore Di Giacinto <mudler@users.noreply.github.com>
Signed-off-by: DQ <daniel@chaosengine.net>
2022-07-21 01:11:15 -07:00
Daniel Quinlan
7b87cc755f naive attempt at appending to /etc/rancher/k3s/k3s.env 2022-07-20 21:13:27 -07:00
Ettore Di Giacinto
09b41735f4 gear: Be sure to run datasource before install
Seems in certain condition the datasource is kicking late and serving the datasource not fast as wanted.

We make sure to pull it before install, so we also give chance to convoluted setups to pull configs.

Also wires up autoinstall tests to CI
2022-07-21 21:38:07 +00:00
Ettore Di Giacinto
6c08ac78a8 art: Make sure the agent doesn't start when performing auto-installs 2022-07-20 22:31:40 +00:00
Ettore Di Giacinto
602d086ce4 art: Refactor agent code
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.
2022-07-18 22:02:49 +00:00
Ettore Di Giacinto
ebd8b26729 gear: Add /usr/local/bin/k3s to discovery path 2022-07-17 17:38:42 +00:00
Ettore Di Giacinto
4e7802346f gear: Setup log rotation 2022-07-17 08:42:12 +00:00
Ettore Di Giacinto
adce182ea2 art: Refactor out config sections
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.
2022-07-16 20:47:55 +00:00
Ettore Di Giacinto
fc21b17f0c robot: Add bundle test 2022-07-16 14:29:11 +00:00
Ettore Di Giacinto
22aaaee52c robot: Try to fixup tests 2022-07-16 14:28:55 +00:00
Ettore Di Giacinto
0142f031dc gear: Set default sysctl values from cloud config 2022-07-16 14:03:57 +00:00
Ettore Di Giacinto
a5abe05fa8 gear: Bundles fixups 2022-07-16 13:20:38 +00:00
Ettore Di Giacinto
48879da65b robot: Add installer tests 2022-07-14 16:17:22 +00:00
Ettore Di Giacinto
9679421d20 gear: Add c3os bundles 2022-07-13 22:23:47 +00:00
Ettore Di Giacinto
49e4bd9503 gear: Extract netboot artifacts
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.
2022-07-07 16:57:38 +00:00
Ettore Di Giacinto
63cd28d1cb Split off cli into separate binaries (#37)
* 🎨 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
2022-07-04 22:39:34 +02:00