Files
HetznerTerra/ansible/roles/ccm/tasks/main.yml
MichaelFisher1997 be69044921
Some checks failed
Deploy Cluster / Terraform (push) Successful in 23s
Deploy Cluster / Ansible (push) Failing after 8m44s
fix: deploy CCM via kubectl to avoid remote python kubernetes dependency
2026-03-01 03:13:33 +00:00

34 lines
1.1 KiB
YAML

---
- name: Check if Hetzner CCM is already deployed
command: kubectl get namespace hetzner-cloud-system
register: ccm_namespace
failed_when: false
changed_when: false
- name: Create Hetzner CCM namespace
command: kubectl create namespace hetzner-cloud-system
when: ccm_namespace.rc != 0
changed_when: true
- name: Create Hetzner cloud secret
shell: |
kubectl -n hetzner-cloud-system create secret generic hcloud \
--from-literal=token='{{ hcloud_token }}' \
--from-literal=network='{{ cluster_name }}-network' \
--dry-run=client -o yaml | kubectl apply -f -
no_log: true
when: hcloud_token is defined
changed_when: true
- name: Deploy Hetzner CCM
command: kubectl apply -f https://raw.githubusercontent.com/hetznercloud/hcloud-cloud-controller-manager/main/deploy/ccm-networks.yaml
changed_when: true
- name: Wait for CCM pods to be ready
command: kubectl rollout status deployment/hcloud-cloud-controller-manager -n hetzner-cloud-system
register: ccm_rollout
until: ccm_rollout.rc == 0
changed_when: false
retries: 30
delay: 10