ansible-kubernetes-hetzner/tasks/k8s_cluster/cert_manager/install_cert_manager.yml

52 lines
1.6 KiB
YAML

######################################
# Install cert-manager in cluster #
######################################
---
- name: Read cert-manager values
include_vars:
file: ../vars/k8s_cluster/cert_manager/certManager.yml
- name: Create cert-manager namespace
k8s:
state: present
definition:
apiVersion: v1
kind: Namespace
metadata:
name: "{{ namespace }}"
annotations:
linkerd.io/inject: 'enabled'
- name: Add cert-manager repo
kubernetes.core.helm_repository:
name: "{{ helm.releaseName }}"
repo_url: "{{ helm.repoUrl }}"
- name: Install CRDs for cert-manager
kubernetes.core.k8s:
state: present
definition: "{{ lookup('template', '../templates/k8s_cluster/cert_manager/cert_manager_crds.yaml') | from_yaml_all }}"
- name: Deploy cert-manager from helm chart
kubernetes.core.helm:
name: "{{ helm.releaseName }}"
state: present
chart_ref: "{{ helm.chart }}"
release_namespace: "{{ namespace }}"
chart_version: "{{ helm.chartVersion }}"
update_repo_cache: "true"
- name: Pause for 1.5 minutes and wait for cert-manager webhook
ansible.builtin.pause:
seconds: 90
- name: Deploy cert-manager lets-encrypt staging config file
kubernetes.core.k8s:
state: present
definition: "{{ lookup('template', '../templates/k8s_cluster/cert_manager/lets_encrypt_staging.yml.j2') | from_yaml_all }}"
- name: Deploy cert-manager lets-encrypt production config file
kubernetes.core.k8s:
state: present
definition: "{{ lookup('template', '../templates/k8s_cluster/cert_manager/lets_encrypt_production.yml.j2') | from_yaml_all }}"