|
|
|
@ -1,4 +1,24 @@
|
|
|
|
---
|
|
|
|
---
|
|
|
|
|
|
|
|
# Neccessary for Trafik labels to allow POST method from AWX on k8s
|
|
|
|
|
|
|
|
- name: "Get k8s_worker_node_ips"
|
|
|
|
|
|
|
|
block:
|
|
|
|
|
|
|
|
- name: "Lookup hetzner servers - smaradigo k8s worker nodes"
|
|
|
|
|
|
|
|
become: false
|
|
|
|
|
|
|
|
delegate_to: localhost
|
|
|
|
|
|
|
|
hcloud_server_info:
|
|
|
|
|
|
|
|
api_token: "{{ hetzner_authentication_ansible_vault }}"
|
|
|
|
|
|
|
|
label_selector: "service=kube_node,stage={{ stage }}"
|
|
|
|
|
|
|
|
register: found_servers
|
|
|
|
|
|
|
|
- name: "Initial VAR(s)"
|
|
|
|
|
|
|
|
set_fact:
|
|
|
|
|
|
|
|
k8s_worker_node_ips: []
|
|
|
|
|
|
|
|
- name: "Get IPs from k8s worker nodes"
|
|
|
|
|
|
|
|
set_fact:
|
|
|
|
|
|
|
|
k8s_worker_node_ips: '{{ k8s_worker_node_ips + [ item + "/32" ] }}'
|
|
|
|
|
|
|
|
loop: '{{ found_servers.hcloud_server_info | selectattr("ipv4_address","defined") | map(attribute="ipv4_address") }}'
|
|
|
|
|
|
|
|
tags:
|
|
|
|
|
|
|
|
- update_deployment
|
|
|
|
|
|
|
|
|
|
|
|
- name: "Generate Traefik labels for custom admin access to specific realm(s)"
|
|
|
|
- name: "Generate Traefik labels for custom admin access to specific realm(s)"
|
|
|
|
ansible.builtin.set_fact:
|
|
|
|
ansible.builtin.set_fact:
|
|
|
|
labels:
|
|
|
|
labels:
|
|
|
|
@ -8,7 +28,7 @@
|
|
|
|
- '"traefik.http.routers.{{ keycloak_id }}-admin-{{ keycloak_accessible_realm.name }}.tls=true"'
|
|
|
|
- '"traefik.http.routers.{{ keycloak_id }}-admin-{{ keycloak_accessible_realm.name }}.tls=true"'
|
|
|
|
- '"traefik.http.routers.{{ keycloak_id }}-admin-{{ keycloak_accessible_realm.name }}.tls.certresolver=letsencrypt-http"'
|
|
|
|
- '"traefik.http.routers.{{ keycloak_id }}-admin-{{ keycloak_accessible_realm.name }}.tls.certresolver=letsencrypt-http"'
|
|
|
|
- '"traefik.http.routers.{{ keycloak_id }}-admin-{{ keycloak_accessible_realm.name }}.middlewares={{ keycloak_id }}-admin-{{ keycloak_accessible_realm.name }}-ipwhitelist"'
|
|
|
|
- '"traefik.http.routers.{{ keycloak_id }}-admin-{{ keycloak_accessible_realm.name }}.middlewares={{ keycloak_id }}-admin-{{ keycloak_accessible_realm.name }}-ipwhitelist"'
|
|
|
|
- '"traefik.http.middlewares.{{ keycloak_id }}-admin-{{ keycloak_accessible_realm.name }}-ipwhitelist.ipwhitelist.sourcerange={{ (ip_whitelist + (keycloak_accessible_realm.admin_ips) | default([])) | join(",") }}"'
|
|
|
|
- '"traefik.http.middlewares.{{ keycloak_id }}-admin-{{ keycloak_accessible_realm.name }}-ipwhitelist.ipwhitelist.sourcerange={{ (ip_whitelist + k8s_worker_node_ips + (keycloak_accessible_realm.admin_ips) | default([])) | join(",") }}"'
|
|
|
|
loop: "{{ keycloak_admin_realm_acls }}"
|
|
|
|
loop: "{{ keycloak_admin_realm_acls }}"
|
|
|
|
register: keycloak_accessible_realms
|
|
|
|
register: keycloak_accessible_realms
|
|
|
|
loop_control:
|
|
|
|
loop_control:
|
|
|
|
@ -24,23 +44,3 @@
|
|
|
|
loop_var: keycloak_accessible_realm
|
|
|
|
loop_var: keycloak_accessible_realm
|
|
|
|
tags:
|
|
|
|
tags:
|
|
|
|
- update_deployment
|
|
|
|
- update_deployment
|
|
|
|
|
|
|
|
|
|
|
|
# Neccessary for Trafik labels to allow POST method from AWX on k8s
|
|
|
|
|
|
|
|
- name: "Get k8s_worker_node_ips"
|
|
|
|
|
|
|
|
block:
|
|
|
|
|
|
|
|
- name: "Lookup hetzner servers - smaradigo k8s worker nodes"
|
|
|
|
|
|
|
|
become: false
|
|
|
|
|
|
|
|
delegate_to: localhost
|
|
|
|
|
|
|
|
hcloud_server_info:
|
|
|
|
|
|
|
|
api_token: "{{ hetzner_authentication_ansible_vault }}"
|
|
|
|
|
|
|
|
label_selector: "service=kube_node,stage={{ stage }}"
|
|
|
|
|
|
|
|
register: found_servers
|
|
|
|
|
|
|
|
- name: "Initial VAR(s)"
|
|
|
|
|
|
|
|
set_fact:
|
|
|
|
|
|
|
|
k8s_worker_node_ips: []
|
|
|
|
|
|
|
|
- name: "Get IPs from k8s worker nodes"
|
|
|
|
|
|
|
|
set_fact:
|
|
|
|
|
|
|
|
k8s_worker_node_ips: '{{ k8s_worker_node_ips + [ item + "/32" ] }}'
|
|
|
|
|
|
|
|
loop: '{{ found_servers.hcloud_server_info | selectattr("ipv4_address","defined") | map(attribute="ipv4_address") }}'
|
|
|
|
|
|
|
|
tags:
|
|
|
|
|
|
|
|
- update_deployment
|
|
|
|
|
|
|
|
|