--- - 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 # kubernetes.core.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 }} # kubernetes.core.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 version: "{{ storage_localpath_version }}" - name: Deploy local-path chart from local path kubernetes.core.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