Commit Graph

112 Commits

Author SHA1 Message Date
Mauro Morales
baf496263f Rename helper function and add a comment
Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>
2023-10-19 22:26:04 +02:00
Mauro Morales
fdc7f49d1f Keep track of visited files for size calculation
Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>
2023-10-19 22:11:13 +02:00
Itxaka
1b967cccd8
[uki] Lyfecycle (#148) 2023-10-03 11:15:17 +02:00
Dimitris Karakasilis
e0dfc79ed5
Unmarshal yaml after auto size calculation and fix tests
because we want the user's preferences to be applied last, thus
overriding whatever calculations we may do automatically.

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
2023-10-02 12:28:33 +03:00
Dimitris Karakasilis
80f83ba676
Run sanitization outside the spec building functions
To limit responsibility or those functions and to keep the tests passing
(because they assumed no sanitization)

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
2023-10-02 10:57:11 +03:00
Dimitris Karakasilis
d1e84c186c
Fix minor syntax and linting issues
Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
2023-10-02 10:43:18 +03:00
Dimitris Karakasilis
85196fbc59
Calculate sources sizes after unmarshalling the full spec
otherwise sources defined in the kairos config won't be there when we
calculate the size

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
2023-09-29 15:57:01 +03:00
Dimitris Karakasilis
b13f1a9cc8
Un-export fields again
because they are unmarshalled with a custom unmarshaller so they don't
need to be exported

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
2023-09-29 11:46:00 +03:00
Dimitris Karakasilis
f477776b57
Bring back the size calculation in Upgrade
it was removed by mistake

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
2023-09-29 11:46:00 +03:00
Dimitris Karakasilis
a2d4df589b
Remove comments
Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
2023-09-29 11:46:00 +03:00
Dimitris Karakasilis
f2ec19d53d
Fix syntax and don't hide error
Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
2023-09-29 11:45:59 +03:00
Dimitris Karakasilis
c58efaa623
Add test and remove debugging logs
Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
2023-09-29 11:45:59 +03:00
Dimitris Karakasilis
8dd7577148
WIP
Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
2023-09-29 11:45:59 +03:00
Dimitris Karakasilis
3482e88aa3
[WIP] Try to pass command line options for upgrade as kairos config
because it's actually configuration and it's better than using viper to
pass things around.

The `upgrade:` block seems to be ignored early in the process so even if
the user specifies an image there, the latest release will be looked up.

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
2023-09-29 11:45:58 +03:00
Mauro Morales
5fab99f5b7 Take symlinks into account for partition size
Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>
2023-09-27 16:25:38 +02:00
Itxaka
274701a3ac
Also install fonts when installing grub (#144) 2023-09-13 11:07:28 +02:00
Itxaka
442973526e
Track active/passive boot for upgrade workflow (#133)
* Track active/passive boot for upgrade workflow

Track what are we booting from during upgrade in order to not backup
active into passive if we are booting from passive.

If we are booting from active or recovery the workflow keeps as it was,
backup active into passive, and then move the transition image into
active.

Signed-off-by: Itxaka <itxaka@kairos.io>
2023-09-01 15:19:28 +02:00
Itxaka
ca4cf5059d
Fix recovery image calculation (#132) 2023-08-21 16:42:57 +02:00
Itxaka
28dd23c4f4
Adjust size to take into account upgrades (#130) 2023-08-18 12:18:10 +02:00
Itxaka
dffef50ca0
Several improvements for size calculation (#129) 2023-08-17 13:53:45 +02:00
Itxaka
1cf9813f43
Fix space calculation on recovery (#128) 2023-08-16 22:59:50 +02:00
Itxaka
4108aa929e
Auto calculate image size on actions (#122) 2023-08-08 10:44:42 +02:00
Itxaka
3e9befa230
Add recovery upgrade flag to upgrade command + msg (#123) 2023-08-07 16:11:13 +02:00
Itxaka
48095b619f
Auto calculate partiton size on install (#121) 2023-08-07 14:35:15 +02:00
Dimitris Karakasilis
e2e70565a7
Improve error message
Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
2023-08-04 10:06:08 +03:00
Itxaka
26140a46d3
Tests and improve createExtraDirsInRootfs (#111) 2023-08-03 12:16:35 +02:00
Itxaka
8feaf648e0
Extra cleanup for install partitions (#108) 2023-08-02 19:11:50 +02:00
Itxaka
f5f3d3f221
Allow creating dirs in rootfs via cc (#109) 2023-08-02 19:11:25 +02:00
Itxaka
a2ebd3fb2b
Drop logrusWrapper (#105) 2023-07-27 10:51:15 +02:00
Itxaka
dffa755ad4
Add tests for Platform (#104) 2023-07-26 12:02:47 +02:00
Itxaka
fbcf26fdca Workaround for "auto" device propagating to spec properly
Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>
2023-07-26 00:22:14 +02:00
Itxaka
beb04baa75 Fix wrong spec loaded for upgrade
Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>
2023-07-25 22:15:46 +02:00
Itxaka
3c2697a6ad
Fix config loading, install device and call sanitize (#103)
* Fix config loading, install device and call sanitize

Syncs the cfg.install.device to the installspec.target
As on manual-install the device can actually come from a flag and its
not on the cloud-config, we need to initialize the InstallSpec with the
value of the cfg.Install.Device as by that time we already have the
final value of the install target.

Also calls sanitize on config and specs and warns if anything goes wrong

Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>

* Fix platform override and tests

The sanitize method for Config was never called so we never noticed that
its overriding the platform, even if we pass the WithPLatform option.

This patch fixes it by only overriding platform by default on sanitize
if the platform is empty, otherwise leave the platform on it values.

Also fixes the tests to use test facilities and a small fix to not try
to load the platform values form yaml

Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>

* Init the Install in the Config init

Just in case something tries to access it so they dont find a nil

Also adjusts some more tests

Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>

---------

Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>
2023-07-25 19:36:01 +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
bca3277b7d
Rework install a bit more (#100)
Co-authored-by: Dimitris Karakasilis <dimitris@karakasilis.me>
2023-07-25 09:12:39 +02:00
Itxaka
956f86f99c
Rework reboot/shutdown to use the hooks (#96) 2023-07-24 12:28:59 +02:00
Itxaka
4e5d116307
Cleanup and simplify elementalConfig (#98)
Co-authored-by: Mauro Morales <mauro.morales@spectrocloud.com>
2023-07-24 11:44:21 +02:00
Itxaka
fa8d212f0f
More config tests (#97) 2023-07-21 17:02:37 +02:00
Itxaka
922d35b4f1
Merge data from events into reset (#91) 2023-07-21 10:37:53 +02:00
Itxaka
9bff3742c1
Load elemental config/spec from cloud config (#82) 2023-07-20 15:53:48 +02:00
Itxaka
4bc5ea1cfc
Fix oem mountpoint not available on upgrade (#85) 2023-07-19 07:46:30 +00:00
Itxaka
9c5731baa2
Rename go module kairos-agent (#81) 2023-07-10 14:39:48 +02:00
Itxaka
5f26f80349
Search for lvm partitions on upgrade (#78) 2023-07-07 17:35:41 +02:00
Dimitris Karakasilis
e336c66b3f
Use the yip layout plugin (#72)
Co-authored-by: Dimitris Karakasilis <dimitris@spectrocloud.com>
Co-authored-by: Itxaka <itxaka.garcia@spectrocloud.com>
2023-07-04 14:56:42 +02:00
Itxaka
9dd1dbddbe
Fix getting lvm recovery (#70) 2023-06-23 14:49:38 +02:00
Dimitris Karakasilis
f225315a5a
Use lsblk to detect partitions
like we did here:

https://github.com/kairos-io/kairos-sdk/pull/28/files

because ghw doesn't play well with lvm

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
2023-06-21 10:52:08 +03:00
Itxaka
b126f7ab00
Drop --local flag for image sources (#63) 2023-06-21 09:39:59 +02:00
Itxaka
738bfbdb69
Simplify rsync implementation (#61) 2023-06-20 12:18:31 +02:00
Itxaka
75586ad601
Install improvements (#62) 2023-06-20 09:58:01 +03:00