Commit Graph
24 Commits
Author SHA1 Message Date
Kris 1a600b60d3 feat: make the server config file mode configurable (#561)
* feat: make the server config file mode configurable

/etc/rancher/k3s/config.yaml holds the cluster token. The server and
upgrade roles write it at 0644, so every local account on a server node
can read the credential that joins a node to the cluster.

k3s_server_config_mode sets the mode of that file in both roles. It
defaults to 0644, so behaviour is unchanged unless it is set.

Signed-off-by: Kristofer <kristofer@atlascloud.is>

* docs: describe the server config file contents accurately

/etc/rancher/k3s/config.yaml does not always carry the cluster token. A
first server that lets K3s generate one writes the file without it, so the
file can contain the token rather than always holding it. Correct that
claim in the README, the inventory sample and the role default, and use
the US spelling of "honors".

Signed-off-by: Kristofer <kristofer@atlascloud.is>

* Name the floor the config file mode can be narrowed to

Saying any mode root can read works leaves the reader to work out what
that means in practice. The file is read only by k3s, running as root, so
0600 is the tightest mode that still works.

Signed-off-by: Kristofer <kristofer@atlascloud.is>

* Run the basic integration job with a non-default config file mode

The templated mode was only ever rendered with its default in CI, which
is the one value that cannot tell a working template from a broken one.
The basic inventory sets 0640 and the job reads the mode back off the
installed file.

Signed-off-by: Kristofer <kristofer@atlascloud.is>

---------

Signed-off-by: Kristofer <kristofer@atlascloud.is>
2026-09-16 11:55:02 -07:00
mbathe19 cb38fd92e3 feat: add firewall variable (#552)
* feat: add firewall variable

Signed-off-by: Michel Bathe <michel.bathe.1996@googlemail.com>

* feat: put manage_firewall dafault in defaults/main.yml

Signed-off-by: Michel Bathe <michel.bathe.1996@googlemail.com>

* fix: lint

Signed-off-by: Michel Bathe <michel.bathe.1996@googlemail.com>

* fix: lint

Signed-off-by: Michel Bathe <michel.bathe.1996@googlemail.com>

---------

Signed-off-by: Michel Bathe <michel.bathe.1996@googlemail.com>
2026-08-13 11:56:16 -07:00
Derek Nola dccb5ed4ad Bump example versions
Signed-off-by: Derek Nola <derek.nola@suse.com>
2025-09-15 12:46:37 -07:00
Derek Nola cd543a660d Inject installation envs for install script (#433)
Signed-off-by: Derek Nola <derek.nola@suse.com>
2025-08-26 09:57:53 -07:00
Tryy3 808070d77e Added agent_config_yaml to inventory-sample documentation (#405)
Signed-off-by: Tryy3 <Dennistryy3@gmail.com>
2025-04-21 11:34:33 -07:00
Derek Nola 2a5a89a5ad Set default empty extra_server_args and extra_agent_args (#377)
Signed-off-by: Derek Nola <derek.nola@suse.com>
2024-11-12 09:11:34 -08:00
anon-software c10b84f0f4 enable autogenerating token (#375)
* Generate token

If a token is not explicitly provided, let the first server generate a
random one. Such a token is saved on the first server and the playbook
can retrieve it from there and store it a a fact. All other servers and
agents can use that token later to join the cluster. It will be saved
into their environment file as usual.

Signed-off-by: Marko Vukovic <8951449+anon-software@users.noreply.github.com>

* Document that token is (mostly) optional now

The token is still required when using Vagrant.

Signed-off-by: Marko Vukovic <8951449+anon-software@users.noreply.github.com>
2024-11-11 13:07:31 -08:00
Peter Klijn b6e4c8b31e Update K3s to latest 1.30 (#348)
Signed-off-by: Peter Klijn <pjmklijn@gmail.com>
2024-07-22 09:33:09 -07:00
Frank Villaro-Dixon 64e38ee702 token: explain how to generate it (#328)
Signed-off-by: Frank Villaro-Dixon <frank@villaro-dixon.eu>
2024-05-17 09:58:57 -07:00
Derek Nola ddc664a7f6 Apply noqa and fix line lenght limit. ansible-lint production profile (#326)
Signed-off-by: Derek Nola <derek.nola@suse.com>
2024-05-03 09:38:01 -07:00
dreamingdeeranddreamingdeer 33c15e7c2f feat add custom registries_config_yaml for private-registry (#319)
* feat add custom registries_config_yaml for private-registry

Signed-off-by: dreamingdeer <dreamingdeer@yandex.ru>
Co-authored-by: dreamingdeer <dreamingdeer@yandex.ru>
2024-04-02 12:24:23 -07:00
c84c1ce5b1 Added custom context name (#315)
* Added custom context name

Signed-off-by: Vivek Sarin <vivek@sarin.info>
Signed-off-by: Derek Nola <derek.nola@suse.com>
Co-authored-by: Vivek Sarin <vivek@sarin.info>
Co-authored-by: Derek Nola <derek.nola@suse.com>
2024-04-01 09:35:55 -07:00
Derek Nola 7df05a755b Completely setup kubectl for ansible_user, with option to disable it (#278)
Signed-off-by: Derek Nola <derek.nola@suse.com>
2023-12-13 12:59:04 -08:00
Derek Nola 1c11767619 Only setup/cleanup yaml config for servers (#272)
Signed-off-by: Derek Nola <derek.nola@suse.com>
2023-12-06 13:55:32 -08:00
Derek Nola 52941b749b Airgap Support (#253)
* Initial airgap support
* Support any of the compressed image formats
* Add airgap section to README
* Support Airgap SElinux RPM install

Signed-off-by: Derek Nola <derek.nola@suse.com>
2023-11-14 14:36:15 -08:00
Derek Nola 46a842a551 Support K3s config yaml (#252)
* Support K3s config yaml

Signed-off-by: Derek Nola <derek.nola@suse.com>
2023-11-13 14:09:15 -08:00
Derek Nolaandgarb4ge 157e2eb432 Fix inventory-sample and adapt README for multiple nodes (#250)
Signed-off-by: Derek Nola <derek.nola@suse.com>
Co-authored-by: garb4ge <93313883+garb4ge@users.noreply.github.com>
2023-11-13 10:10:56 -08:00
Derek Nola e01a8a2a8a Extra Manifest delpoyment (#244)
* Allow additional manifests to be deployed

Signed-off-by: Derek Nola <derek.nola@suse.com>
2023-11-10 12:13:39 -08:00
Derek Nola 45289ba7d9 Add support for Rocky, bump default install version (#238)
Signed-off-by: Derek Nola <derek.nola@suse.com>
2023-11-09 12:56:38 -08:00
Derek Nola e6233d9f7d Add support for Service Envs (#237)
* Add support for service ENVs
* Rename PR template
Signed-off-by: Derek Nola <derek.nola@suse.com>
2023-11-09 12:30:18 -08:00
Derek Nola 565c9fa049 Enforce use of a defined token. Simplifies additional server and agent joining process.
Signed-off-by: Derek Nola <derek.nola@suse.com>
2023-11-08 14:38:57 -08:00
Derek Nola 9ecdc933ca Add Vagrantfile for local testing
Signed-off-by: Derek Nola <derek.nola@suse.com>
2023-11-08 13:42:11 -08:00
Nicholas Malcolm cd725780f5 Move k3s_server_location to inventory vars
- All environemt variables are now in one place
- Add --data-dir option to agent and init  service

Signed-off-by: Derek Nola <derek.nola@suse.com>
2023-11-08 10:23:56 -08:00
Nicholas Malcolm df67c61ba5 Add HA option, change to yaml inventory, cleanup
- HA option for multiple server nodes using embedded etcd
- Switch to yaml inventory file for easier editing and combining vars
- Update to full ansible module names
- Change master/node names to server/agent
- Cleanup small linting errors
- Add reboot playbook which staggers reboot to keep HA cluster up
- Move playbooks to playbook directory

Signed-off-by: Derek Nola <derek.nola@suse.com>
2023-11-08 10:23:56 -08:00