feat(kubernetes): add initial setup for ArgoCD, Cert-Manager, MetalLB, and Traefik
Signed-off-by: Tuan-Dat Tran <tuan-dat.tran@tudattr.dev>
This commit is contained in:
50
roles/kubernetes_argocd/tasks/main.yml
Normal file
50
roles/kubernetes_argocd/tasks/main.yml
Normal file
@@ -0,0 +1,50 @@
|
||||
---
|
||||
- name: Install ArgoCD
|
||||
block:
|
||||
- name: Create ArgoCD namespace
|
||||
kubernetes.core.k8s:
|
||||
name: "{{ argocd_namespace }}"
|
||||
api_version: v1
|
||||
kind: Namespace
|
||||
state: present
|
||||
|
||||
- name: Apply ArgoCD manifests
|
||||
kubernetes.core.k8s:
|
||||
src: "{{ argocd_repo }}"
|
||||
state: present
|
||||
namespace: "{{ argocd_namespace }}"
|
||||
register: apply_manifests
|
||||
until: apply_manifests is not failed
|
||||
retries: 5
|
||||
delay: 10
|
||||
|
||||
- name: Wait for ArgoCD server to be ready
|
||||
kubernetes.core.k8s_info:
|
||||
api_version: apps/v1
|
||||
kind: Deployment
|
||||
name: argocd-server
|
||||
namespace: "{{ argocd_namespace }}"
|
||||
register: rollout_status
|
||||
until: rollout_status.resources[0].status.readyReplicas is defined and rollout_status.resources[0].status.readyReplicas == rollout_status.resources[0].spec.replicas
|
||||
retries: 30
|
||||
delay: 10
|
||||
|
||||
- name: Apply ArgoCD Ingress
|
||||
kubernetes.core.k8s:
|
||||
definition: "{{ lookup('ansible.builtin.template', 'ingress.yml.j2') | from_yaml }}"
|
||||
state: present
|
||||
namespace: "{{ argocd_namespace }}"
|
||||
register: apply_manifests
|
||||
until: apply_manifests is not failed
|
||||
retries: 5
|
||||
delay: 10
|
||||
|
||||
- name: Apply ArgoCD CM
|
||||
kubernetes.core.k8s:
|
||||
src: "files/argocd-cmd-params-cm.yaml"
|
||||
state: present
|
||||
namespace: "{{ argocd_namespace }}"
|
||||
register: apply_manifests
|
||||
until: apply_manifests is not failed
|
||||
retries: 5
|
||||
delay: 10
|
||||
Reference in New Issue
Block a user