diff --git a/.github/workflows/cache.yml b/.github/workflows/cache.yml index 64c1ce7..61a67cb 100644 --- a/.github/workflows/cache.yml +++ b/.github/workflows/cache.yml @@ -11,7 +11,7 @@ jobs: steps: - name: Check out the codebase - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # 4.1.4 + uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # 4.1.7 with: ref: ${{ github.event.pull_request.head.sha }} @@ -23,7 +23,7 @@ jobs: - name: Cache Vagrant boxes id: cache-vagrant - uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # 4.0 + uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # 4.0.2 with: lookup-only: true #if it exists, we don't need to restore and can skip the next step path: | diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 8029291..b10e0a0 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -11,7 +11,7 @@ jobs: steps: - name: Check out the codebase - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # 4.1.4 + uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # 4.1.7 with: ref: ${{ github.event.pull_request.head.sha }} @@ -22,7 +22,7 @@ jobs: cache: 'pip' # caching pip dependencies - name: Restore Ansible cache - uses: actions/cache/restore@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # 4.0 + uses: actions/cache/restore@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # 4.0.2 with: path: ~/.ansible/collections key: ansible-${{ hashFiles('collections/requirements.yml') }} @@ -45,9 +45,9 @@ jobs: runs-on: self-hosted steps: - name: Checkout code - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # 4.1.4 + uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # 4.1.7 - name: Ensure SHA pinned actions - uses: zgosalvez/github-actions-ensure-sha-pinned-actions@40e45e738b3cad2729f599d8afc6ed02184e1dbd # 3.0.5 + uses: zgosalvez/github-actions-ensure-sha-pinned-actions@74606c30450304eee8660aae751818321754feb1 # 3.0.9 with: allowlist: | aws-actions/ diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 4249d88..8868363 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -21,7 +21,7 @@ jobs: steps: - name: Check out the codebase - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # 4.1.4 + uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # 4.1.7 with: ref: ${{ github.event.pull_request.head.sha }} @@ -65,7 +65,7 @@ jobs: cache: 'pip' # caching pip dependencies - name: Restore vagrant Boxes cache - uses: actions/cache/restore@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # 4.0 + uses: actions/cache/restore@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # 4.0.2 with: path: ~/.vagrant.d/boxes key: vagrant-boxes-${{ hashFiles('**/molecule.yml') }} diff --git a/inventory/sample/group_vars/all.yml b/inventory/sample/group_vars/all.yml index 909746d..01b1fe9 100644 --- a/inventory/sample/group_vars/all.yml +++ b/inventory/sample/group_vars/all.yml @@ -1,5 +1,5 @@ --- -k3s_version: v1.29.2+k3s1 +k3s_version: v1.30.2+k3s2 # this is the user that has ssh access to these machines ansible_user: ansibleuser systemd_dir: /etc/systemd/system @@ -13,13 +13,13 @@ flannel_iface: "eth0" # uncomment calico_iface to use tigera operator/calico cni instead of flannel https://docs.tigera.io/calico/latest/about # calico_iface: "eth0" calico_ebpf: false # use eBPF dataplane instead of iptables -calico_tag: "v3.27.2" # calico version tag +calico_tag: "v3.28.0" # calico version tag # uncomment cilium_iface to use cilium cni instead of flannel or calico # ensure v4.19.57, v5.1.16, v5.2.0 or more recent kernel # cilium_iface: "eth0" cilium_mode: "native" # native when nodes on same subnet or using bgp, else set routed -cilium_tag: "v1.15.2" # cilium version tag +cilium_tag: "v1.16.0" # cilium version tag cilium_hubble: true # enable hubble observability relay and ui # if using calico or cilium, you may specify the cluster pod cidr pool @@ -72,7 +72,7 @@ extra_agent_args: >- {{ extra_args }} # image tag for kube-vip -kube_vip_tag_version: "v0.7.2" +kube_vip_tag_version: "v0.8.2" # tag for kube-vip-cloud-provider manifest # kube_vip_cloud_provider_tag_version: "main" @@ -93,8 +93,8 @@ metal_lb_mode: "layer2" # metal_lb_bgp_peer_address: "192.168.30.1" # image tag for metal lb -metal_lb_speaker_tag_version: "v0.14.3" -metal_lb_controller_tag_version: "v0.14.3" +metal_lb_speaker_tag_version: "v0.14.8" +metal_lb_controller_tag_version: "v0.14.8" # metallb ip range for load balancer metal_lb_ip_range: "192.168.30.80-192.168.30.90" diff --git a/requirements.txt b/requirements.txt index 5c1926d..079e561 100644 --- a/requirements.txt +++ b/requirements.txt @@ -96,7 +96,7 @@ platformdirs==4.1.0 # via virtualenv pluggy==1.3.0 # via molecule -pre-commit==3.7.0 +pre-commit==3.7.1 # via -r requirements.in pre-commit-hooks==4.6.0 # via -r requirements.in diff --git a/roles/k3s_server_post/tasks/metallb.yml b/roles/k3s_server_post/tasks/metallb.yml index 07a23b0..7699fb4 100644 --- a/roles/k3s_server_post/tasks/metallb.yml +++ b/roles/k3s_server_post/tasks/metallb.yml @@ -83,9 +83,23 @@ loop_control: label: "{{ item.description }}" +- name: Set metallb webhook service name + set_fact: + metallb_webhook_service_name: >- + {{ + ( + (metal_lb_controller_tag_version | regex_replace('^v', '')) + is + version('0.14.4', '<', version_type='semver') + ) | ternary( + 'webhook-service', + 'metallb-webhook-service' + ) + }} + - name: Test metallb-system webhook-service endpoint command: >- - k3s kubectl -n metallb-system get endpoints webhook-service + k3s kubectl -n metallb-system get endpoints {{ metallb_webhook_service_name }} changed_when: false with_items: "{{ groups[group_name_master | default('master')] }}" run_once: true diff --git a/roles/k3s_server_post/templates/cilium.crs.j2 b/roles/k3s_server_post/templates/cilium.crs.j2 index 513ca07..5745a3b 100644 --- a/roles/k3s_server_post/templates/cilium.crs.j2 +++ b/roles/k3s_server_post/templates/cilium.crs.j2 @@ -25,5 +25,10 @@ kind: CiliumLoadBalancerIPPool metadata: name: "01-lb-pool" spec: - cidrs: - - cidr: "{{ cilium_bgp_lb_cidr }}" + blocks: +{% if "/" in cilium_bgp_lb_cidr %} + - cidr: {{ cilium_bgp_lb_cidr }} +{% else %} + - start: {{ cilium_bgp_lb_cidr.split('-')[0] }} + stop: {{ cilium_bgp_lb_cidr.split('-')[1] }} +{% endif %}