- name: Cert Manager setup block: - name: namespace k8s: context: "{{ my_context }}" state: present name: cert-manager api_version: v1 kind: Namespace - name: Get Deployment information object k8s_info: context: "{{ my_context }}" api_version: v1 kind: Deployment name: cert-manager namespace: cert-manager field_selectors: - spec.template.spec.containers.image register: certmanager_actual_resources - name: Retreive actual cert-manager version shell: > echo "{{ certmanager_actual_resources.resources }}" | sed -e "s/.*cert-manager-controller:v\([.0-9]*\).*/\1/" -e 's/\([0-9]*\.[0-9]*\)\.[0-9]*/\1/' | uniq register: certmanager_actual_version - name: Use a short variable name set_fact: certmanager_actual_version: "{{ certmanager_actual_version.stdout }}" certmanager_upgraded: false - name: Include upgrade task include_tasks: "upgrade.yml" when: - not certmanager_actual_version == "[]" - not certmanager_version == certmanager_actual_version - name: Include vars for version {{ certmanager_version }} include_vars: "files_list_{{ certmanager_version }}.yml" - name: Install Cert Manager files version {{ certmanager_version }} k8s: state: "present" context: "{{ my_context }}" # merge_type: ['strategic-merge', 'merge'] apply: yes force: yes resource_definition: "{{ lookup('template', item) | from_yaml }}" with_items: - "{{ lookup('vars', 'certmanager_' + certmanager_version + '_list') }}" when: - not certmanager_upgraded|bool tags: certmanager - name: install / uninstall Cert-Manager CSI Kubernetes drivers include_tasks: "csi.yml" when: - certmanager_csi|bool tags: - certmanager - storage