--- - name: Kubeadm | Create directory to store kubeadm patches file: path: "{{ kubeadm_patches_dir }}" state: directory mode: "0750" when: kubeadm_patches | length > 0 - name: Kubeadm | List existing kubeadm patches find: paths: - "{{ kubeadm_patches_dir }}" file_type: file use_regex: true patterns: - '^(kube-apiserver|kube-controller-manager|kube-scheduler|etcd|kubeletconfiguration)[0-9]+\+(strategic|json|merge).yaml$' register: existing_kubeadm_patches - name: Kubeadm | Copy kubeadm patches from inventory files copy: content: "{{ item.patch | to_yaml }}" dest: "{{ kubeadm_patches_dir }}/{{ item.target }}{{ suffix }}+{{ item.type | d('strategic') }}.yaml" owner: "root" mode: "0644" loop: "{{ kubeadm_patches }}" loop_control: index_var: suffix register: current_kubeadm_patches - name: Kubeadm | Delete old patches loop: "{{ existing_kubeadm_patches.files | map(attribute='path') | difference( current_kubeadm_patches.results | map(attribute='dest') ) }}" file: state: absent path: "{{ item }}"