k8s/roles/uyuni/tasks/main.yml
2026-07-19 17:59:33 +03:00

150 lines
4.2 KiB
YAML

---
- name: Create namespace
kubernetes.core.k8s:
api_version: v1
kind: Namespace
name: "{{ uyuni_namespace }}"
kubeconfig: "{{ uyuni_kubeconfig }}"
state: present
- name: Create uyuni-selfsigned-issuer Issuer
kubernetes.core.k8s:
api_version: cert-manager.io/v1
kind: Issuer
name: uyuni-selfsigned-issuer
namespace: "{{ uyuni_namespace }}"
kubeconfig: "{{ uyuni_kubeconfig }}"
definition:
spec:
selfSigned: {}
state: present
when: uyuni_create_certificates | bool
- name: Create uyuni Certificates
kubernetes.core.k8s:
api_version: cert-manager.io/v1
kind: Certificate
name: "{{ item.name }}"
namespace: "{{ item.namespace | default(uyuni_namespace) }}"
kubeconfig: "{{ uyuni_kubeconfig }}"
definition:
spec:
secretName: "{{ item.secretName }}"
dnsNames: "{{ item.dnsNames }}"
issuerRef:
name: uyuni-selfsigned-issuer
kind: Issuer
state: present
loop: "{{ uyuni_certificates }}"
when: uyuni_create_certificates | bool
- name: Wait for uyuni-ingress-cert certificate to be ready
kubernetes.core.k8s_info:
api_version: cert-manager.io/v1
kind: Certificate
name: uyuni-ingress-cert
namespace: "{{ uyuni_namespace }}"
kubeconfig: "{{ uyuni_kubeconfig }}"
register: _uyuni_cert_status
until: _uyuni_cert_status.resources[0].status.conditions | selectattr('type', 'equalto', 'Ready') | selectattr('status', 'equalto', 'True') | list | length > 0
retries: 60
delay: 10
when: uyuni_create_certificates | bool
- name: Wait for uyuni-db-cert certificate to be ready
kubernetes.core.k8s_info:
api_version: cert-manager.io/v1
kind: Certificate
name: uyuni-db-cert
namespace: "{{ uyuni_namespace }}"
kubeconfig: "{{ uyuni_kubeconfig }}"
register: _db_cert_status
until: _db_cert_status.resources[0].status.conditions | selectattr('type', 'equalto', 'Ready') | selectattr('status', 'equalto', 'True') | list | length > 0
retries: 60
delay: 10
when: uyuni_create_certificates | bool
- name: Create db-admin-credentials secret
kubernetes.core.k8s:
api_version: v1
kind: Secret
name: db-admin-credentials
namespace: "{{ uyuni_namespace }}"
kubeconfig: "{{ uyuni_kubeconfig }}"
definition:
type: Opaque
data:
username: "{{ uyuni_db_admin_user | b64encode }}"
password: "{{ uyuni_db_admin_password | b64encode }}"
database: "{{ uyuni_db_name | b64encode }}"
state: present
- name: Create db-credentials secret
kubernetes.core.k8s:
api_version: v1
kind: Secret
name: db-credentials
namespace: "{{ uyuni_namespace }}"
kubeconfig: "{{ uyuni_kubeconfig }}"
definition:
type: Opaque
data:
username: "{{ uyuni_db_user | b64encode }}"
password: "{{ uyuni_db_admin_password | b64encode }}"
state: present
- name: Create reportdb-credentials secret
kubernetes.core.k8s:
api_version: v1
kind: Secret
name: reportdb-credentials
namespace: "{{ uyuni_namespace }}"
kubeconfig: "{{ uyuni_kubeconfig }}"
definition:
type: Opaque
data:
username: "{{ uyuni_db_report_user | b64encode }}"
password: "{{ uyuni_db_report_password | b64encode }}"
state: present
- name: Create admin-credentials secret
kubernetes.core.k8s:
api_version: v1
kind: Secret
name: admin-credentials
namespace: "{{ uyuni_namespace }}"
kubeconfig: "{{ uyuni_kubeconfig }}"
definition:
type: Opaque
data:
username: "{{ uyuni_admin_user | b64encode }}"
password: "{{ uyuni_admin_password | b64encode }}"
state: present
- name: Create uyuni-ca ConfigMap
kubernetes.core.k8s:
api_version: v1
kind: ConfigMap
name: uyuni-ca
namespace: "{{ uyuni_namespace }}"
kubeconfig: "{{ uyuni_kubeconfig }}"
definition:
data:
ca.crt: ""
state: present
- name: Create db-ca ConfigMap
kubernetes.core.k8s:
api_version: v1
kind: ConfigMap
name: db-ca
namespace: "{{ uyuni_namespace }}"
kubeconfig: "{{ uyuni_kubeconfig }}"
definition:
data:
ca.crt: ""
state: present
- name: Include Helm installation
ansible.builtin.include_tasks: helm.yml