For improved flexibility and maintainability.
* Update tasks in node role to use 'group_name_master' variable instead
of hardcoded 'master' group name
* Update tasks in master role to use 'group_name_master' variable instead
of hardcoded 'master' group name
* Update tasks in post role to use 'group_name_master' variable instead of
hardcoded 'master' group name
Signed-off-by: Christian Berendt <berendt@23technologies.cloud>
* Update pre-commit actions
This was done by running "pre-commit autoupdate --freeze".
* Remove pre-commit only dependencies from requirements.in
Including them in the file would create the illusion that those were the
versions actually used in CI, but they are not. The exact versions are
determined by the pre-commit hooks which are pinned in
.pre-commit-config.yaml.
* Ansible Lint: Fix role-name[path]
* Ansible Lint: Fix name[play]
* Ansible Lint: Fix key-order[task]
* Ansible Lint: Fix jinja[spacing]
* Ansible Lint: Fix no-free-form
* Ansible Lint: Fix var-naming[no-reserved]
* Ansible Lint: Fix yaml[comments]
* Ansible Lint: Fix yaml[line-length]
* Ansible Lint: Fix name[casing]
* Ansible Lint: Fix no-changed-when
* Ansible Lint: Fix fqcn[action]
* Ansible Lint: Fix args[module]
* Improve task naming
* Add metallb frr and bgp support
* Set metallb mode to layer2 as default in sample
* Add BGP resource check
* Add automatic downloading of metallb-frr
* Remove frr manifest
* Download MetalLB CRDs for respective versions
This ensures that the CRDs match the actual MetalLB controller version,
as given by the user.
* Download VIP RBAC definitions for respective version
* Apply "become" on roles instead of plays
This leads to facts being gathered for the "regular" login user, instead
of root.
* Do not rely on ansible_user
Instead of reading ansible_user (which may or may not be defined), this
patch lets the roles rely on Ansible facts [1].
[1]: https://docs.ansible.com/ansible/latest/playbook_guide/playbooks_vars_facts.html
* chore(dependencies): updated kube-vip to 0.5.6
* fix(pre-commit): pin to hash
* fix(pre-commit): added more hooks and fixed lint
* fix(pre-commit): added pre-commit hook so we don't have to run it manually
* fix(pre-commit): Added docs to readme
* fix(pre-commit): added texthooks
* fix(pre-commit): pin to hash
* fix(pre-commit): added mor hooks and fixed lint
* fix(lint): Fixing quotes
* fix(ci): only run test if linting passes
* fix(ci): convert to reusable workflows
* fix(pr template): Reorder steps
* add virtual-ip to certificate SAN entries
Adds the kube-vip IP as a Subject Alternative Name in the TLS cert. It is needed otherwise you cannot access the cluster.
* fixes bug with master taints (#1)
- improves taint logic
* fixes typo
* fixes formatting
* fixes undefined group['node'] if missing from hosts.ini (#2)
* fixes undefined group['node'] if missing from hosts.ini
- improves application of master taint by centralizing code
* improves molecule testing, fixes linting
* hacking at linter problems, small tweaks
- increases the metallb timeout error due to intermittent testing errors in GitHub actions
* improves context by renaming taint variable
- makes variable boolean
* fix bug
* removes linting hacks
Co-authored-by: Ioannis Angelakopoulos <ioangel@gmail.com>
* Test cluster using molecule
* Fix detection of first control node
* Include --flannel-iface and --node-ip as k3s arguments
* Store logs of k3s-init.service as GitHub job artifacts