Commit Graph

6 Commits

Author SHA1 Message Date
Jean-Philippe Evrard
cbf9c46474 Add package comments to pass linters
Without this, you get an error about the lack of package comments.
"package-comments: should have a package comment (revive)"

Signed-off-by: Jean-Philippe Evrard <open-source@a.spamming.party>
2025-08-30 17:20:14 +02:00
Jean-Philippe Evrard
73f00ce445 Make all the internal validations ... internal
The main is doing flag validation through pflags, then
did further validation by involving the constructors.

With the recent refactor on the commit "Refactor constructors"
in this branch, we moved away from that pattern.

However, it means we reintroduced a log dependency into our
external API, and the external API now had extra validations
regardless of the type.

This is unnecessary, so I moved away from that pattern, and
moved back all the validation into a central place, internal,
which is only doing what kured would desire, without exposing
it to users. The users could still theoretically use the proper
constructors for each type, as they would validate just fine.

The only thing they would lose is the kured internal decision
of validation/precedence.

Signed-off-by: Jean-Philippe Evrard <open-source@a.spamming.party>
2024-10-19 15:51:04 +02:00
Jean-Philippe Evrard
626db87158 Add error to reboot interface
Without this, impossible to bubble up errors to main

Signed-off-by: Jean-Philippe Evrard <open-source@a.spamming.party>
2024-10-19 15:51:04 +02:00
Jean-Philippe Evrard
d8b9e31ac9 Refactor constructors
Without this, a bit of the validation is done in main, while
the rest is done in each constructor.

This fixes it by create a new global constructor in checkers/reboot to
solve all the cases and bubble up the errors.

I prefered keeping the old constructors, and calling them, this
way someone wanting to have a fork of the code could still create
directly the good checker/rebooter, without the arbitrary decisions
taken by the generic constructor.

However, kured is not a library, and was never intended to be
usable in forks, so we might want to reconsider is part 2 of the
refactor.

Signed-off-by: Jean-Philippe Evrard <open-source@a.spamming.party>
2024-10-19 15:51:04 +02:00
Jean-Philippe Evrard
f34864758e Cleanup rebooter interface
Without this, the interface and the code to reboot is
a bit more complex than it should be.

We do not need setters and getters, as we are just
instanciating a single instance of a rebooter interface.

We create it based on user input, then pass the object
around. This should cleanup the code.

Signed-off-by: Jean-Philippe Evrard <open-source@a.spamming.party>
2024-10-18 00:53:38 +02:00
Christian Hopf
87202d8fcf Add signal-reboot (#814)
* feat: sentinel-command without nsenter by default

Signed-off-by: Christian Kotzbauer <git@ckotzbauer.de>

* fix: no readonly mount

Signed-off-by: Christian Kotzbauer <git@ckotzbauer.de>

* fix: mount at different folder

Signed-off-by: Christian Kotzbauer <git@ckotzbauer.de>

* feat: add signal-reboot

Signed-off-by: Christian Kotzbauer <git@ckotzbauer.de>

* feat: make signal configurable and add tests

Signed-off-by: Christian Kotzbauer <git@ckotzbauer.de>

* build: rename job

Signed-off-by: Christian Kotzbauer <git@ckotzbauer.de>

* cleanup: linter

Signed-off-by: Christian Kotzbauer <git@ckotzbauer.de>

* build: also adjust signal manifest

Signed-off-by: Christian Kotzbauer <git@ckotzbauer.de>

* test: add e2e-tests

Signed-off-by: Christian Kotzbauer <git@ckotzbauer.de>

* fix: small code restructure

Signed-off-by: Christian Kotzbauer <git@ckotzbauer.de>

* fix: adjust version-range

Signed-off-by: Christian Kotzbauer <git@ckotzbauer.de>

---------

Signed-off-by: Christian Kotzbauer <git@ckotzbauer.de>
2024-01-06 10:25:11 +01:00