Commit Graph

348 Commits

Author SHA1 Message Date
Aleksei Sviridkin e5ec2f07b4 fix: apply k3s version bumps declaratively through site.yml (#544)
Re-running site.yml with a raised k3s_version replaced the on-disk
binary but left agents and joined servers running the old runtime,
because the install script skips the service start and the roles only
restarted the service on a config change. A version-only bump was
therefore not applied until the services were restarted by hand.

Always restart the k3s service in the server and agent roles on a
site.yml run, so the cluster reliably picks up a new config or runtime
without any logic to detect whether the binary changed. On a
multi-server cluster, run the playbook with --forks=1 so the servers
restart one at a time and the etcd quorum is preserved; document this
in the README.

Keep the dedicated upgrade.yml integration test and add a second
upgrade through site.yml, asserting the running version the kubelet
reports rather than the on-disk binary, so the tests fail if the
restart regresses.



Assisted-By: Claude <noreply@anthropic.com>

Signed-off-by: Aleksei Sviridkin <f@lex.la>
2026-07-14 16:24:42 -07:00
dependabot[bot] 66883771ba Bump actions/setup-python from 6.2.0 to 6.3.0 in the action-deps group (#545)
---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-version: 6.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: action-deps
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-14 10:27:34 -07:00
Archy 6f87b64f1d fix: use failed_when instead of ignore_errors for version detection (#543)
Signed-off-by: Artem Muterko <artem@sopho.tech>
2026-07-06 09:42:35 -07:00
Archy 33b0ca9fa0 fix(raspberrypi): run detection commands in check mode (#542)
Signed-off-by: Artem Muterko <artem@sopho.tech>
2026-07-06 09:38:25 -07:00
dependabot[bot] de30fcd06c Bump the action-deps group across 1 directory with 3 updates (#539)
Bumps the action-deps group with 3 updates in the / directory: [actions/checkout](https://github.com/actions/checkout), [actions/setup-python](https://github.com/actions/setup-python) and [actions/upload-artifact](https://github.com/actions/upload-artifact).


Updates `actions/checkout` from 4.3.1 to 7.0.0
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4.3.1...9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0)

Updates `actions/setup-python` from 4.9.1 to 6.2.0
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/7f4fc3e22c37d6ff65e88745f38bd3157c663f7c...a309ff8b426b58ec0e2a45f0f869d46889d02405)

Updates `actions/upload-artifact` from 4.6.2 to 7.0.1
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/ea165f8d65b6e75b540449e92b4886f43607fa02...043fb46d1a93c77aae656e7c1c64a875d1fc6a0a)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 7.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: action-deps
- dependency-name: actions/setup-python
  dependency-version: 6.2.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: action-deps
- dependency-name: actions/upload-artifact
  dependency-version: 7.0.1
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: action-deps
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-22 09:26:45 -07:00
Derek Nola e8af759240 Remove N/A label
Signed-off-by: Derek Nola <derek.nola@suse.com>
2026-06-18 09:29:54 -07:00
Derek Nola 278b6bbbfe Add dependabot bumps for GHA versions
Signed-off-by: Derek Nola <derek.nola@suse.com>
2026-06-18 09:27:53 -07:00
Derek Nola 36de65e2c1 Publish 1.2.1 tag
Signed-off-by: Derek Nola <derek.nola@suse.com>
1.2.1
2026-06-08 10:07:05 -07:00
Rémi Paulmier a05f5b5dce Invert directives when importing ref. playbook (#524)
there was like a typo, where instructions in case of imported playbook were inverted.

Signed-off-by: Rémi Paulmier <remi.paulmier@gmail.com>
2026-05-27 14:44:58 -07:00
Jonathan Cremin 611ca0bbaf Fix existing token retrieval for k3s server (#534)
Signed-off-by: Jonathan Cremin <jonathan@crem.in>
2026-05-27 14:44:42 -07:00
shadow1runner d1aab4d8b8 Feature/oracle linux11 (#532)
* fix: handle Oracle Linux UEK kernel package name for br_netfilter

Oracle Linux uses the Unbreakable Enterprise Kernel (UEK) instead of the
standard RHEL kernel. The `kernel-modules-extra` package does not exist
on Oracle Linux — the equivalent is `kernel-uek-modules-extra`.

Without this fix, the prereq role fails on Oracle Linux 10 with:
  "No package kernel-modules-extra available."

Signed-off-by: Helmut Wolf <3902045+shadow1runner@users.noreply.github.com>

* chore: update README to include Oracle Linux

Signed-off-by: Helmut Wolf <3902045+shadow1runner@users.noreply.github.com>

---------

Signed-off-by: Helmut Wolf <3902045+shadow1runner@users.noreply.github.com>
Co-authored-by: Helmut Wolf <3902045+shadow1runner@users.noreply.github.com>
2026-05-27 14:44:06 -07:00
Chris Wayne 26245771fd Merge pull request #525 from cwayne18/pin-actions-to-sha
Pin GH Actions to commit sha
2026-03-27 10:24:35 -04:00
Chris Wayne 4acc4c718b Pin GH Actions to commit sha
Signed-off-by: Chris Wayne <cwayne18@gmail.com>
2026-03-27 09:21:19 -04:00
Derek Nola 2c3f3773c7 Publish 1.2.0 tag
Signed-off-by: Derek Nola <derek.nola@suse.com>
1.2.0
2026-03-11 11:43:58 -07:00
Derek Nola 8cbdb48d6d Move k3s version control into testing CI (#523)
Signed-off-by: Derek Nola <derek.nola@suse.com>
2026-03-11 11:37:36 -07:00
Ionut Ciocoiu 1f1228f3e8 Add nftables configuration for K3s on Arch Linux (#511)
* Do not enable nftables by default
* If nftables is enables, configure exceptions for k3s service

Signed-off-by: Ionut Ciocoiu <ionutnciocoiu@gmail.com>
Co-authored-by: Derek Nola <derek.nola@suse.com>
2026-03-11 10:09:14 -07:00
Derek Nola e9e0978a47 Simplify logic on K3s service start
Signed-off-by: Derek Nola <derek.nola@suse.com>
2026-02-28 10:34:04 -08:00
Derek Nola de7c3ed894 Fix missing extra_server_args on k3s_upgrade
Signed-off-by: Derek Nola <derek.nola@suse.com>
2026-02-28 10:34:04 -08:00
Derek Nola acba8e9b4d Add support for openrc to k3s_server role
Signed-off-by: Derek Nola <derek.nola@suse.com>
2026-02-28 10:34:04 -08:00
Derek Nola 65a3b5f6ac Remove service template from k3s_upgrade role (#519)
Signed-off-by: Derek Nola <derek.nola@suse.com>
2026-02-27 15:35:12 -08:00
Derek Nola a8784f41c4 Fix getting random token for agents
Signed-off-by: Derek Nola <derek.nola@suse.com>
2026-02-27 14:54:41 -08:00
Derek Nola be3b0f4d54 Add a notoken test
Signed-off-by: Derek Nola <derek.nola@suse.com>
2026-02-27 14:54:41 -08:00
Derek Nola c10c6e8c31 Add airgap test
Signed-off-by: Derek Nola <derek.nola@suse.com>
2026-02-27 13:07:40 -08:00
Derek Nola 6f44cf312f Fix airgap agent install
Signed-off-by: Derek Nola <derek.nola@suse.com>
2026-02-27 13:07:40 -08:00
Derek Nola 1eca3a1ab8 Remove server role template, utilize config.yaml to configure k3s
Signed-off-by: Derek Nola <derek.nola@suse.com>
2026-02-27 11:52:47 -08:00
Derek Nola 68a410fb4b Add external database integration test
Signed-off-by: Derek Nola <derek.nola@suse.com>
2026-02-27 11:52:47 -08:00
Derek Nola 5299941270 Switch to systemd image that works (#516)
- Use rancher/systemd-node which doesn't cause k3s to crash
- Expand requirements for testing, ensure deployments become ready at each playbook
- Add logging on failure for debugging

Signed-off-by: Derek Nola <derek.nola@suse.com>
2026-02-27 09:38:38 -08:00
Pavlo 9650436585 fix: use correct variable for k3s old token for agents in upgrade.yml playbook (#513)
Signed-off-by: paulkarabilo <582643+paulkarabilo@users.noreply.github.com>
2026-02-26 12:04:16 -08:00
Jon S. Stumpf a3bf02f069 fix: skip redundant fact gathering in server and agent plays
Signed-off-by: Jon S. Stumpf <jon.stumpf@gmail.com>
2026-02-26 12:03:56 -08:00
Jon S. Stumpf 6fcd4d3748 fix: wait for control plane to be ready before agents join
Signed-off-by: Jon S. Stumpf <jon.stumpf@gmail.com>
2026-02-26 12:03:56 -08:00
laszlojau 77b49f76ce Fix the 'Save the existing K3s token if needed' task (#503)
Signed-off-by: laszlojau <49835454+laszlojau@users.noreply.github.com>
2026-02-05 11:23:26 -08:00
Derek Nola bc3f66be7b Add HA Server test (#491)
* Add HA Server test
Signed-off-by: Derek Nola <derek.nola@suse.com>
2026-01-26 09:15:58 -08:00
Derek Nola 1172805585 Install airgap selinux rpms when avaliable (#500)
Signed-off-by: Derek Nola <derek.nola@suse.com>
2026-01-23 09:59:21 -08:00
Gilles H. 34073379ce Fix regex archlinux boot.txt (cgroup) (#499)
Update the regular expression to have a more specific match search term
for cgroup flags

Issue #495

Signed-off-by: Gilles Habran <gilleshabran@protonmail.com>
2026-01-20 12:19:20 -08:00
Derek Nola 2a0c43182b Provide configurable server/agent group names for airgap role (#497)
Signed-off-by: Derek Nola <derek.nola@suse.com>
2026-01-20 10:21:32 -08:00
Derek Nola f6491bb524 Support openrc systems on agent nodes, added openrc test matrix (#489)
Signed-off-by: Derek Nola <derek.nola@suse.com>
2026-01-20 09:29:40 -08:00
Derek Nola 67ca2bfd1c Ensure agents are upgraded correctly, pass token (#484)
Signed-off-by: Derek Nola <derek.nola@suse.com>
2026-01-13 09:41:29 -08:00
Derek Nola a2a36f1fe5 Don't run yamlint on the GHA
Signed-off-by: Derek Nola <derek.nola@suse.com>
2026-01-12 13:32:23 -08:00
Derek Nola 6d6b0b9218 Enforce similar cgroup replacement pattern across OSes, fix lint naming
Signed-off-by: Derek Nola <derek.nola@suse.com>
2026-01-12 13:32:23 -08:00
Derek Nola e4f8d8d737 k3s-upgrade lint naming
Signed-off-by: Derek Nola <derek.nola@suse.com>
2026-01-12 13:32:23 -08:00
Ken Powers 974b92d9f1 Fix typo in README regarding requirements file (#487)
Signed-off-by: Ken Powers <ken@kenpowers.net>
2026-01-12 10:10:18 -08:00
Gilles H. 59a223adab archlinux: add support for rpi5 and arm (#486)
Signed-off-by: Gilles Habran <gilleshabran@protonmail.com>
2026-01-12 10:10:08 -08:00
Aleksei Sviridkin 826c53975d fix(ansible): replace deprecated entities and sync version requirements (#478)
* refactor(ansible): replace deprecated with_items and ansible facts

Replace deprecated `with_items` with `loop` keyword across all roles.
Migrate from legacy `ansible_*` top-level facts to `ansible_facts['*']`
syntax to prepare for ansible-core 2.24 where INJECT_FACTS_AS_VARS
will default to False.

Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: Aleksei Sviridkin <f@lex.la>

* chore(ansible): sync minimum version requirements to 2.15

Align version checks in prereq and airgap roles with README requirement
of ansible-core 2.15+.

Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: Aleksei Sviridkin <f@lex.la>

---------

Signed-off-by: Aleksei Sviridkin <f@lex.la>
Co-authored-by: Claude <noreply@anthropic.com>
2025-12-22 10:11:29 -08:00
ppascente e11ff62d8f fix token management task to include regex_escape for special characters (#481)
Signed-off-by: Pete Pascente <ppascente@allete.com>
Co-authored-by: Pete Pascente <ppascente@allete.com>
2025-12-22 09:36:23 -08:00
Mörgæsis 1dcc7a6267 chore: document how to incorporate into existing project
* chore: document that you need to run the airgap role

Signed-off-by: Mörgæsis <morgaesis+git@morgaes.is>
2025-12-15 09:51:43 -08:00
Aleksei Sviridkin 49b810c948 feat(k3s_upgrade): regenerate service files from templates instead of restoring backups (#474)
* feat(k3s_upgrade): regenerate service files from templates instead of restoring backups

The k3s_upgrade role previously restored backup service files after binary
upgrade, which meant any changes to extra_server_args or extra_agent_args
would not be applied during upgrades.

This change:
- Replaces backup restoration with template-based service file regeneration
- Reuses templates from k3s_server role via symlink
- Adds necessary defaults for template variables

Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: Aleksei Sviridkin <f@lex.la>
2025-12-11 10:54:58 -08:00
Derek Nola 53c35bac5f Add basic integration test (#471)
Signed-off-by: Derek Nola <derek.nola@suse.com>
2025-12-05 10:25:41 -08:00
Derek Nola 66ce443c2c Fix changelog comparison line
Signed-off-by: Derek Nola <derek.nola@suse.com>
2025-12-04 12:26:42 -08:00
Derek Nola f85bc4d014 Publish 1.1.1 tag
Signed-off-by: Derek Nola <derek.nola@suse.com>
1.1.1
2025-12-04 12:24:00 -08:00
Derek Nola 6737051311 Improve capture regex for k3s-agent service replacement (#470)
Signed-off-by: Derek Nola <derek.nola@suse.com>
2025-12-04 12:14:23 -08:00