mirror of
https://github.com/techno-tim/k3s-ansible.git
synced 2026-08-09 07:23:19 +02:00
f5483cdabe
* fix(flannel): default the interface to each host's default IPv4 interface - Replace the hardcoded flannel_iface: eth0 with a per-host default derived from ansible_facts.default_ipv4.interface - KVM/cloud hosts that are not named eth0 (e.g. enp1s0, ens3) now resolve the interface automatically instead of failing the k3s_node_ip lookup - Update the commented calico_iface / cilium_iface examples to match - Co-authored-by: Fritz Dunkel <677609+FinalDoom@users.noreply.github.com> - Fixes #621 * test(flannel): add regression test for per-host interface default - Add a focused test that renders the sample inventory's flannel_iface expression against fake ansible facts - Assert a non-eth0 host (enp1s0, ens3) resolves its own interface and that the expression defaults from ansible_facts.default_ipv4.interface - Wire it as a local pre-commit hook (default-interface-test) * test(molecule): assert nodes register a non-loopback InternalIP - Add a flannel-scenario verify assertion that every node reports an InternalIP derived from its configured flannel_iface - Guards against k3s binding to 127.0.0.1 instead of the cluster interface - Complements the pre-commit default-interface test with an end-to-end check
95 lines
3.6 KiB
YAML
95 lines
3.6 KiB
YAML
---
|
|
repos:
|
|
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
rev: v4.5.0
|
|
hooks:
|
|
- id: requirements-txt-fixer
|
|
- id: sort-simple-yaml
|
|
- id: detect-private-key
|
|
- id: check-merge-conflict
|
|
- id: end-of-file-fixer
|
|
- id: mixed-line-ending
|
|
- id: trailing-whitespace
|
|
args: [--markdown-linebreak-ext=md]
|
|
- repo: https://github.com/adrienverge/yamllint.git
|
|
rev: v1.33.0
|
|
hooks:
|
|
- id: yamllint
|
|
args: [-c=.yamllint]
|
|
- repo: https://github.com/ansible-community/ansible-lint.git
|
|
rev: v6.22.2
|
|
hooks:
|
|
- id: ansible-lint
|
|
additional_dependencies: [ansible-core==2.18.0]
|
|
language_version: python3.12
|
|
args: [--offline]
|
|
- repo: https://github.com/shellcheck-py/shellcheck-py
|
|
rev: v0.9.0.6
|
|
hooks:
|
|
- id: shellcheck
|
|
- repo: https://github.com/Lucas-C/pre-commit-hooks
|
|
rev: v1.5.4
|
|
hooks:
|
|
- id: remove-crlf
|
|
- id: remove-tabs
|
|
- repo: https://github.com/sirosen/texthooks
|
|
rev: 0.6.4
|
|
hooks:
|
|
- id: fix-smartquotes
|
|
- repo: local
|
|
hooks:
|
|
- id: cleanup-runner-resources-test
|
|
name: cleanup runner resources test
|
|
entry: .github/scripts/test-cleanup-runner-resources.sh
|
|
language: system
|
|
pass_filenames: false
|
|
files: ^\.github/scripts/(cleanup-runner-resources|test-cleanup-runner-resources)\.sh$
|
|
- id: download-vagrant-boxes-test
|
|
name: Vagrant box download test
|
|
entry: .github/test-download-boxes.sh
|
|
language: system
|
|
pass_filenames: false
|
|
files: ^\.github/(download-boxes|test-download-boxes)\.sh$|^\.github/vagrant-boxes\.lock$
|
|
- id: prepare-vagrant-box-masters-test
|
|
name: Vagrant box master preparation test
|
|
entry: .github/scripts/test-prepare-vagrant-box-masters.sh
|
|
language: system
|
|
pass_filenames: false
|
|
files: ^\.github/scripts/(prepare-vagrant-box-masters|test-prepare-vagrant-box-masters)\.sh$
|
|
- id: k3s-server-bootstrap-test
|
|
name: K3s transient bootstrap test
|
|
entry: .github/scripts/test-k3s-server-bootstrap.sh
|
|
language: system
|
|
pass_filenames: false
|
|
files: ^roles/k3s_server/tasks/(main|join_master)\.yml$|^\.github/scripts/test-k3s-server-bootstrap\.sh$
|
|
- id: cilium-bgp-manifest-test
|
|
name: Cilium BGP manifest test
|
|
entry: python3 .github/scripts/test-cilium-bgp-manifest.py
|
|
language: python
|
|
additional_dependencies:
|
|
- Jinja2>=3.1
|
|
pass_filenames: false
|
|
files: ^roles/k3s_server_post/templates/cilium\.crs\.j2$|^\.github/scripts/test-cilium-bgp-manifest\.py$
|
|
- id: kube-vip-manifest-test
|
|
name: kube-vip manifest test
|
|
entry: python3 .github/scripts/test-kube-vip-manifest.py
|
|
language: python
|
|
additional_dependencies:
|
|
- Jinja2>=3.1
|
|
pass_filenames: false
|
|
files: ^roles/k3s_server/templates/vip\.yaml\.j2$|^\.github/scripts/test-kube-vip-manifest\.py$
|
|
- id: metallb-remote-read-test
|
|
name: MetalLB remote read test
|
|
entry: .github/scripts/test-metallb-remote-read.sh
|
|
language: system
|
|
pass_filenames: false
|
|
files: ^roles/k3s_server/tasks/metallb\.yml$|^\.github/scripts/test-metallb-remote-read\.sh$
|
|
- id: default-interface-test
|
|
name: default interface test
|
|
entry: python3 .github/scripts/test-default-interface.py
|
|
language: python
|
|
additional_dependencies:
|
|
- Jinja2>=3.1
|
|
pass_filenames: false
|
|
files: ^inventory/sample/group_vars/all\.yml$|^\.github/scripts/test-default-interface\.py$
|