- fix: resolve ansible lint warnings and fix molecule tests in github actions
- refactor: add
until: 1.23.15
tosecrets-encryption
fromk3s_experimental_config
as it is no longer experimental. Fixes #200. - docs(fix): typo in
CONTRIBUTING.md
- fix: length indentation in registry.yaml
- fix:
no_log
removed fromansible.builtin.uri
tasks - feat:
k3s_skip_post_checks
option added
- feature: added support for alpine #182
- fix:
k3s_control_token
not working #187
- fix: molecule tests
- fix: support nftables for debian 11
- feat: use basename of url for items in
k3s_server_manifests_urls
andk3s_server_pod_manifests_urls
if filename is not provided #177
- fix: adding become to pre checks packages #173
- feat: Flattened task filesystem
- feat: Moved some tasks into
vars/
as templated variables - feat: Airgap installation method added #165
- Minimum
python
version on targets is 3.6 k3s_become_for_all
renamed tok3s_become
k3s_become_for_*
removed.
- Fix typo in systemd unit file
- Fix RockyLinux HA etcd tests
- add Debian 11 test
- Fix Snapshotter in Molecule tests
- Added missing documentation for
k3s_api_url
- Added option to change K3s updates API url
- Custom environment variables in systemd unit files
- Debian Bullseye support
- Fix HA etcd cluster startup
- Fix rootless for Debian
- docs: fixed references to
write-kubeconfig-mode
to set correct permissions #157 - fix: Flag --delete-local-data has been deprecated #159
- docs: example of IPv6 configuration
- feat: checks for s3 backup configuration
- feat: implement config.yaml.d
- Fix: Define registration address from node-ip #142
- Add advertised address #139
- Updated systemd template to use token when joining a cluster #138
- fix: typo #133
- fix: restore clustering and avoid failure with jinja2_native=true #135
- fix: do ignore etcd member count when uninstalling #136
- Role is now tested against RockyLinux
- Case insensitive control node lookup #126
- Only deploy templates on primary controller #119
- Allow control plane static pods #120
- Add support for specifying URLs in templates #124
- Documentation, remove references to deprecated configuration techniques #115
- Bugfix: Templating issue.
- Feature: Support k3s private registry configuration #114
- Bugfix: Unmount CSI plugin folder to avoid data lost on uninstall #113
- Fixed issue with draining nodes #112
- Typo fix in README.md #110
- Fixed check mode for cgroup test #111
- Added check mode into molecule test sequence
inventory.yml
is nowblockinfile
- #105 - Added Ansible v2.9.16 support
- #102 - Pre-check for cgroup status
- As per README.md, you require
ansible
>= 2.9.16 oransible-base
>= 2.10.4. See #105(comment)
- #100 - Fixed typo in README.md
Happy π day!
- Updated GitHub Actions, resolved linting errors.
- Renamed
k3s_control_node_address
->k3s_registration_address
- A task has been added to rename
k3s_control_node_address
tok3s_registration_address
for any users still using this variable name, however this might still break something.
- Bugfix, missing become on cluster token check.
- Cluster init checks added.
- Tidy up of tasks, failed checks.
- Possible fix for #93 - force draining of nodes added.
- Bugfix: Templating error for single control plane nodes using Etcd.
- Bugfix: a number of typos fixed.
- Tidy up of
when
params andassert
tasks to be more readable. - Added feature to tweak K3S service dependencies.
- Updated documentation:
- Node labels and component arguments
- systemd config
- Use alternate CNI (Calico example)
- Bugfix, missing update to minimum ansible version var #91.
- Bugfix, missing
k3s_start_on_boot
to controlsystemd.enabled
added.
- Added uninstall task to remove hard-linked files #88
- Fixed missing become for
systemd
operations tasks. #89 - Added
k3s_start_on_boot
to controlsystemd.enabled
.
- Added support for Ansible >= 2.9.17 #83
- Bufgix: Installation hangs on "Check that all nodes to be ready" #84
- Bufgix: Docker check still failing on "false"
- Fixed issue with armv6l (Raspberry Pi Zero W)
- Added path for private repositories config to directory creation list.
k3s_config_dir
derived fromk3s_config_file
, reused throughout the role to allow for easy removal of "Rancher" references #73.k3s_token_location
has moved to be ink3s_config_dir
.- Tasks for creating directories now looped to caputure configuration from
k3s_server
andk3s_agent
and ensure directories exist before k3s starts, see #75. - Server token collected directly from token file, not symlinked file (node-token).
k3s_runtime_config
defined invars/
for validation and overwritten in tasks for control plane and workers.- Removed unused references to GitHub API.
set_fact
andcommand
tasks now use FQCN.- Check of
ansible_version
in environment check. - Introduction of target environment checks for #72.
- Fixed bug with non-default listening port not being passed to workers.
- Added ability to put documentation links into validation checks #76.
- Removed the requirement for
jmespath
on the Ansible controller. - Fixed bug with issue data collection tasks.
- Ansible minimum version is hard set to v2.10.4
k3s_token_location
has moved to be ink3s_config_dir
so re-running the role will create a duplicate file here.
- Updated k3s uninstall scripts #74
- Started moving Rancher references to
vars/
as per #73
- Fixed typos in documentation.
- Molecule testing pinned to v3.1 due to tests failing.
- Re-working documentation
- Updated GitHub link, org changed from Rancher to k3s-io.
- Replace deprecated
play_hosts
variable.
- Moving git branch from
master
tomain
.
- Use of FQCNs enforced, minimum Ansible version now v2.10
k3s_etcd_datastore
no longer experimental after K3s version v1.19.5+k3s1- Docker marked as deprecated for K3s > v1.20.0+k3s1
- Use of FQCNs enforced, minimum Ansible version now v2.10
- Use of Docker requires
k3s_use_unsupported_config
to betrue
after v1.20.0+k3s1
- Fixed link to documentation.
- Deprecated configuration check built into validation steps.
- Removed duplicated tasks for single node cluster.
- Added documentation providing quickstart examples and common operations.
- Fixed data-dir configuration.
- Some tweaks to rootless.
- Fix draining and removing of nodes.
k3s_token_location
now points to a file location, not a directory.k3s_systemd_unit_directory
renamed tok3s_systemd_unit_dir
- Removed
k3s_node_data_dir
as this is now configured withdata-dir
ink3s_server
and/ork3s_agent
.
- Rootless is still broken, this is still not supported as a method for running k3s using this role.
- Updated issue template and information collection tasks.
- Fixed a number of typos in the README.md
- Updated the meta/main.yml to put quotes around minimum Ansible version.
- #64 - Initial release of v2.0.0 of ansible-role-k3s.
- Minimum supported k3s version now: v1.19.1+k3s1
- Minimum supported Ansible version now: v2.10.0
- #62 - Remove all references to the word "master".
- #53 - Move to file-based configuration.
- Refactored to avoid duplication in code and make contribution easier.
- Validation checks moved to using variables defined in
vars/
Issue #53
With the release of v1.19.1+k3s1, this role has moved to file-based configuration of k3s. This requires manuall translation of v1 configuration variables into configuration file format.
Please see: https://rancher.com/docs/k3s/latest/en/installation/install-options/#configuration-file
As this role now relies on file-based configuration, the v2.x release of this role will only support v1.19+ of k3s. If you are not in a position to update k3s you will need to continue using the v1.x release of this role, which will be supported until March 2021.
This role now only supports Ansible v2.10+, this is because it has moved on to
using FQDNs, with the exception of set_fact
tasks which have
been broken and the fixes
have not yet been backported to v2.10.
The use of FQDNs allows for custom modules to be introduced to override task behavior. If this role requires a custom ansible module to be introduced then this can be added as a dependency and targeted specifically by using the correct FQDN.