Commit Graph

350 Commits

Author SHA1 Message Date
Itxaka
11d03b1d87 Bump ghw and fix state (#1073)
Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>
2023-03-09 17:18:37 +01:00
Oz Tiram
647845060e 🔧 Use random free port for Spice display and SSH (#832)
* Refactor tests to use the "VM" construct from peg

📖 Add cloud-config.json for v1.6.0 (#977)

:docs: Add cloud-config.json for v1.6.0

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

📖 Add documentation about schema validation (#978)

* 📖 Add documentation for cloud config validation

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

* Add image

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

* Move image to static dir

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

---------

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

🐛 Backport dracut patch for ubuntu 20 iscsi (#979)

🔧 Use random free port for Spice display and SSH

When running the install test with qemu, the second test will
fail because the 2nd machine will fail to start.
The failure is cause because the port of the previous machine is
still not freed.
Hence, let the install-test use a differnet random port if not
specified.
`GetFreePorts` copied from `kairos-io/kcrypt-challenger`.
Credits @jimmykarily.

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

Update peg and use new VM interface

This enables creating mulitple VMs in parallel
as done in kairos-io/kcrypt-challenger.

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

Handle possible collision of spice and SSH ports

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

Migrate all tests to new PEG API

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

Remove one more reference to old API.

Replace Machine.SendFile with vm.Scp

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

Try and fix bundle_tests

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

Temporarily disable many flavours

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

Bump peg and fix code

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

Remove unecessary output and fix test issues

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

Make sure we install before we start checking things.

It seems that we were relying on previous tests to do the installation
because we only had one "Machine".

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

Bump peg to better handle "Sudo", dedup tests

and make sure installation has happened before every check

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

Wait until systemd service becomes active

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

Merge multiple similar tests into one

because the big overhead comes from the BeforeEach block which is the
same in all tests. The tests themselves are just checking differnet
things on similar VMs. By merging them we same a lot of time in
preparing the same env again and again.

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

Fix forgotten "Machine"

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

Bring all flavors back

This partly reverts commit aa029c20acd79c46122783aad030e2a5410a9374.

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

Merge similar tests an uncomment code

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

Fix fogotten global Machine function

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

Wait for systemd-sysext to do its thing

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

Fix forgotten global Sudo and remove gatherLogs

which wasn't working anyway

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

Fixes after rebase

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

Fix `source` not present in ubuntu/debian `/bin/sh`

and add debug output to failed test

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

* Bump peg to fix "read only filesystem" error in tests

50b63c0bf8

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

* Use "." instead of "source" in vm's "/bin/sh"

because "source" is not recognised in debian based flavors

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

* Bump peg to fix vm.Sudo problems

and remove redundant check.

Now peg just pipes the ssh command without creating tmp scripts

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

---------

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
Co-authored-by: Mauro Morales <mauro.morales@spectrocloud.com>
Co-authored-by: Dimitris Karakasilis <dimitris@karakasilis.me>
2023-03-01 23:55:40 +01:00
Ettore Di Giacinto
81a9680a14 seedling: Detect more information about runtime (#956)
* 🌱 Detect more information about runtime

This introduces a `system` and a `kairos` block available in
kairos-agent get state.

This allows for instance to query the agent for the kairos version as
such:

`kairos-agent get state kairos.version`

Part of #755

Signed-off-by: mudler <mudler@c3os.io>

* 🤖 Fixup tests

Signed-off-by: mudler <mudler@c3os.io>

---------

Signed-off-by: mudler <mudler@c3os.io>
2023-02-26 20:18:49 +01:00
renovate[bot]
29097a8522 Update module github.com/labstack/echo/v4 to v4.10.2 (#939)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-22 07:18:54 +01:00
renovate[bot]
5e53bb4eaa Update module github.com/urfave/cli/v2 to v2.24.4 (#904)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-21 16:52:59 +01:00
renovate[bot]
4e137b3815 Update module github.com/onsi/ginkgo/v2 to v2.8.3 (#915)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-20 21:43:51 +00:00
renovate[bot]
0ee3af7a71 Update module github.com/labstack/echo/v4 to v4.10.1 (#916)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-20 08:53:31 +01:00
renovate[bot]
b5a0966098 Update module github.com/onsi/gomega to v1.27.1 (#914)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-18 14:31:56 +01:00
renovate[bot]
d12dbea578 Update module github.com/onsi/ginkgo/v2 to v2.8.2 (#913)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-18 12:11:41 +01:00
renovate[bot]
5d7204b201 Update module github.com/onsi/gomega to v1.27.0 (#905)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-17 08:00:24 +00:00
renovate[bot]
81e584d4fc Update module github.com/onsi/ginkgo/v2 to v2.8.1 (#880)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-15 10:55:13 +00:00
renovate[bot]
c2a96f27e9 Update module golang.org/x/net to v0.7.0 (#889)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-14 21:25:19 +01:00
renovate[bot]
369e812ff7 Update github.com/spectrocloud/peg digest to 1780cee (#865)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-13 09:37:17 +01:00
renovate[bot]
f67a19eb68 Update module golang.org/x/oauth2 to v0.5.0 (#852)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-09 21:54:24 +01:00
renovate[bot]
d97396837b Update module golang.org/x/net to v0.6.0 (#851)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-09 09:54:35 +01:00
renovate[bot]
29ff3cd188 Update module github.com/kairos-io/kcrypt to v0.5.1 (#843)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-09 08:25:39 +01:00
Mauro Morales
e30f367793 seedling: Kairos config validator library (#798)
* Validate yaml

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

* lint feedback

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

* Validate User name with JsonSchema

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

* WIP users validation

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

* Add multiple examples for ssh keys

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

* Add example of complex validation with AnyOf

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

* Better business rule example with P2P

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

* Test with message for empty network_token

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

* Split into a file for each sub section

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

* Add install schema validations

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

* Add to main schema

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

* Add more tests for p2p

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

* Add install schema

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

* Validate fields between new and old schema

It also adds the missing ones

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

* Lint

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

* Remove temp debugging functions

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

* Add new fields in old schema

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

* Add documentation for all exported

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

* Move schemas into a directory of their own

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

* Add missing dot at end of comment

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

* Rebase master and add local_file to bundles

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

---------

Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>
2023-02-08 11:02:13 +01:00
renovate[bot]
dd871e5211 Update github.com/spectrocloud/peg digest to 5f48d83 (#837)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-07 16:58:24 +01:00
renovate[bot]
94b60ad264 Update module github.com/joho/godotenv to v1.5.1 (#820)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-07 02:19:26 +00:00
renovate[bot]
da147e5911 Update module github.com/mudler/yip to v1 (#825)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-06 21:01:10 +00:00
renovate[bot]
f58ffcd5f0 Update module github.com/urfave/cli/v2 to v2.24.3 (#807)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-04 11:23:23 +01:00
renovate[bot]
1d9ccf4f10 Update module github.com/erikgeiser/promptkit to v0.8.0 (#652)
* Update module github.com/erikgeiser/promptkit to v0.8.0

* 🎨 Adapt agent to new v0.8.0 promptkit version

Validation function for textinput now requires an error/nil instead of
a bool

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

---------

Signed-off-by: Itxaka <itxaka@spectrocloud.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Itxaka <itxaka@spectrocloud.com>
Co-authored-by: Itxaka <itxaka.garcia@spectrocloud.com>
2023-02-04 11:22:57 +01:00
renovate[bot]
6cb6b1d818 Update module github.com/joho/godotenv to v1.5.0 (#817)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-04 10:14:37 +00:00
renovate[bot]
0993ea8609 Update module github.com/onsi/ginkgo/v2 to v2.8.0 (#783)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-30 22:12:19 +01:00
renovate[bot]
2ffdbb4fb6 Update github.com/spectrocloud/peg digest to a5208a0 (#735)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-30 16:18:12 +01:00
renovate[bot]
16daff5fcb Update module github.com/urfave/cli/v2 to v2.24.2 (#767)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-30 16:15:30 +01:00
renovate[bot]
522010d174 Update module github.com/onsi/ginkgo/v2 to v2.7.1 (#761)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-28 12:06:45 +01:00
renovate[bot]
0d87d85093 Update github.com/mudler/go-pluggable digest to 7710299 (#744)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-27 20:52:50 +01:00
Oz Tiram
9fec982cbb Add machine display (#726)
* 🔧 Enable spice in scripts/start_vm_qemu.sh

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

* 🔧 add option specify display for qemu

This works only with https://github.com/spectrocloud/peg/pull/2
merged.

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

* 🔧 add option to enable KVM

ISO=/home/oznt/Software/spectro-cloud/kairos/build/kairos-core-opensuse.iso \
   CREATE_VM=true USE_QEMU=true \
   MACHINE_DISPLAY="-vga qxl -spice port=5903,addr=127.0.0.1,disable-ticketing=yes" \
   KVM=true ginkgo run -v tests

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

* Fix failing tests - qemu does not have /dev/sda

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

* Update peg dependency

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

Signed-off-by: Oz Tiram <oz@spectrocloud.com>
2023-01-27 09:01:16 +01:00
renovate[bot]
09c84f9bbb Update github.com/spectrocloud/peg digest to cdce224 (#725)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-25 21:26:34 +01:00
renovate[bot]
b664d94b8e Update github.com/spectrocloud/peg digest to 14235c0 (#719)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-25 00:42:40 +01:00
Mauro Morales
64e661937d arrow_up: Upgrade urfave/cli to v2 (#713)
Upgrade urfave/cli to v2

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

Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>
2023-01-25 00:39:51 +01:00
renovate[bot]
6ced6fb3ba Update module github.com/urfave/cli to v1.22.12 (#702)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-24 11:05:43 +00:00
renovate[bot]
cbc0a39ed3 Update module github.com/onsi/gomega to v1.26.0 (#709)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-24 08:38:40 +01:00
renovate[bot]
42e268c75c Update module github.com/pterm/pterm to v0.12.54 (#701)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-23 00:24:23 +01:00
renovate[bot]
dba7495edb Update module github.com/kairos-io/kcrypt to v0.5.0 (#678)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-19 12:02:39 +01:00
Dimitris Karakasilis
ab04ccb0fc 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
renovate[bot]
5015ce7cd1 Update module github.com/onsi/gomega to v1.25.0 (#664)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-18 11:38:22 +01:00
renovate[bot]
2054d40724 Update module github.com/labstack/echo/v4 to v4.10.0 (#609)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-18 11:33:23 +01:00
renovate[bot]
5a43812f5c Update module github.com/onsi/ginkgo/v2 to v2.7.0 (#623)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-18 11:32:57 +01:00
renovate[bot]
2c06307a28 Update module github.com/urfave/cli to v1.22.11 (#655)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-18 11:32:04 +01:00
Dimitris Karakasilis
64bd8e9b3b Merge pull request #665 from kairos-io/399_deeply_merge_configs
Deeply merge yamls in original data
2023-01-18 11:16:05 +02:00
renovate[bot]
7a99d4c453 Update module golang.org/x/oauth2 to v0.4.0 (#607)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-06 15:09:58 +01:00
Mauro Morales
50981936b1 arrow_up: update github.com/mudler deps (#617)
* :arrow-up: Update deps from github.com/mudler

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

* tidy

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

Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>
2023-01-06 15:09:30 +01:00
renovate[bot]
418cb2c390 Update module github.com/pterm/pterm to v0.12.53 (#613)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-06 10:17:41 +01:00
Ettore Di Giacinto
6841584d47 seedling: Webui installer (#587)
* 🌱 Add webui

Signed-off-by: mudler <mudler@c3os.io>

* 🌱 Re-read config files after loading bundles

Signed-off-by: mudler <mudler@c3os.io>

* [check-spelling] Update metadata

Update for https://github.com/kairos-io/kairos/actions/runs/3806058276/attempts/1
Accepted in https://github.com/kairos-io/kairos/pull/587#issuecomment-1367859480

Signed-off-by: check-spelling-bot <check-spelling-bot@users.noreply.github.com>
Signed-off-by: mudler <mudler@c3os.io>

* 🎨 Beautify index page

Signed-off-by: mudler <mudler@c3os.io>

* Do not rerun if we were successful or we are already running

Signed-off-by: mudler <mudler@c3os.io>

* Add syntax highlight

Signed-off-by: mudler <mudler@c3os.io>

* Add error message

Signed-off-by: mudler <mudler@c3os.io>

* Add YAML validation and highlight

Signed-off-by: mudler <mudler@c3os.io>

* Fixup terminal output

Signed-off-by: mudler <mudler@c3os.io>

* Fix newlines

Signed-off-by: mudler <mudler@c3os.io>

* fixups

Signed-off-by: mudler <mudler@c3os.io>

* 🎨 Fixup lint issues

Signed-off-by: mudler <mudler@c3os.io>

* Mark dependencies

Signed-off-by: mudler <mudler@c3os.io>

* Let configure the listening address

Signed-off-by: mudler <mudler@c3os.io>

Signed-off-by: mudler <mudler@c3os.io>
Signed-off-by: check-spelling-bot <check-spelling-bot@users.noreply.github.com>
2023-01-05 14:15:05 +01:00
renovate[bot]
1deebd0155 Update module github.com/pterm/pterm to v0.12.51 (#586)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-24 08:35:05 +01:00
renovate[bot]
a42b17ebea Update module github.com/itchyny/gojq to v0.12.11 (#585)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-24 08:34:42 +01:00
renovate[bot]
c29f249343 Update module github.com/google/go-github/v40 to v48 (#571)
* Update module github.com/google/go-github/v40 to v48

* [check-spelling] Update metadata

Update for https://github.com/kairos-io/kairos/actions/runs/3767678767/attempts/1
Accepted in https://github.com/kairos-io/kairos/pull/571#issuecomment-1364324766

Signed-off-by: check-spelling-bot <check-spelling-bot@users.noreply.github.com>

Signed-off-by: check-spelling-bot <check-spelling-bot@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ettore Di Giacinto <mudler@users.noreply.github.com>
2022-12-24 08:34:12 +01:00
renovate[bot]
da5e5aba55 Update module github.com/twpayne/go-vfs to v4 (#572)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-24 08:32:59 +01:00