mirror of
https://github.com/PyratLabs/ansible-role-k3s
synced 2024-12-14 23:00:21 +01:00
63 lines
2.5 KiB
YAML
63 lines
2.5 KiB
YAML
|
---
|
||
|
|
||
|
- name: Ensure that the manifests directory exists
|
||
|
ansible.builtin.file:
|
||
|
state: directory
|
||
|
path: "{{ k3s_server_manifests_dir }}"
|
||
|
mode: 0755
|
||
|
when: >-
|
||
|
k3s_server_manifests_templates | length > 0
|
||
|
or k3s_server_manifests_urls | length > 0
|
||
|
become: "{{ k3s_become_for_directory_creation | ternary(true, false, k3s_become_for_all) }}"
|
||
|
|
||
|
- name: Ensure that the pod-manifests directory exists
|
||
|
ansible.builtin.file:
|
||
|
state: directory
|
||
|
path: "{{ k3s_server_pod_manifests_dir }}"
|
||
|
mode: 0755
|
||
|
when: >-
|
||
|
k3s_server_pod_manifests_templates | length > 0
|
||
|
or k3s_server_pod_manifests_urls | length > 0
|
||
|
become: "{{ k3s_become_for_directory_creation | ternary(true, false, k3s_become_for_all) }}"
|
||
|
|
||
|
# https://rancher.com/docs/k3s/latest/en/advanced/#auto-deploying-manifests
|
||
|
- name: Ensure auto-deploying manifests are copied to the primary controller
|
||
|
ansible.builtin.template:
|
||
|
src: "{{ item }}"
|
||
|
dest: "{{ k3s_server_manifests_dir }}/{{ item | basename | replace('.j2','') }}"
|
||
|
mode: 0644
|
||
|
loop: "{{ k3s_server_manifests_templates }}"
|
||
|
become: "{{ k3s_become_for_directory_creation | ternary(true, false, k3s_become_for_all) }}"
|
||
|
when:
|
||
|
- k3s_server_manifests_templates | length > 0
|
||
|
|
||
|
- name: Ensure auto-deploying manifests are downloaded to the primary controller
|
||
|
ansible.builtin.get_url:
|
||
|
url: "{{ item.url }}"
|
||
|
dest: "{{ k3s_server_manifests_dir }}/{{ item.filename }}"
|
||
|
mode: 0644
|
||
|
loop: "{{ k3s_server_manifests_urls }}"
|
||
|
become: "{{ k3s_become_for_directory_creation | ternary(true, false, k3s_become_for_all) }}"
|
||
|
when:
|
||
|
- not ansible_check_mode
|
||
|
- k3s_server_manifests_urls | length > 0
|
||
|
|
||
|
# https://github.com/k3s-io/k3s/pull/1691
|
||
|
- name: Ensure static pod manifests are copied to controllers
|
||
|
ansible.builtin.template:
|
||
|
src: "{{ item }}"
|
||
|
dest: "{{ k3s_server_pod_manifests_dir }}/{{ item | basename | replace('.j2','') }}"
|
||
|
mode: 0644
|
||
|
loop: "{{ k3s_server_pod_manifests_templates }}"
|
||
|
become: "{{ k3s_become_for_directory_creation | ternary(true, false, k3s_become_for_all) }}"
|
||
|
|
||
|
# https://rancher.com/docs/k3s/latest/en/advanced/#auto-deploying-manifests
|
||
|
- name: Ensure auto-deploying manifests are downloaded to the primary controller
|
||
|
ansible.builtin.get_url:
|
||
|
url: "{{ item.url }}"
|
||
|
dest: "{{ k3s_server_pod_manifests_dir }}/{{ item.filename }}"
|
||
|
mode: 0644
|
||
|
loop: "{{ k3s_server_pod_manifests_urls }}"
|
||
|
become: "{{ k3s_become_for_directory_creation | ternary(true, false, k3s_become_for_all) }}"
|
||
|
when: not ansible_check_mode
|