mirror of
https://github.com/techno-tim/k3s-ansible.git
synced 2026-08-08 23:13:19 +02:00
52c086d638
- roles/k3s_server_post/templates/metallb.crs.j2: render spec.interfaces in the L2Advertisement when metal_lb_interfaces is a non-empty list, so MetalLB only announces on the configured interfaces. Empty list (default) keeps announcing on all interfaces, preserving existing behavior. - roles/k3s_server_post/defaults/main.yml: add metal_lb_interfaces: [] default - roles/k3s_server_post/meta/main.yml: add metal_lb_interfaces argument_spec - inventory/sample/group_vars/all.yml: document the new sample variable - .github/scripts/test-metallb-interfaces.py: regression test rendering the template for empty/single/multiple interfaces and confirming the BGP path is unaffected - .pre-commit-config.yaml: wire the new test into pre-commit Co-authored-by: Leo <leo@kuboschek.me>
121 lines
4.7 KiB
YAML
121 lines
4.7 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: cilium-envoy-toggle-test
|
|
name: Cilium Envoy toggle test
|
|
entry: python3 .github/scripts/test-cilium-envoy-toggle.py
|
|
language: python
|
|
additional_dependencies:
|
|
- Jinja2>=3.1
|
|
- PyYAML
|
|
pass_filenames: false
|
|
files: ^roles/k3s_server_post/tasks/cilium\.yml$|^\.github/scripts/test-cilium-envoy-toggle\.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: metallb-interfaces-test
|
|
name: MetalLB interfaces test
|
|
entry: python3 .github/scripts/test-metallb-interfaces.py
|
|
language: python
|
|
additional_dependencies:
|
|
- Jinja2>=3.1
|
|
pass_filenames: false
|
|
files: ^roles/k3s_server_post/templates/metallb\.crs\.j2$|^\.github/scripts/test-metallb-interfaces\.py$
|
|
- id: metallb-deploy-condition-test
|
|
name: MetalLB deploy condition test
|
|
entry: python3 .github/scripts/test-metallb-deploy-condition.py
|
|
language: python
|
|
additional_dependencies:
|
|
- Jinja2>=3.1
|
|
- PyYAML
|
|
pass_filenames: false
|
|
files: ^roles/k3s_server/tasks/main\.yml$|^roles/k3s_server_post/tasks/main\.yml$|^\.github/scripts/test-metallb-deploy-condition\.py$ # noqa yaml[line-length]
|
|
- 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$
|