--- - name: Enable upgrade mode set_fact: certmanager_need_upgrade: true - name: Upgrade version from 0.12 to 0.13 block: - name: Update upgrade version to 0.13 set_fact: certmanager_upgrade_version: "0.13" - name: Include vars for version 0.13 include_vars: "files_list_0.13.yml" - name: Update Cert Manager files to version 0.13 k8s: state: "present" context: "{{ my_context }}" apply: yes force: yes resource_definition: "{{ lookup('template', item) | from_yaml }}" with_items: - "{{ lookup('vars', 'certmanager_' + certmanager_upgrade_version + '_list') }}" - name: Update actual version to 0.13 set_fact: certmanager_actual_version: "0.13" when: - certmanager_actual_version == "0.12" - certmanager_need_upgrade|bool - name: Disable upgrade mode set_fact: certmanager_need_upgrade: false certmanager_upgraded: true when: - certmanager_version == certmanager_actual_version - name: Upgrade version from 0.13 to 0.14 block: - name: Update upgrade version to 0.14 set_fact: certmanager_upgrade_version: "0.14" - name: Include vars for version 0.14 include_vars: "files_list_0.14.yml" - name: Remove old existing object k8s: context: "{{ my_context }}" state: absent api_version: '{{ item.apiversion }}' kind: '{{ item.type }}' namespace: cert-manager name: '{{ item.name }}' with_items: - { type: "Deployment", name: "cert-manager", apiversion: "apps/v1" } - { type: "Deployment", name: "cert-manager-cainjector", apiversion: "apps/v1" } - { type: "Deployment", name: "cert-manager-webhook", apiversion: "apps/v1" } # - { type: "ClusterRoleBinding", name: "cert-manager-webhook:auth-delegator", apiversion: "rbac.authorization.k8s.io/v1" } # - { type: "RoleBinding", name: "cert-manager-webhook:webhook-authentication-reader", apiversion: "rbac.authorization.k8s.io/v1beta1" } # - { type: "ClusterRole", name: "cert-manager-webhook:webhook-requester", apiversion: "rbac.authorization.k8s.io/v1" } ## - { type: "CustomResourceDefinition", name: "certificates.cert-manager.io", apiversion: "apiextensions.k8s.io/v1" } - name: Update Cert Manager files to version 0.14 k8s: state: "present" context: "{{ my_context }}" apply: yes force: yes resource_definition: "{{ lookup('template', item) | from_yaml }}" with_items: - "{{ lookup('vars', 'certmanager_' + certmanager_upgrade_version + '_list') }}" - name: Update actual version to 0.14 set_fact: certmanager_actual_version: "0.14" when: - certmanager_actual_version == "0.13" - certmanager_need_upgrade|bool - name: Disable upgrade mode set_fact: certmanager_upgrade: false certmanager_upgraded: true when: - certmanager_version == certmanager_actual_version - name: Upgrade version from 0.14 to 0.15 block: - name: Update upgrade version to 0.15 set_fact: certmanager_upgrade_version: "0.15" - name: Include vars for version 0.15 include_vars: "files_list_0.15.yml" - name: Update Cert Manager files to version 0.15 k8s: state: "present" context: "{{ my_context }}" apply: yes force: yes resource_definition: "{{ lookup('template', item) | from_yaml }}" with_items: - "{{ lookup('vars', 'certmanager_' + certmanager_upgrade_version + '_list') }}" - name: Update actual version to 0.15 set_fact: certmanager_actual_version: "0.15" when: - certmanager_actual_version == "0.14" - certmanager_need_upgrade|bool - name: Disable upgrade mode set_fact: certmanager_need_upgrade: false certmanager_upgraded: true when: - certmanager_version == certmanager_actual_version