You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
hetzner-ansible/roles/kubernetes/cloud-controller-manager/tasks/main.yml

76 lines
1.9 KiB
YAML

---
### 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]