ansible-role-k8s-cert-manager/tasks/upgrade.yml
Adrien 2c98242d0b
Some checks failed
continuous-integration/drone/push Build is failing
Refactor in progress (deploy and upgrade to 0.13)
2020-06-19 00:11:06 +02:00

110 lines
3.7 KiB
YAML

---
- 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