--- - name: Local-path block: - name: Include file list include_vars: "local-path.yaml" - name: Defined local-path-storage state to present set_fact: storage_localpath_state: present when: - storage_localpath|bool - name: find state of local-path-storage set_fact: storage_localpath_state: absent when: - not storage_localpath|bool - name: namespace k8s: state: present context: "{{ my_context }}" merge_type: merge definition: api_version: v1 kind: Namespace metadata: name: "{{ storage_localpath_namespace }}" labels: namespace: '{{ storage_localpath_namespace }}' when: - storage_localpath|bool - name: local-path-storage need to be {{ storage_localpath_state }} k8s: state: "{{ storage_localpath_state }}" context: "{{ my_context }}" namespace: "{{ storage_localpath_namespace }}" apply: true resource_definition: "{{ lookup('file', 'local-path/' + item) | from_yaml }}" with_items: - "{{ storage_localpath_files_list }}" # https://github.com/rancher/local-path-provisioner/tree/master/deploy/chart - name: Downloal Local-path repository block: - name: Git clone stable repo on HEAD ansible.builtin.git: repo: "https://github.com/rancher/local-path-provisioner.git" dest: tmp/local-path-provisioner - name: Deploy local-path chart from local path community.kubernetes.helm: state: "{{ storage_localpath_state }}" name: local-path-provisioner context: "{{ my_context }}" chart_ref: tmp/local-path-provisioner/deploy/chart release_namespace: "{{ storage_localpath_namespace }}" create_namespace: true values: rbac: create: false serviceAccount: create: false name: local-path-provisioner nodePathMap: - node: DEFAULT_PATH_FOR_NON_LISTED_NODES paths: ["{{ storage_localpath_default_path }}"] tags: - storage - local-path