Commit Graph

65 Commits

Author SHA1 Message Date
Mauro Morales
d88983a906 Extract some commands into kairosctl (#310)
This PR extracts the registration command into a `kairos-register`
binary of its own. The old sub command is kept so users can see a
deprecation notice and adapt for a future release when it's removed. The
version number is shared between binaries.

⚠️ I'm not entirely sure about the gorelease, and would benefit
from a couple of extra 👀 on this, thanks!

relates to kairos-io/kairos#1211

---------

Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>
Signed-off-by: Mauro Morales <contact@mauromorales.com>
Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>
Signed-off-by: GitHub <noreply@github.com>
Co-authored-by: Dimitris Karakasilis <dimitris@karakasilis.me>
Co-authored-by: Itxaka <itxaka.garcia@spectrocloud.com>
Co-authored-by: ci-robbot [bot] <105103991+ci-robbot@users.noreply.github.com>
Co-authored-by: mudler <mudler@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-21 11:04:15 +02:00
Ettore Di Giacinto
4740cd3e0e ⬆️ Bump rc (#320)
Signed-off-by: mudler <mudler@c3os.io>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-07 14:44:01 +02:00
Itxaka
f7d5d81013 ⬆️ Bump deps to use kairos-sdk (#299)
First time bumping the provider, be gentle

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

---------

Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>
2023-03-31 14:31:54 +02:00
Oz Tiram
70903fdec8 🌱 add version information directly from git (#175)
Partial fix for https://github.com/kairos-io/kairos/issues/643

Signed-off-by: Oz Tiram <oz@spectrocloud.com>
2023-01-17 10:19:43 +01:00
Dimitris Karakasilis
0d636d2b2c Exclude .img images from upgrades (#160)
and fix renamed Earthly ARG

Fixes https://github.com/kairos-io/kairos/issues/598

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

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
2023-01-03 23:16:40 +01:00
mudler
f6a509c752 🌱 Drop deprecated configs
Signed-off-by: mudler <mudler@c3os.io>
2022-12-27 20:49:09 +01:00
Mauro Morales
1d074c4fda Upgrade urfave/cli and make register's config flag required (#146)
With the upgrade of the cli pkg, making flags required is very simple,
it just needs an attribute `required: true`

Fixes https://github.com/kairos-io/kairos/issues/375

⚠️ breaking UX change

> In v2 flags must come before args. This is more POSIX-compliant. You
may need to update scripts, user documentation, etc.

This means that 

```
provier-kairos command ARG FLAG
```

is no longer valid, but I still think the change is worth it because
like the documentation says, the CLI will be more POSIX-compliant

Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>
Signed-off-by: GitHub <noreply@github.com>
Co-authored-by: ci-robbot [bot] <105103991+ci-robbot@users.noreply.github.com>
Co-authored-by: mudler <mudler@users.noreply.github.com>
2022-12-27 19:29:01 +00:00
mudler
8338402905 🌱 Be consistent and respect MinNodes in the service
Signed-off-by: mudler <mudler@c3os.io>
2022-12-27 20:27:15 +01:00
Ettore Di Giacinto
05213f04b0 🐛 Fixup detection if block is missing (#143)
p2p block is optional, thus we might panic otherwise here

Signed-off-by: Ettore Di Giacinto <mudler@users.noreply.github.com>

Signed-off-by: Ettore Di Giacinto <mudler@users.noreply.github.com>
2022-12-22 09:19:24 +01:00
Oz N Tiram
9e6eead109 Check that QR file paths are readable and are not directories (#141)
This is a possible fix for
https://github.com/kairos-io/kairos/issues/568.

Signed-off-by: Oz Tiram <oz.tiram@gmail.com>
2022-12-21 16:05:33 +00:00
Oz N Tiram
a7e182b0ff Fix broken documentation about pairing (#134)
Fix https://github.com/kairos-io/kairos/issues/509.

Signed-off-by: Oz Tiram <oz.tiram@gmail.com>
2022-12-19 14:53:00 +01:00
Ettore Di Giacinto
415820e66e Update internal/provider/config/config.go
Co-authored-by: Dimitris Karakasilis <dimitris@karakasilis.me>
2022-12-13 17:58:49 +01:00
Ettore Di Giacinto
4857ff8879 🌱 Change config to be more user friendly
Signed-off-by: Ettore Di Giacinto <mudler@mocaccino.org>
2022-12-12 15:38:21 +01:00
Ettore Di Giacinto
e193a3f3b2 🌱 Be consistent, there is no kairos block anymore
Signed-off-by: Ettore Di Giacinto <mudler@mocaccino.org>
2022-12-12 13:44:49 +01:00
Ettore Di Giacinto
23abe1c0e2 🌱 Please linting
Signed-off-by: Ettore Di Giacinto <mudler@mocaccino.org>
2022-12-12 12:31:03 +01:00
Ettore Di Giacinto
19d541774b 🌱 Leader now prunes inactive members
Signed-off-by: Ettore Di Giacinto <mudler@mocaccino.org>
2022-12-12 11:49:38 +01:00
Ettore Di Giacinto
87d7fc2131 🌱 Run hook during bootstrap
Signed-off-by: Ettore Di Giacinto <mudler@mocaccino.org>
2022-12-11 18:12:51 +01:00
Ettore Di Giacinto
79fd3633a5 ⚠️ Change P2P configuration setting reference
Signed-off-by: Ettore Di Giacinto <mudler@mocaccino.org>
2022-12-09 16:36:30 +01:00
Ettore Di Giacinto
15a9d15a0c 🌱 HA block belongs to Kairos, not k3s
Signed-off-by: Ettore Di Giacinto <mudler@mocaccino.org>
2022-12-09 09:59:22 +01:00
Ettore Di Giacinto
8df00fcffe 🌱 Allow to disable DHT
Signed-off-by: Ettore Di Giacinto <mudler@mocaccino.org>
2022-12-08 14:51:31 +01:00
Ettore Di Giacinto
6b13d26a33 🌱 Fix linting
Signed-off-by: Ettore Di Giacinto <mudler@mocaccino.org>
2022-12-08 10:54:47 +01:00
Ettore Di Giacinto
1e56ddef74 🌱 Handle setup VPN manually if required
Signed-off-by: Ettore Di Giacinto <mudler@mocaccino.org>
2022-12-07 19:47:00 +01:00
Ettore Di Giacinto
5c5c432594 🌱 Do setup API only if a kairos block is defined
Signed-off-by: Ettore Di Giacinto <mudler@mocaccino.org>
2022-12-07 16:41:24 +01:00
Ettore Di Giacinto
301b69cfa5 🌱 Refactor
Signed-off-by: Ettore Di Giacinto <mudler@mocaccino.org>
2022-12-07 14:49:07 +01:00
Ettore Di Giacinto
b03741c4c5 🌱 Fix linting
Signed-off-by: Ettore Di Giacinto <mudler@mocaccino.org>
2022-12-07 14:37:38 +01:00
Ettore Di Giacinto
4703feefd8 🌱 Propagate back roles
If we keep the API started, we want to keep streaming roles in case of completely disconnection between the nodes.
This guarantees that we keep streaming out our roles nevertheless of what happens

Signed-off-by: Ettore Di Giacinto <mudler@mocaccino.org>
2022-12-07 14:32:48 +01:00
Ettore Di Giacinto
007d902369 🌱 Make linter happy pt2
Signed-off-by: Ettore Di Giacinto <mudler@mocaccino.org>
2022-12-07 14:27:10 +01:00
Ettore Di Giacinto
998f665167 🌱 Make linter happy
Signed-off-by: Ettore Di Giacinto <mudler@mocaccino.org>
2022-12-07 14:06:06 +01:00
Ettore Di Giacinto
8eb8b650b0 🌱 Keep into account that a Kairos block is optional
Signed-off-by: Ettore Di Giacinto <mudler@mocaccino.org>
2022-12-07 13:57:16 +01:00
Ettore Di Giacinto
ab68c1d333 🌱 Fire oneTimeBootstrap when a token is not defined
This doesn't change the documented flow, but makes sure that if someone did defined a network token and also enables k3s manually it still tries to co-ordinate over p2p.

Optionally, a `skip_auto` is introduced to manually bootstrap the node

Signed-off-by: Ettore Di Giacinto <mudler@mocaccino.org>
2022-12-07 11:35:17 +01:00
Ettore Di Giacinto
eab541874b Drop unused
Signed-off-by: Ettore Di Giacinto <mudler@mocaccino.org>
2022-12-06 22:15:57 +01:00
Ettore Di Giacinto
82514b5cb5 Respect ExternalDB
Signed-off-by: Ettore Di Giacinto <mudler@mocaccino.org>
2022-12-06 22:15:57 +01:00
Ettore Di Giacinto
db3a4bc287 Add HA p2p support
Fixes: https://github.com/kairos-io/kairos/issues/2

Signed-off-by: Ettore Di Giacinto <mudler@mocaccino.org>
2022-12-06 22:15:12 +01:00
Ettore Di Giacinto
18a0b14a51 🌱 Configure worker
Signed-off-by: Ettore Di Giacinto <mudler@mocaccino.org>
2022-12-05 13:32:08 +01:00
Ettore Di Giacinto
955e8df55e 🌱 Cleanups
Signed-off-by: Ettore Di Giacinto <mudler@mocaccino.org>
2022-12-05 11:53:33 +01:00
Ettore Di Giacinto
c5b11bdc06 🌱 Use static kubevip artifacts
Signed-off-by: Ettore Di Giacinto <mudler@mocaccino.org>
2022-12-05 11:53:33 +01:00
Ettore Di Giacinto
dd9127f7ce 🌱 Allow to set minimum number of node to wait for
Signed-off-by: Ettore Di Giacinto <mudler@mocaccino.org>
2022-12-05 11:53:33 +01:00
mudler
0517b1e766 Add kubeVIP support with p2p hybrid mode
In this way, the p2p API will just run the co-ordination to setup KubeVIP automatically
to the new cluster.

Signed-off-by: Ettore Di Giacinto <mudler@mocaccino.org>
2022-12-05 11:53:33 +01:00
mudler
c64a19f1d4 🌱 Refactor roles
Signed-off-by: mudler <mudler@c3os.io>
Signed-off-by: Ettore Di Giacinto <mudler@mocaccino.org>
2022-12-05 11:53:33 +01:00
Ettore Di Giacinto
01df674098 Fixup fixture
Signed-off-by: Ettore Di Giacinto <mudler@users.noreply.github.com>
2022-12-04 10:58:25 +00:00
Ettore Di Giacinto
228286d002 🤖 Reboot into tests
Signed-off-by: Ettore Di Giacinto <mudler@users.noreply.github.com>
2022-12-03 22:48:13 +00:00
Ettore Di Giacinto
2c48a95228 🌱 tidy
Signed-off-by: Ettore Di Giacinto <mudler@users.noreply.github.com>
2022-12-03 22:48:13 +00:00
Ettore Di Giacinto
1ef914c818 Set permissions
Signed-off-by: Ettore Di Giacinto <mudler@users.noreply.github.com>
2022-12-03 22:48:13 +00:00
Ettore Di Giacinto
a7859d1665 🌱 Execute the cc and restart DNS service
Signed-off-by: Ettore Di Giacinto <mudler@users.noreply.github.com>
2022-12-03 22:48:13 +00:00
Ettore Di Giacinto
763d6eca1b ⚙️ Save to /oem
Signed-off-by: Ettore Di Giacinto <mudler@users.noreply.github.com>
2022-12-03 22:48:13 +00:00
Ettore Di Giacinto
20b4c019e3 Generically configure dns
Fixes https://github.com/kairos-io/provider-kairos/issues/36

Signed-off-by: Ettore Di Giacinto <mudler@users.noreply.github.com>
2022-12-03 22:48:13 +00:00
Ettore Di Giacinto
ce0c2f0929 🤖 Check out crond is running
Signed-off-by: Ettore Di Giacinto <mudler@users.noreply.github.com>
2022-11-28 15:38:59 +00:00
Ettore Di Giacinto
06556a31ec Use FindYAMLWithKey
Signed-off-by: Ettore Di Giacinto <mudler@users.noreply.github.com>
2022-11-28 14:37:08 +00:00
mudler
f0be8785f0 🐛 Debug
Signed-off-by: Ettore Di Giacinto <mudler@users.noreply.github.com>
2022-11-28 14:37:08 +00:00
Dimitris Karakasilis
f01235ea6a Remove the "stable" filtering in available_release response
because all our versions are considered pre-releases in standard
semantic versioning. E.g.

v1.0.0-k3sv1.23.9-k3s1

this also has a "pre-release" part (everything after the `-`).

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
2022-11-07 10:32:47 +02:00