|
|
|
@ -18,28 +18,34 @@
|
|
|
|
when:
|
|
|
|
when:
|
|
|
|
- send_status_messages
|
|
|
|
- send_status_messages
|
|
|
|
|
|
|
|
|
|
|
|
- name: "Setup DNS configuration for {{ service_name }}"
|
|
|
|
- name: Gather current server infos
|
|
|
|
include_role:
|
|
|
|
hcloud_server_info:
|
|
|
|
name: _digitalocean
|
|
|
|
api_token: "{{ hetzner_authentication_token }}"
|
|
|
|
tasks_from: domain
|
|
|
|
register: hetzner_server_infos
|
|
|
|
vars:
|
|
|
|
delegate_to: 127.0.0.1
|
|
|
|
record_data: "{{ stage_server_ip }}"
|
|
|
|
become: false
|
|
|
|
record_name: "{{ service_name }}"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- name: "Setup public DNS configuration for {{ service_name }}"
|
|
|
|
- name: Save current server infos as variable (fact)
|
|
|
|
|
|
|
|
set_fact:
|
|
|
|
|
|
|
|
hetzner_server_infos_json: "{{ hetzner_server_infos.hcloud_server_info }}"
|
|
|
|
|
|
|
|
delegate_to: 127.0.0.1
|
|
|
|
|
|
|
|
become: false
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- name: Read ip 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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- name: "Setup DNS configuration for {{ service_name }} connect"
|
|
|
|
include_role:
|
|
|
|
include_role:
|
|
|
|
name: _digitalocean
|
|
|
|
name: _digitalocean
|
|
|
|
tasks_from: domain
|
|
|
|
tasks_from: domain
|
|
|
|
vars:
|
|
|
|
vars:
|
|
|
|
record_data: "{{ item.ip }}"
|
|
|
|
record_data: "{{ stage_server_ip }}"
|
|
|
|
record_name: "{{ item.name }}"
|
|
|
|
record_name: "{{ service_name }}-connect"
|
|
|
|
loop: "{{ connect_public_dns_entries }}"
|
|
|
|
|
|
|
|
when: connect_public_dns_entries is defined
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- name: "Check docker networks"
|
|
|
|
|
|
|
|
include_role:
|
|
|
|
|
|
|
|
name: _docker
|
|
|
|
|
|
|
|
tasks_from: networks
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- name: "Check if {{ service_name }}/docker-compose.yml exists"
|
|
|
|
- name: "Check if {{ service_name }}/docker-compose.yml exists"
|
|
|
|
stat:
|
|
|
|
stat:
|
|
|
|
@ -69,12 +75,12 @@
|
|
|
|
current_group: "{{ docker_group }}"
|
|
|
|
current_group: "{{ docker_group }}"
|
|
|
|
current_docker: "{{ connect_docker }}"
|
|
|
|
current_docker: "{{ connect_docker }}"
|
|
|
|
|
|
|
|
|
|
|
|
- name: "Update {{ service_name }}"
|
|
|
|
#- name: "Update {{ service_name }}"
|
|
|
|
shell: docker-compose pull
|
|
|
|
# shell: docker-compose pull
|
|
|
|
args:
|
|
|
|
# args:
|
|
|
|
chdir: '{{ service_base_path }}/{{ service_name }}'
|
|
|
|
# chdir: '{{ service_base_path }}/{{ service_name }}'
|
|
|
|
tags:
|
|
|
|
# tags:
|
|
|
|
- update_deployment
|
|
|
|
# - update_deployment
|
|
|
|
|
|
|
|
|
|
|
|
- name: "Start {{ service_name }}"
|
|
|
|
- name: "Start {{ service_name }}"
|
|
|
|
shell: docker-compose up -d
|
|
|
|
shell: docker-compose up -d
|
|
|
|
@ -83,42 +89,6 @@
|
|
|
|
tags:
|
|
|
|
tags:
|
|
|
|
- update_deployment
|
|
|
|
- update_deployment
|
|
|
|
|
|
|
|
|
|
|
|
- name: "Update caddy configuration for {{ service_name }}"
|
|
|
|
|
|
|
|
include_role:
|
|
|
|
|
|
|
|
name: _deploy
|
|
|
|
|
|
|
|
tasks_from: caddy_config
|
|
|
|
|
|
|
|
vars:
|
|
|
|
|
|
|
|
current_service: "{{ service_name }}"
|
|
|
|
|
|
|
|
current_services: [
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
external: "{{ service_url }}",
|
|
|
|
|
|
|
|
internal: "{{ service_name }}-connect:{{ service_port }}",
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
external: "{{ service_url }}:{{ monitor_port_service }}",
|
|
|
|
|
|
|
|
internal: "{{ service_name }}-connect:{{ management_port }}",
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
external: "{{ service_url }}:{{ monitor_port_system }}",
|
|
|
|
|
|
|
|
internal: "node-exporter:{{ service_port_node_exporter }}",
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- name: "Update public caddy configuration for {{ service_name }}"
|
|
|
|
|
|
|
|
include_role:
|
|
|
|
|
|
|
|
name: _deploy
|
|
|
|
|
|
|
|
tasks_from: caddy_config
|
|
|
|
|
|
|
|
vars:
|
|
|
|
|
|
|
|
current_service: "{{ service_name }}-{{ item.name }}"
|
|
|
|
|
|
|
|
current_services: [
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
external: "{{ item.name }}.{{ domain }}",
|
|
|
|
|
|
|
|
internal: "{{ service_name }}-connect:{{ service_port }}",
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
]
|
|
|
|
|
|
|
|
loop: "{{ connect_public_dns_entries }}"
|
|
|
|
|
|
|
|
when: connect_public_dns_entries is defined
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- name: "Update landing page entries for {{ service_name }}"
|
|
|
|
- name: "Update landing page entries for {{ service_name }}"
|
|
|
|
include_role:
|
|
|
|
include_role:
|
|
|
|
name: _deploy
|
|
|
|
name: _deploy
|
|
|
|
@ -127,50 +97,12 @@
|
|
|
|
current_services: [
|
|
|
|
current_services: [
|
|
|
|
{
|
|
|
|
{
|
|
|
|
current_name: "{{ service_name }}",
|
|
|
|
current_name: "{{ service_name }}",
|
|
|
|
current_url: "{{ http_s }}://{{ service_url }}",
|
|
|
|
current_url: "{{ http_s }}://{{ connect_id }}.{{ domain }}",
|
|
|
|
current_version: "{{ connect_version }}",
|
|
|
|
|
|
|
|
current_date: "{{ ansible_date_time.iso8601 }}",
|
|
|
|
|
|
|
|
management: "{{ http_s }}://{{ service_url }}:{{ monitor_port_service }}/management",
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
]
|
|
|
|
|
|
|
|
tags:
|
|
|
|
|
|
|
|
- update_deployment
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- name: "Update landing page with public entries {{ service_name }}"
|
|
|
|
|
|
|
|
include_role:
|
|
|
|
|
|
|
|
name: _deploy
|
|
|
|
|
|
|
|
tasks_from: caddy_landing_page
|
|
|
|
|
|
|
|
vars:
|
|
|
|
|
|
|
|
current_services: [
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
current_name: "{{ item.name }}",
|
|
|
|
|
|
|
|
current_url: "{{ http_s }}://{{ item.name }}.{{ domain }}",
|
|
|
|
|
|
|
|
current_version: "{{ connect_version }}",
|
|
|
|
|
|
|
|
current_date: "{{ ansible_date_time.iso8601 }}",
|
|
|
|
|
|
|
|
management: "{{ http_s }}://{{ service_url }}:{{ monitor_port_service }}/management",
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
]
|
|
|
|
|
|
|
|
loop: "{{ connect_public_dns_entries }}"
|
|
|
|
|
|
|
|
when: connect_public_dns_entries is defined
|
|
|
|
|
|
|
|
tags:
|
|
|
|
|
|
|
|
- update_deployment
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- name: "Update landing page with extra entries for {{ service_name }}"
|
|
|
|
|
|
|
|
include_role:
|
|
|
|
|
|
|
|
name: _deploy
|
|
|
|
|
|
|
|
tasks_from: caddy_landing_page
|
|
|
|
|
|
|
|
vars:
|
|
|
|
|
|
|
|
current_services: [
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
current_name: "{{ item.name }}",
|
|
|
|
|
|
|
|
current_url: "{{ item.domain }}",
|
|
|
|
|
|
|
|
current_version: "{{ connect_version }}",
|
|
|
|
current_version: "{{ connect_version }}",
|
|
|
|
current_date: "{{ ansible_date_time.iso8601 }}",
|
|
|
|
current_date: "{{ ansible_date_time.iso8601 }}",
|
|
|
|
management: "{{ http_s }}://{{ service_url }}:{{ monitor_port_service }}/management",
|
|
|
|
management: "{{ http_s }}://{{ connect_id }}.{{ domain }}:{{ monitor_port_service }}/management",
|
|
|
|
},
|
|
|
|
},
|
|
|
|
]
|
|
|
|
]
|
|
|
|
loop: "{{ connect_extra_domain_entries }}"
|
|
|
|
|
|
|
|
when: connect_extra_domain_entries is defined
|
|
|
|
|
|
|
|
tags:
|
|
|
|
tags:
|
|
|
|
- update_deployment
|
|
|
|
- update_deployment
|
|
|
|
|
|
|
|
|
|
|
|
|