40 lines
1.3 KiB
YAML
40 lines
1.3 KiB
YAML
---
|
|
- name: Check if snapshot namespace exists
|
|
register: snapshot_namespace_exists
|
|
kube:
|
|
kubectl: "{{ bin_dir }}/kubectl"
|
|
name: "{{ snapshot_controller_namespace }}"
|
|
resource: "namespace"
|
|
state: "exists"
|
|
when: inventory_hostname == groups['kube_control_plane'][0]
|
|
tags: snapshot-controller
|
|
|
|
- name: Snapshot Controller | Generate Manifests
|
|
template:
|
|
src: "{{ item.file }}.j2"
|
|
dest: "{{ kube_config_dir }}/{{ item.file }}"
|
|
mode: "0644"
|
|
with_items:
|
|
- {name: snapshot-ns, file: snapshot-ns.yml, apply: not snapshot_namespace_exists}
|
|
- {name: rbac-snapshot-controller, file: rbac-snapshot-controller.yml}
|
|
- {name: snapshot-controller, file: snapshot-controller.yml}
|
|
register: snapshot_controller_manifests
|
|
when:
|
|
- inventory_hostname == groups['kube_control_plane'][0]
|
|
- item.apply | default(True) | bool
|
|
tags: snapshot-controller
|
|
|
|
- name: Snapshot Controller | Apply Manifests
|
|
kube:
|
|
kubectl: "{{ bin_dir }}/kubectl"
|
|
filename: "{{ kube_config_dir }}/{{ item.item.file }}"
|
|
state: "latest"
|
|
with_items:
|
|
- "{{ snapshot_controller_manifests.results }}"
|
|
when:
|
|
- inventory_hostname == groups['kube_control_plane'][0]
|
|
- not item is skipped
|
|
loop_control:
|
|
label: "{{ item.item.file }}"
|
|
tags: snapshot-controller
|