50 lines
1.5 KiB
YAML
50 lines
1.5 KiB
YAML
---
|
|
|
|
# Save the manifests in a dir so that diff's can be shown for changes
|
|
- name: Copy Manifest for addition - {{ manifest.name }}
|
|
ansible.builtin.template:
|
|
src: "{{ manifest.template }}"
|
|
dest: "/var/lib/rancher/k3s/ansible/{{ manifest.template | lower | replace('.j2', '') }}"
|
|
mode: '744'
|
|
become: true
|
|
diff: true
|
|
|
|
|
|
- name: Try / Catch
|
|
block:
|
|
|
|
# Try to create first, if fail use replace.
|
|
- name: Apply Manifest Create - {{ manifest.name }}
|
|
ansible.builtin.command:
|
|
cmd: "kubectl create -f /var/lib/rancher/k3s/ansible/{{ manifest.template | lower | replace('.j2', '') }}"
|
|
become: true
|
|
changed_when: false
|
|
failed_when: >
|
|
'Error from server' in manifest_stdout.stderr
|
|
register: manifest_stdout
|
|
|
|
|
|
rescue:
|
|
|
|
|
|
- name: TRACE - Manifest Create - {{ manifest.name }}
|
|
ansible.builtin.debug:
|
|
msg: "{{ manifest_stdout }}"
|
|
|
|
|
|
- name: Replace Manifests - "Rescue" - {{ manifest.name }}
|
|
ansible.builtin.command:
|
|
cmd: "kubectl replace -f /var/lib/rancher/k3s/ansible/{{ manifest.template | lower | replace('.j2', '') }}"
|
|
become: true
|
|
changed_when: false
|
|
failed_when: >
|
|
'Error from server' in manifest_stdout.stderr
|
|
and
|
|
'ensure CRDs are installed first' in manifest_stdout.stderr
|
|
register: manifest_stdout
|
|
|
|
|
|
- name: TRACE - Replace Manifest - "Rescue" - {{ manifest.name }}
|
|
ansible.builtin.debug:
|
|
msg: "{{ manifest_stdout }}"
|