diff --git a/create-database-cluster.yml b/create-database-cluster.yml index 6d5cee1..8a4c467 100644 --- a/create-database-cluster.yml +++ b/create-database-cluster.yml @@ -58,7 +58,7 @@ - "stage_{{ stage }}" - "{{ item }}" cluster_service: "{{ item }}" - changed_when: False + changed_when: False with_items: "{{ cluster_services }}" when: item in ['connect_wordpress'] @@ -71,39 +71,13 @@ remote_user: root pre_tasks: - - name: "Gathering current server infos from hetzner" - hcloud_server_info: - api_token: "{{ hetzner_authentication_token }}" - register: hetzner_server_infos - delegate_to: 127.0.0.1 - become: false - - - name: "Setting current server infos as fact: hetzner_server_infos_json" - set_fact: - hetzner_server_infos_json: "{{ hetzner_server_infos.hcloud_server_info }}" - delegate_to: 127.0.0.1 - become: false - - - name: "Reading ip address for {{ inventory_hostname }}" - set_fact: - stage_server_ip: "{{ hetzner_server_infos_json | json_query(querystr) | first }}" - vars: - querystr: "[?name=='{{ inventory_hostname }}'].ipv4_address" - delegate_to: 127.0.0.1 - become: false - - - name: "Printing ip address for {{ inventory_hostname }}" - debug: - msg: "{{ stage_server_ip }}" - delegate_to: 127.0.0.1 - become: false - when: - - debug + - name: "Import autodiscover pre-tasks" + include_tasks: tasks/autodiscover_pre_tasks.yml roles: - role: connect-postgres when: "'connect' in group_names" - + - role: management-connect-postgres when: "'management_connect' in group_names" diff --git a/create-db-import.yml b/create-db-import.yml index ad39e11..a3da241 100644 --- a/create-db-import.yml +++ b/create-db-import.yml @@ -58,30 +58,8 @@ remote_user: root pre_tasks: - - name: "Gathering current server infos from hetzner" - hcloud_server_info: - api_token: "{{ hetzner_authentication_token }}" - register: hetzner_server_infos - delegate_to: 127.0.0.1 - - - name: "Setting current server infos as fact: hetzner_server_infos_json" - set_fact: - hetzner_server_infos_json: "{{ hetzner_server_infos.hcloud_server_info }}" - delegate_to: 127.0.0.1 - - - name: "Reading ip address for {{ inventory_hostname }}" - set_fact: - stage_server_ip: "{{ hetzner_server_infos_json | json_query(querystr) | first }}" - vars: - querystr: "[?name=='{{ inventory_hostname }}'].ipv4_address" - delegate_to: 127.0.0.1 - - - name: "Printing ip address for {{ inventory_hostname }}" - debug: - msg: "{{ stage_server_ip }}" - delegate_to: 127.0.0.1 - when: - - debug + - name: "Import autodiscover pre-tasks" + include_tasks: tasks/autodiscover_pre_tasks.yml roles: - role: upload-local-file @@ -127,4 +105,4 @@ when: - scope_id is defined - process_instance_id is defined - - smardigo_management_action is defined \ No newline at end of file + - smardigo_management_action is defined diff --git a/create-realm.yml b/create-realm.yml index d75b340..eb458dd 100644 --- a/create-realm.yml +++ b/create-realm.yml @@ -55,30 +55,8 @@ - community.general pre_tasks: - - name: "Gathering current server infos from hetzner" - hetzner.hcloud.hcloud_server_info: - api_token: "{{ hetzner_authentication_token }}" - register: hetzner_server_infos - delegate_to: 127.0.0.1 - - - name: "Setting current server infos as fact: hetzner_server_infos_json" - set_fact: - hetzner_server_infos_json: "{{ hetzner_server_infos.hcloud_server_info }}" - delegate_to: 127.0.0.1 - - - name: "Reading ip address for {{ inventory_hostname }}" - set_fact: - stage_server_ip: "{{ hetzner_server_infos_json | json_query(querystr)| first }}" - vars: - querystr: "[?name=='{{ inventory_hostname }}'].ipv4_address" - delegate_to: 127.0.0.1 - - - name: "Printing ip address for {{ inventory_hostname }}" - debug: - msg: "{{ stage_server_ip }}" - delegate_to: 127.0.0.1 - when: - - debug + - name: "Import autodiscover pre-tasks" + include_tasks: tasks/autodiscover_pre_tasks.yml roles: - role: connect-realm diff --git a/create-server.yml b/create-server.yml index faf86df..d2a07aa 100644 --- a/create-server.yml +++ b/create-server.yml @@ -60,19 +60,19 @@ - update_networks - name: Save firewall entries as variable (fact) - set_fact: + set_fact: hetzner_firewalls_response_json: "{{ hetzner_firewalls_response.json }}" tags: - update_networks - name: Parse firewall entries - set_fact: + set_fact: firewall_records: "{{ hetzner_firewalls_response_json.firewalls | json_query(jmesquery) }}" vars: jmesquery: '[*].{id: id, name: name}' tags: - update_networks - + - name: Print firewall entries debug: msg: "{{ firewall_records }}" @@ -107,30 +107,8 @@ state: 'absent' when: ansible_distribution == "Ubuntu" - - name: "Gathering current server infos from hetzner" - hcloud_server_info: - api_token: "{{ hetzner_authentication_token }}" - register: hetzner_server_infos - delegate_to: 127.0.0.1 - - - name: "Setting current server infos as fact: hetzner_server_infos_json" - set_fact: - hetzner_server_infos_json: "{{ hetzner_server_infos.hcloud_server_info }}" - delegate_to: 127.0.0.1 - - - name: "Reading ip address for {{ inventory_hostname }}" - set_fact: - stage_server_ip: "{{ hetzner_server_infos_json | json_query(querystr) | first }}" - vars: - querystr: "[?name=='{{ inventory_hostname }}'].ipv4_address" - delegate_to: 127.0.0.1 - - - name: "Printing ip address for {{ inventory_hostname }}" - debug: - msg: "{{ stage_server_ip }}" - delegate_to: 127.0.0.1 - when: - - debug + - name: "Import autodiscover pre-tasks" + include_tasks: tasks/autodiscover_pre_tasks.yml roles: - role: ansible-role-docker diff --git a/create-service.yml b/create-service.yml index fc19ec1..1e2703a 100644 --- a/create-service.yml +++ b/create-service.yml @@ -64,30 +64,8 @@ remote_user: root pre_tasks: - - name: "Gathering current server infos from hetzner" - hcloud_server_info: - api_token: "{{ hetzner_authentication_token }}" - register: hetzner_server_infos - delegate_to: 127.0.0.1 - - - name: "Setting current server infos as fact: hetzner_server_infos_json" - set_fact: - hetzner_server_infos_json: "{{ hetzner_server_infos.hcloud_server_info }}" - delegate_to: 127.0.0.1 - - - name: "Reading ip address for {{ inventory_hostname }}" - set_fact: - stage_server_ip: "{{ hetzner_server_infos_json | json_query(querystr) | first }}" - vars: - querystr: "[?name=='{{ inventory_hostname }}'].ipv4_address" - delegate_to: 127.0.0.1 - - - name: "Printing ip address for {{ inventory_hostname }}" - debug: - msg: "{{ stage_server_ip }}" - delegate_to: 127.0.0.1 - when: - - debug + - name: "Import autodiscover tasks" + include_tasks: "tasks/autodiscover_pretasks.yml" roles: - role: connect diff --git a/setup.yml b/setup.yml index 48b9ed9..8625cdd 100644 --- a/setup.yml +++ b/setup.yml @@ -34,43 +34,8 @@ - common - install - - name: "Gather current server infos" - hcloud_server_info: - api_token: "{{ hetzner_authentication_token }}" - register: hetzner_server_infos - delegate_to: 127.0.0.1 - become: false - tags: - - common - - pgadmin4 - - - name: "Set current server infos as fact: hetzner_server_infos_json" - set_fact: - hetzner_server_infos_json: "{{ hetzner_server_infos.hcloud_server_info }}" - delegate_to: 127.0.0.1 - become: false - tags: - - common - - pgadmin4 - - - name: "Read ip address for {{ inventory_hostname }}" - set_fact: - stage_server_ip: "{{ item.ipv4_address }}" - when: item.name == inventory_hostname - with_items: "{{ hetzner_server_infos_json }}" - delegate_to: 127.0.0.1 - become: false - tags: - - common - - pgadmin4 - - - name: Print the gathered infos - debug: - var: stage_server_ip - delegate_to: 127.0.0.1 - tags: - - common - - pgadmin4 + - name: "Import autodiscover pre-tasks" + include_tasks: tasks/autodiscover_pre_tasks.yml roles: - role: ansible-role-docker @@ -101,4 +66,4 @@ - role: pgadmin4 when: pgadmin4_enabled | default(False) tags: - - pgadmin4 \ No newline at end of file + - pgadmin4 diff --git a/smardigo.yml b/smardigo.yml index ce22e97..a4e346a 100644 --- a/smardigo.yml +++ b/smardigo.yml @@ -14,49 +14,12 @@ delegate_to: 127.0.0.1 become: false - - name: "Gather current server infos" - hcloud_server_info: - api_token: "{{ hetzner_authentication_token }}" - register: hetzner_server_infos - delegate_to: 127.0.0.1 - become: false - tags: - - update_networks - - awx_config - - - name: "Set current server infos as fact: hetzner_server_infos_json" - set_fact: - hetzner_server_infos_json: "{{ hetzner_server_infos.hcloud_server_info }}" - delegate_to: 127.0.0.1 - become: false - tags: - - update_networks - - awx_config - - - name: "Read ip address for {{ inventory_hostname }}" - set_fact: - stage_server_ip: "{{ item.ipv4_address }}" - when: item.name == inventory_hostname - with_items: "{{ hetzner_server_infos_json }}" - delegate_to: 127.0.0.1 - become: false - tags: - - update_networks - - awx_config - - - name: Print the gathered infos - debug: - var: stage_server_ip - delegate_to: 127.0.0.1 - become: false - tags: - - update_networks - - awx_config + - name: "Import autodiscover pre-tasks" + include_tasks: tasks/autodiscover_pre_tasks.yml roles: - role: postfix when: "'postfix' in group_names" - - role: keycloak when: "'keycloak' in group_names" - role: harbor diff --git a/tasks/autodiscover_pre_tasks.yml b/tasks/autodiscover_pre_tasks.yml new file mode 100644 index 0000000..5341748 --- /dev/null +++ b/tasks/autodiscover_pre_tasks.yml @@ -0,0 +1,59 @@ +--- +- name: Fetch private_ips + uri: + url: https://api.hetzner.cloud/v1/servers?page=1' + method: GET + headers: + authorization: Bearer {{ hetzner_authentication_token }} + register: dings + delegate_to: 127.0.0.1 + become: false + tags: + - autodiscover + +- name: "Reading private ip address for {{ inventory_hostname }}" + set_fact: + stage_private_server_ip: "{{ dings.json.servers | json_query(querystr) | first }}" + vars: + querystr: "[?name=='{{ inventory_hostname }}'].private_net[0].ip" + delegate_to: 127.0.0.1 + become: false + tags: + - autodiscover + +- name: "Gathering current server infos from hetzner" + hcloud_server_info: + api_token: "{{ hetzner_authentication_token }}" + register: hetzner_server_infos + delegate_to: 127.0.0.1 + become: false + tags: + - autodiscover + +- name: "Setting current server infos as fact: hetzner_server_infos_json" + set_fact: + hetzner_server_infos_json: "{{ hetzner_server_infos.hcloud_server_info }}" + delegate_to: 127.0.0.1 + become: false + tags: + - autodiscover + +- name: "Reading ip address for {{ inventory_hostname }}" + set_fact: + stage_server_ip: "{{ hetzner_server_infos_json | json_query(querystr) | first }}" + vars: + querystr: "[?name=='{{ inventory_hostname }}'].ipv4_address" + delegate_to: 127.0.0.1 + become: false + tags: + - autodiscover + +- name: "Printing ip addresses for {{ inventory_hostname }}" + debug: + msg: "{{ stage_server_ip }} / {{ stage_private_server_ip }}" + delegate_to: 127.0.0.1 + become: false + tags: + - autodiscover + when: + - debug