--- - 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.yaml.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 - name: Apply ArgoCD repository kubernetes.core.k8s: definition: "{{ lookup('ansible.builtin.template', 'repository.yaml.j2') | from_yaml }}" state: present namespace: "{{ argocd_namespace }}" register: apply_manifests until: apply_manifests is not failed retries: 5 delay: 10 - name: Apply ArgoCD Root Application kubernetes.core.k8s: definition: "{{ lookup('ansible.builtin.template', 'root_application.yaml.j2') | from_yaml }}" state: present namespace: "{{ argocd_namespace }}" register: apply_manifests until: apply_manifests is not failed retries: 5 delay: 10