74 lines
2.2 KiB
YAML
74 lines
2.2 KiB
YAML
---
|
|
- name: Deploy 03-01 Traefik Dashboard (HelmChartConfig + IngressRoute)
|
|
hosts: k3s_server
|
|
become: true
|
|
run_once: true
|
|
vars:
|
|
k3s_kubeconfig: /etc/rancher/k3s/k3s.yaml
|
|
manifest_src: "{{ playbook_dir }}/../../files/03-01/traefik-dashboard.yaml"
|
|
manifest_dest: /tmp/traefik-dashboard.yaml
|
|
tasks:
|
|
- name: Copy manifest
|
|
ansible.builtin.copy:
|
|
src: "{{ manifest_src }}"
|
|
dest: "{{ manifest_dest }}"
|
|
mode: "0644"
|
|
|
|
- name: Apply manifest
|
|
ansible.builtin.shell: |
|
|
set -e
|
|
KUBECONFIG={{ k3s_kubeconfig }} kubectl apply -f {{ manifest_dest }}
|
|
args:
|
|
executable: /bin/bash
|
|
changed_when: true
|
|
|
|
- name: Verify 03-01 Traefik Dashboard (resource existence + rollout)
|
|
hosts: k3s_server
|
|
become: true
|
|
run_once: true
|
|
vars:
|
|
k3s_kubeconfig: /etc/rancher/k3s/k3s.yaml
|
|
tasks:
|
|
- name: Rollout status traefik (kube-system)
|
|
ansible.builtin.shell: |
|
|
set -e
|
|
KUBECONFIG={{ k3s_kubeconfig }} kubectl rollout status deployment/traefik -n kube-system --timeout=240s
|
|
args:
|
|
executable: /bin/bash
|
|
changed_when: false
|
|
|
|
- name: Assert HelmChartConfig exists
|
|
ansible.builtin.shell: |
|
|
set -e
|
|
KUBECONFIG={{ k3s_kubeconfig }} kubectl -n kube-system get helmchartconfig traefik
|
|
args:
|
|
executable: /bin/bash
|
|
changed_when: false
|
|
|
|
- name: Assert IngressRoute traefik-dashboard exists
|
|
ansible.builtin.shell: |
|
|
set -e
|
|
KUBECONFIG={{ k3s_kubeconfig }} kubectl -n kube-system get ingressroute traefik-dashboard
|
|
args:
|
|
executable: /bin/bash
|
|
changed_when: false
|
|
|
|
- name: Teardown 03-01 Traefik Dashboard (optional)
|
|
hosts: k3s_server
|
|
become: true
|
|
run_once: true
|
|
vars:
|
|
k3s_kubeconfig: /etc/rancher/k3s/k3s.yaml
|
|
verify_teardown: "{{ (VERIFY_TEARDOWN | default('1')) | string }}"
|
|
manifest_dest: /tmp/traefik-dashboard.yaml
|
|
tasks:
|
|
- name: Delete resources when VERIFY_TEARDOWN=1
|
|
when: verify_teardown == "1"
|
|
ansible.builtin.shell: |
|
|
set -e
|
|
KUBECONFIG={{ k3s_kubeconfig }} kubectl delete -f {{ manifest_dest }} --ignore-not-found=true
|
|
args:
|
|
executable: /bin/bash
|
|
changed_when: true
|
|
|