From 792859951ded3d5164e498d1da8e80813074223d Mon Sep 17 00:00:00 2001
From: kaiyou <dev@kaiyou.fr>
Date: Sun, 25 Feb 2024 22:16:24 +0100
Subject: [PATCH] Publish node roles

---
 ansible/playbooks/bootstrap.yaml | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/ansible/playbooks/bootstrap.yaml b/ansible/playbooks/bootstrap.yaml
index 63115ac..e706be1 100644
--- a/ansible/playbooks/bootstrap.yaml
+++ b/ansible/playbooks/bootstrap.yaml
@@ -30,11 +30,26 @@
       src: "{{ playbook_dir }}/../../helm/"
       dest: "/tmp/hepto-bootstrap"
 
+  - name: Assign node roles
+    ansible.builtin.shell: |
+      {% for node in groups['master']  %}
+      kubectl taint node {{ hostvars[node].inventory_hostname }} node-role.kubernetes.io/control-plane="":NoSchedule
+      {% endfor %}
+      {% for role, nodes in groups.items() %}
+      {% for node in nodes %}
+      kubectl label node {{ hostvars[node].inventory_hostname }} node-role.kubernetes.io/{{ role }}=true
+      {% endfor %}
+      {% endfor %}
+    environment:
+      KUBECONFIG: "{{ kubeconfig }}"
+
   - name: Bootstrap the cluster
     ansible.builtin.shell: |
       helm upgrade --install --dependency-update --create-namespace -n infra-bootstrap hepto /tmp/hepto-bootstrap \
         -f /tmp/cluster_info \
         -f /tmp/node_info
+      # Run a second time for custom resources to be created
+      helm upgrade -n infra-bootstrap hepto /tmp/hepto-bootstrap -f /tmp/cluster_info -f /tmp/node_info
     environment:
       KUBECONFIG: "{{ kubeconfig }}"
 
-- 
GitLab