--- ### tags: ### ccm - name: Download Hetzner CCM ansible.builtin.get_url: url: https://github.com/hetznercloud/hcloud-cloud-controller-manager/releases/download/v1.12.0/ccm-networks.yaml dest: /tmp/ccm.yaml mode: '0664' when: - inventory_hostname == groups['kube-master'][0] tags: - ccm - name: Create secret for Hetzner CCM kubernetes.core.k8s: definition: api_version: v1 kind: Secret metadata: namespace: kube-system name: hcloud label: app: ccm provider: hcloud type: Opaque data: network: "{{ stage | string | b64encode }}" token: "{{ hetzner_authentication_token | string | b64encode }}" when: - inventory_hostname == groups['kube-master'][0] tags: - ccm - name: Apply Hetzner CCM manifest to the cluster. kubernetes.core.k8s: state: present src: /tmp/ccm.yaml when: - inventory_hostname == groups['kube-master'][0] tags: - ccm - name: Add prometheus-community chart repo kubernetes.core.helm_repository: name: prometheus-community repo_url: "https://prometheus-community.github.io/helm-charts" when: - inventory_hostname == groups['kube-master'][0] - name: Add argo-cd chart repo kubernetes.core.helm_repository: name: argo-cd repo_url: "https://argoproj.github.io/argo-helm" when: - inventory_hostname == groups['kube-master'][0] - name: Deploy Prometheus inside monitoring namespace kubernetes.core.helm: name: prometheus chart_ref: prometheus-community/kube-prometheus-stack release_namespace: monitoring create_namespace: true when: - inventory_hostname == groups['kube-master'][0] - name: Deploy Argo-CD inside argo-cd namespace kubernetes.core.helm: name: argo-cd chart_ref: argo-cd/argo-cd release_namespace: argo-cd create_namespace: true when: - inventory_hostname == groups['kube-master'][0]