--- - name: prepare storage volume vars: storage_volume: "{{ companion_storage }}" include_role: name: "storage/{{ companion_storage.type }}/volume" - set_fact: companion_basepath: "{{ storage_volume_mountpoint }}" - name: create data/secrets directories loop: - dir: data mode: "0750" - dir: secrets mode: "0500" loop_control: label: "{{ item.dir }}" file: path: "{{ companion_basepath }}/{{ item.dir }}" state: directory mode: "{{ item.mode }}" owner: 1000 group: 1000 - name: generate ssh keypair for ssh plugin openssh_keypair: path: "{{ companion_basepath }}/secrets/id_ed25519" type: ed25519 comment: "companion@{{ inventory_hostname }}" owner: 1000 group: 1000 - name: install udev rules template: src: udev.rules.j2 dest: /etc/udev/rules.d/90-companion.rules notify: reload udev rules - name: install pod manifest vars: kubernetes_standalone_pod: name: companion spec: "{{ lookup('template', 'pod-spec.yml.j2') }}" include_role: name: kubernetes/standalone/pod