Commit Graph

45 Commits

Author SHA1 Message Date
Itxaka
15a15a1f0c
Keep logs after reset (#288) 2024-04-11 11:35:31 +02:00
Itxaka
b1489daff8
Converge all yaml libs into v3 (#266)
* Converge all yaml libs into v3

Signed-off-by: Itxaka <itxaka@kairos.io>

* go mod tid

Signed-off-by: Itxaka <itxaka@kairos.io>

---------

Signed-off-by: Itxaka <itxaka@kairos.io>
2024-03-20 16:53:42 +01:00
Itxaka
8583d38b68
Retry unlock if we cant find the unlocked partitions (#241) 2024-03-19 09:27:13 +01:00
Itxaka
0ae9c04eb4
Make sure kcrypt hook umounts persistent (#244) 2024-03-07 15:11:51 +01:00
Itxaka
2e0af77fbc
Use new logger facilities (#236) 2024-03-01 12:27:26 +01:00
mudler
958ae9393d fix(after-install): run after-install hook after partitions are encrypted 2024-02-27 17:28:11 +01:00
Itxaka
33c8e8f29c
Add reset for uki (#221) 2024-02-02 13:20:06 +01:00
Itxaka
1a46f0910f
[uki] Wait for oem to appear after encryption (#216) 2024-01-30 14:28:54 +01:00
Ettore Di Giacinto
79a577d0f3
feat(uki-partitioning): respect additional encrypted partition list (#206) 2024-01-24 10:48:33 +01:00
Itxaka
53f49169b1
Fix uki mode detection (#198) 2024-01-10 10:38:31 +01:00
Itxaka
3254b8a36e
Uki upgrade (#182) 2023-12-18 11:38:26 +01:00
Itxaka
7ca39f2729
Encrypt uki partitions after install (#176) 2023-12-12 20:51:55 +00:00
Itxaka
6e1d761ded
Fix unwanted reboot from install config in upgrade/reset (#178) 2023-12-05 15:46:11 +01:00
Dimitris Karakasilis
c98c791f60
Call exec.Command properly, splitting the cmd and args
This was failing but wasn't visible because it needs

`fail_on_bundles_errors: true` to be set in the Kairos config.

We need to find whether we need a new test or an existing one can be
adapted to catch this.

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
2023-11-20 13:54:05 +02:00
Itxaka
1b967cccd8
[uki] Lyfecycle (#148) 2023-10-03 11:15:17 +02:00
Itxaka
677254e570
Pass the install event to the collector directly (#150) 2023-09-26 07:38:58 +00:00
Itxaka
3e4693d697
Workaround for bundle install in new /var/lib/extensions directory (#147) 2023-09-15 15:40:27 +02:00
Dimitris Karakasilis
51ca8a8589
Revert "debug extension"
This reverts commit 98ccb57799.
2023-09-15 15:36:42 +03:00
Itxaka
98ccb57799 debug extension
Signed-off-by: Itxaka <itxaka@kairos.io>
2023-09-15 14:33:41 +02:00
Itxaka
7c060a764e
Fix manual-install reboot/poweroff flags (#131) 2023-08-18 12:54:42 +02:00
Itxaka
f7bdba2dda
Merge elemental config into agent config (#102) 2023-07-25 15:21:34 +02:00
Itxaka
5b945303c9
Drop runconfig in favour of config (#101) 2023-07-25 11:08:27 +02:00
Itxaka
956f86f99c
Rework reboot/shutdown to use the hooks (#96) 2023-07-24 12:28:59 +02:00
Itxaka
9bff3742c1
Load elemental config/spec from cloud config (#82) 2023-07-20 15:53:48 +02:00
Itxaka
9c5731baa2
Rename go module kairos-agent (#81) 2023-07-10 14:39:48 +02:00
Itxaka
1afe3c2dbd
Run stages directly from code instead of shelling out (#23)
Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>
2023-05-16 18:06:49 +02:00
Itxaka
cda46877ba
Mount OEM during kcrypt hook (#18) 2023-05-09 21:57:16 +02:00
Itxaka
10df8d98cb
Drop kcrypt mappings (#14) 2023-05-08 09:43:47 +02:00
Mauro Morales
961804be0a arrow_up: Bump go in Earthly and workflows to ^1.20 (#1213)
* Bump go in Earthly and workflows to ^1.20

Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>

* Update go.mod version

Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>

* Lint

Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>

* Remove pin of go version to get the latest

Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>

* Remove minor version

Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>

---------

Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>
2023-03-30 16:42:25 +02:00
Dimitris Karakasilis
e7807dd66c Change module path according to Go docs (#1220)
https://go.dev/doc/modules/major-version

This way we can bump the kairos dependency on the provider-kairos repo

which otherwise produced the error:

```
~/workspace/kairos/provider-kairos (main)*$ go get -u github.com/kairos-io/kairos@v2.0.0-alpha3
go: github.com/kairos-io/kairos@v2.0.0-alpha3: invalid version: module contains a go.mod file, so module path must match major version ("github.com/kairos-io/kairos/v2")
```

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
Co-authored-by: Itxaka <itxaka.garcia@spectrocloud.com>
2023-03-30 14:18:53 +03:00
Itxaka
75c52f520f Bump to newer sdk (#1166) 2023-03-18 10:27:18 +01:00
Itxaka
b5cfab06a7 sparkles: Use kairos-sdk module (#1140) 2023-03-15 15:45:00 +01:00
Jacob Payne
d8d97097a7 bug: remove kcrypt hook after reset (#982)
remove kcrypt hook after reset

Signed-off-by: Jacob Payne <jacob@spectrocloud.com>
2023-02-28 15:57:47 -07:00
Oz Tiram
6e5c87a717 sparkles: custom user bind and ephemeral mounts (#692)
*  custom user bind and ephemeral mounts

Users can now specify custom and ephemeral mounts in cloud-init under
the `install` section, e.g.:

```
users:
 - name: kairos
...
install:
  auto: true
  device: "auto"
  bind_mounts:
  - /mnt/bind1
  - /mnt/bind2
  ephemeral_mounts:
  - /mnt/ephemeral
  - /mnt/ephemeral2
...
```
Ephemeral mounts are mounted as RW - but changes are discarded when the
machine is restart.
Bind mounts will persist changes after restarted.

This is a fix for #210

Signed-off-by: Oz Tiram <oz@spectrocloud.com>

* Add the custom user mount to /cos/run/cos-layout.env

Signed-off-by: Oz Tiram <oz@spectrocloud.com>

* Add docs for custom user mounts in configuration example

Signed-off-by: Oz Tiram <oz@spectrocloud.com>

* Reuse test_install function

DRY the code, change how we call the function install_test

Signed-off-by: Oz Tiram <oz@spectrocloud.com>

* Enable custom mount tests and install tests

Signed-off-by: Oz Tiram <oz@spectrocloud.com>

* Enable tests in CI

Signed-off-by: Oz Tiram <oz@spectrocloud.com>

* Remove duplicate if check

Signed-off-by: Oz Tiram <oz@spectrocloud.com>

* Remove uneeded fmt.Println ...

Signed-off-by: Oz Tiram <oz@spectrocloud.com>

* Use separate label for custom mounts

Signed-off-by: Oz Tiram <oz@spectrocloud.com>

* 🔧 Earthfile - DRY ginkgo

We repeat this a more than twice so just extract to own
target...

Signed-off-by: Oz Tiram <oz@spectrocloud.com>

* Correct return type for  ContainElements

Signed-off-by: Oz Tiram <oz@spectrocloud.com>

* Remove CLOUD_INIT from custom mounts test

This is not needed here.

Signed-off-by: Oz Tiram <oz@spectrocloud.com>

* Fix qemu-test-* earthly targets

Signed-off-by: Oz Tiram <oz@spectrocloud.com>

* 🔧 Fix CPU passing to VM

Signed-off-by: Oz Tiram <oz@spectrocloud.com>

* 🔧 remove apt cache after install qemu

Helps deal with space running out in the CI.

Signed-off-by: Oz Tiram <oz@spectrocloud.com>

* 📖 Document custom mounts

Signed-off-by: Oz Tiram <oz@spectrocloud.com>

---------

Signed-off-by: Oz Tiram <oz@spectrocloud.com>
Co-authored-by: Ettore Di Giacinto <mudler@users.noreply.github.com>
2023-02-03 11:04:02 +01:00
Ettore Di Giacinto
746135eede sparkles: Add reset hook (#723)
Signed-off-by: mudler <mudler@c3os.io>

Signed-off-by: mudler <mudler@c3os.io>
2023-01-25 13:38:56 +01:00
Ettore Di Giacinto
f052a4a83c seedling: Drop unrequired copy (#683)
Signed-off-by: mudler <mudler@c3os.io>

Signed-off-by: mudler <mudler@c3os.io>
2023-01-20 10:29:35 +01:00
Dimitris Karakasilis
544f28c493 Use new kcrypt/config package (#669)
Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
2023-01-18 15:14:57 +02:00
Dimitris Karakasilis
9011ce3419 Persist partition label/uuid mapping whenever we encrypt a partition (#408)
Fixes: https://github.com/kairos-io/kairos/issues/380

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
2022-11-16 13:35:59 +02:00
Ettore Di Giacinto
0af13f655f sparkles: enhancements (#263)
* 🎨 Do not need to prefix '.' on queries

*  Add recovery to stateapi

*  Add cloudconfig SDK

*  Unify post-install/firstboot hooks

This also adds capabilities to add grub option at first boot rather than
after installation as for bundles.

* 🤖 Optimize tests to wait for state to change
2022-10-24 08:34:49 +02:00
Ettore Di Giacinto
5893294c54 sparkles: state api sdk (#262)
*  Add state api

This is related to https://github.com/kairos-io/kairos/issues/34.

Starts to unify the API to retrieve the state in the sdk to have a common place to query system status information.

* 🤖 Add test

* Update go.mod

* ⚙️ Fine-tune detection of partitions

* 🤖 Add more fine-grained tests

* 🎨 Add /dev/ to partition name

* 🤖 Fixup tests

* ⚙️ Remount accessors

*  Add state partition to cloud-init paths

* 📝 Upper case Kairos in motd

* 🎨 Add mounts sdk

* 🎨 Set grub options via SDK

* 🎨 Make it more idiomatic
2022-10-23 20:22:32 +02:00
Ettore Di Giacinto
5c4e29f3d3 sparkles: Minor enhancements (#239)
* 🐛 Fixup grub option quoting

* ⚙️ Copy discovery to oem if found

*  Add environment block to install

* ⚙️ Use /oem for mount in kcrypt post-hook

* 📝 Update docs with installer env reference

* 🤖 Add test deps

* ⚙️ Be consistent and set env also for post-hooks

* ⚙️ propagate env in post-hooks
2022-10-18 07:45:07 +02:00
Ettore Di Giacinto
78bcb65cb6 sparkles: Add kcrypt to images (#195)
*  Add kcrypt to images

This adds the dracut module and the binary to the images.

Related to https://github.com/kairos-io/kairos/issues/184

*  Add Kcrypt post-install hook

Fixes https://github.com/kairos-io/kairos/issues/184
2022-10-07 13:36:32 +02:00
Ettore Di Giacinto
a8875f6b4f sparkles: Add bundles to post-install hooks (#171)
* 🤖 Add bundles and sysext test

*  Exec bundles also after install

* 🤖 Adapt tests

* 🎨 Create dir only if doesn't exist

* 🎨 Return err on mount

* 🎨 Make bundle errors failure as an option

* 🎨 Minor fixups

* debug

* 🤖 Fix spec

* 🤖 Get correct version for bundle test

* 🎨 Fixups

* 🤖 systemd-sysext is available only on opensuse for now
2022-10-03 00:16:01 +02:00
Ettore Di Giacinto
e25526cfc9 art: Rebranding (#130)
See: https://github.com/c3os-io/c3os/issues/88
2022-09-17 18:43:51 +02: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