Add tasks to create DNS records for daemon
This commit is contained in:
parent
9e0bf394bb
commit
b83bf2cdf3
@ -62,7 +62,7 @@ To get started, follow the [installation](../README.md#installation) guide to se
|
|||||||
# password of the user you want to setup on the target host
|
# password of the user you want to setup on the target host
|
||||||
password: ""
|
password: ""
|
||||||
|
|
||||||
# path to the ssh key on your machine, eg: "/home/dev/.ssh/id_rsa.pub"
|
# path to the ssh key on your machine, eg: "/home/user/.ssh/id_rsa.pub"
|
||||||
path_to_ssh_key: ""
|
path_to_ssh_key: ""
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -166,8 +166,8 @@ To get started, follow the [installation](../README.md#installation) guide to se
|
|||||||
|
|
||||||
After the playbook finishes executing, the following services will be deployed (your setup should look similar to the example below):
|
After the playbook finishes executing, the following services will be deployed (your setup should look similar to the example below):
|
||||||
|
|
||||||
- laconicd chain RPC endpoint: http://lcn-cad-cluster-control.laconic.com:26657
|
- laconicd chain RPC endpoint: http://lcn-daemon.laconic.com:26657
|
||||||
- laconic console: http://lcn-cad-cluster-control.laconic.com:8080/registry
|
- laconic console: http://lcn-daemon.laconic.com:8080/registry
|
||||||
- laconicd GQL endpoint: http://lcn-cad-cluster-control.laconic.com:9473/api
|
- laconicd GQL endpoint: http://lcn-daemon.laconic.com:9473/api
|
||||||
- webapp deployer API: https://webapp-deployer-api.pwa.laconic.com
|
- webapp deployer API: https://webapp-deployer-api.pwa.laconic.com
|
||||||
- webapp deployer UI: https://webapp-deployer-ui.pwa.laconic.com
|
- webapp deployer UI: https://webapp-deployer-ui.pwa.laconic.com
|
||||||
|
@ -53,7 +53,7 @@
|
|||||||
register: dns_check
|
register: dns_check
|
||||||
retries: 5
|
retries: 5
|
||||||
delay: 5
|
delay: 5
|
||||||
until: dns_check.rc == 0
|
until: dns_check.rc == 0
|
||||||
ignore_errors: yes
|
ignore_errors: yes
|
||||||
|
|
||||||
- name: Fail if DNS does not resolve after retries
|
- name: Fail if DNS does not resolve after retries
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
|
|
||||||
vars_files:
|
vars_files:
|
||||||
- vars/dns-vars.yml
|
- vars/dns-vars.yml
|
||||||
|
- vars/k8s-vars.yml
|
||||||
|
|
||||||
tasks:
|
tasks:
|
||||||
- name: Create a domain
|
- name: Create a domain
|
||||||
@ -21,6 +22,15 @@
|
|||||||
name: "{{ subdomain_prefix }}-cluster-control"
|
name: "{{ subdomain_prefix }}-cluster-control"
|
||||||
data: "{{ service_provider_ip }}"
|
data: "{{ service_provider_ip }}"
|
||||||
|
|
||||||
|
- name: Create record for daemon machine
|
||||||
|
community.digitalocean.digital_ocean_domain_record:
|
||||||
|
state: present
|
||||||
|
oauth_token: "{{ do_api_token }}"
|
||||||
|
domain: "{{ full_domain }}"
|
||||||
|
type: A
|
||||||
|
name: "{{ org_id }}-daemon"
|
||||||
|
data: "{{ service_provider_ip }}"
|
||||||
|
|
||||||
- name: Create CNAME record for www
|
- name: Create CNAME record for www
|
||||||
community.digitalocean.digital_ocean_domain_record:
|
community.digitalocean.digital_ocean_domain_record:
|
||||||
state: present
|
state: present
|
||||||
@ -38,16 +48,57 @@
|
|||||||
data: "{{ subdomain_cluster_control }}.{{ full_domain }}"
|
data: "{{ subdomain_cluster_control }}.{{ full_domain }}"
|
||||||
domain: "{{ full_domain }}"
|
domain: "{{ full_domain }}"
|
||||||
type: CNAME
|
type: CNAME
|
||||||
name: "{{ subdomain_prefix }}"
|
name: "{{ subdomain_prefix }}.{{ full_domain }}"
|
||||||
ttl: 43200
|
ttl: 43200
|
||||||
|
|
||||||
- name: Create wildcard CNAME record for subdomain
|
- name: Create CNAME record for laconicd endpoint
|
||||||
community.digitalocean.digital_ocean_domain_record:
|
community.digitalocean.digital_ocean_domain_record:
|
||||||
state: present
|
state: present
|
||||||
oauth_token: "{{ do_api_token }}"
|
oauth_token: "{{ do_api_token }}"
|
||||||
data: "{{ subdomain_cluster_control }}.{{ full_domain }}"
|
data: "{{ org_id }}-daemon.{{ full_domain }}"
|
||||||
domain: "{{ full_domain }}"
|
domain: "{{ full_domain }}"
|
||||||
type: CNAME
|
type: CNAME
|
||||||
|
name: "laconicd.{{ full_domain }}"
|
||||||
|
ttl: 43200
|
||||||
|
|
||||||
|
- name: Create CNAME record for backend
|
||||||
|
community.digitalocean.digital_ocean_domain_record:
|
||||||
|
state: present
|
||||||
|
oauth_token: "{{ do_api_token }}"
|
||||||
|
data: "{{ org_id }}-daemon.{{ full_domain }}"
|
||||||
|
domain: "{{ full_domain }}"
|
||||||
|
type: CNAME
|
||||||
|
name: "{{ org_id }}-backend.{{ full_domain }}"
|
||||||
|
ttl: 43200
|
||||||
|
|
||||||
|
- name: Create CNAME record for console
|
||||||
|
community.digitalocean.digital_ocean_domain_record:
|
||||||
|
state: present
|
||||||
|
oauth_token: "{{ do_api_token }}"
|
||||||
|
data: "{{ org_id }}-daemon.{{ full_domain }}"
|
||||||
|
domain: "{{ full_domain }}"
|
||||||
|
type: CNAME
|
||||||
|
name: "{{ org_id }}-console.{{ full_domain }}"
|
||||||
|
ttl: 43200
|
||||||
|
|
||||||
|
- name: Create CNAME record for org and location
|
||||||
|
community.digitalocean.digital_ocean_domain_record:
|
||||||
|
state: present
|
||||||
|
oauth_token: "{{ do_api_token }}"
|
||||||
|
data: "{{ org_id }}-daemon.{{ full_domain }}"
|
||||||
|
domain: "{{ full_domain }}"
|
||||||
|
type: CNAME
|
||||||
|
name: "{{ subdomain_prefix }}"
|
||||||
|
ttl: 43200
|
||||||
|
|
||||||
|
- name: Create wildcard A record for subdomain
|
||||||
|
community.digitalocean.digital_ocean_domain_record:
|
||||||
|
state: present
|
||||||
|
oauth_token: "{{ do_api_token }}"
|
||||||
|
name: "{{ subdomain_cluster_control }}.{{ full_domain }}"
|
||||||
|
data: "{{ service_provider_ip }}"
|
||||||
|
domain: "{{ full_domain }}"
|
||||||
|
type: A
|
||||||
name: "*.{{ subdomain_prefix }}"
|
name: "*.{{ subdomain_prefix }}"
|
||||||
ttl: 43200
|
ttl: 43200
|
||||||
|
|
||||||
@ -61,12 +112,13 @@
|
|||||||
name: "pwa"
|
name: "pwa"
|
||||||
ttl: 43200
|
ttl: 43200
|
||||||
|
|
||||||
- name: Create wildcard CNAME record for pwa
|
- name: Create wildcard A record for pwa
|
||||||
community.digitalocean.digital_ocean_domain_record:
|
community.digitalocean.digital_ocean_domain_record:
|
||||||
state: present
|
state: present
|
||||||
oauth_token: "{{ do_api_token }}"
|
oauth_token: "{{ do_api_token }}"
|
||||||
data: "{{ subdomain_cluster_control }}.{{ full_domain }}"
|
name: "{{ subdomain_cluster_control }}.{{ full_domain }}"
|
||||||
|
data: "{{ service_provider_ip }}"
|
||||||
domain: "{{ full_domain }}"
|
domain: "{{ full_domain }}"
|
||||||
type: CNAME
|
type: A
|
||||||
name: "*.pwa"
|
name: "*.pwa"
|
||||||
ttl: 43200
|
ttl: 43200
|
||||||
|
@ -28,6 +28,7 @@
|
|||||||
name: "{{ ansible_user }}"
|
name: "{{ ansible_user }}"
|
||||||
groups: docker
|
groups: docker
|
||||||
append: true
|
append: true
|
||||||
|
become: yes
|
||||||
|
|
||||||
- name: Install Ansible on remote host
|
- name: Install Ansible on remote host
|
||||||
pip:
|
pip:
|
||||||
|
@ -48,6 +48,7 @@
|
|||||||
hostname:
|
hostname:
|
||||||
name: "{{ inventory_hostname }}"
|
name: "{{ inventory_hostname }}"
|
||||||
when: ansible_hostname != inventory_hostname
|
when: ansible_hostname != inventory_hostname
|
||||||
|
become: yes
|
||||||
|
|
||||||
- name: Verify status of firewalld and enable sshguard
|
- name: Verify status of firewalld and enable sshguard
|
||||||
systemd:
|
systemd:
|
||||||
@ -72,11 +73,13 @@
|
|||||||
- snapd.seeded
|
- snapd.seeded
|
||||||
- snapd.snap-repair.timer
|
- snapd.snap-repair.timer
|
||||||
ignore_errors: yes
|
ignore_errors: yes
|
||||||
|
become: yes
|
||||||
|
|
||||||
- name: Purge snapd
|
- name: Purge snapd
|
||||||
apt:
|
apt:
|
||||||
name: snapd
|
name: snapd
|
||||||
state: absent
|
state: absent
|
||||||
|
become: yes
|
||||||
|
|
||||||
- name: Remove snap directories
|
- name: Remove snap directories
|
||||||
file:
|
file:
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
CERC_LACONICD_USER_KEY={{ALICE_PK}}
|
CERC_LACONICD_USER_KEY={{ALICE_PK}}
|
||||||
CERC_LACONICD_BOND_ID={{BOND_ID}}
|
CERC_LACONICD_BOND_ID={{BOND_ID}}
|
||||||
CERC_LACONICD_RPC_ENDPOINT=http://{{ org_id }}-{{ location_id }}-cluster-control.{{ full_domain }}:26657
|
CERC_LACONICD_RPC_ENDPOINT=http://{{ org_id }}-daemon.{{ full_domain }}:26657
|
||||||
CERC_LACONICD_GQL_ENDPOINT=http://{{ org_id }}-{{ location_id }}-cluster-control.{{ full_domain }}:9473/api
|
CERC_LACONICD_GQL_ENDPOINT=http://{{ org_id }}-daemon.{{ full_domain }}:9473/api
|
||||||
LACONIC_HOSTED_ENDPOINT=http://{{ org_id }}-{{ location_id }}-cluster-control.{{ full_domain }}:9473
|
LACONIC_HOSTED_ENDPOINT=http://{{ org_id }}-daemon.{{ full_domain }}:9473
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
CERC_WEBAPP_DEBUG=0.1.0
|
CERC_WEBAPP_DEBUG=0.1.0
|
||||||
LACONIC_HOSTED_CONFIG_app_api_url=https://webapp-deployer-api.pwa.{{ full_domain }}
|
LACONIC_HOSTED_CONFIG_app_api_url=https://webapp-deployer-api.pwa.{{ full_domain }}
|
||||||
LACONIC_HOSTED_CONFIG_app_console_link=http://{{ org_id }}-{{ location_id }}-cluster-control.{{ full_domain }}:9473/console?query=%0A%20%20fragment%20ValueParts%20on%20Value%20%7B%0A%20%20%20%20...%20on%20BooleanValue%20%7B%0A%20%20%20%20%20%20bool%3A%20value%0A%20%20%20%20%7D%0A%20%20%20%20...%20on%20IntValue%20%7B%0A%20%20%20%20%20%20int%3A%20value%0A%20%20%20%20%7D%0A%20%20%20%20...%20on%20FloatValue%20%7B%0A%20%20%20%20%20%20float%3A%20value%0A%20%20%20%20%7D%0A%20%20%20%20...%20on%20StringValue%20%7B%0A%20%20%20%20%20%20string%3A%20value%0A%20%20%20%20%7D%0A%20%20%20%20...%20on%20BytesValue%20%7B%0A%20%20%20%20%20%20bytes%3A%20value%0A%20%20%20%20%7D%0A%20%20%20%20...%20on%20LinkValue%20%7B%0A%20%20%20%20%20%20link%3A%20value%0A%20%20%20%20%7D%0A%20%20%7D%0A%0A%20%20fragment%20AttrParts%20on%20Attribute%20%7B%0A%20%20%20%20key%0A%20%20%20%20value%20%7B%0A%20%20%20%20%20%20...ValueParts%0A%20%20%20%20%20%20...%20on%20ArrayValue%20%7B%0A%20%20%20%20%20%20%20%20value%20%7B%0A%20%20%20%20%20%20%20%20%20%20...ValueParts%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%7D%0A%0A%20%20%7B%0A%20%20%20%20getRecordsByIds(ids%3A%20%5B%22#RQID#%22%5D)%20%7B%0A%20%20%20%20%20%20id%0A%20%20%20%20%20%20names%0A%20%20%20%20%20%20bondId%0A%20%20%20%20%20%20createTime%0A%20%20%20%20%20%20expiryTime%0A%20%20%20%20%20%20owners%0A%20%20%20%20%20%20attributes%20%7B%0A%20%20%20%20%20%20%20%20...AttrParts%0A%20%20%20%20%20%20%20%20value%20%7B%0A%20%20%20%20%20%20%20%20%20%20...%20on%20MapValue%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20map%3A%20value%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20...AttrParts%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%7D%0A
|
LACONIC_HOSTED_CONFIG_app_console_link=http://{{ org_id }}-daemon.{{ full_domain }}:9473/console?query=%0A%20%20fragment%20ValueParts%20on%20Value%20%7B%0A%20%20%20%20...%20on%20BooleanValue%20%7B%0A%20%20%20%20%20%20bool%3A%20value%0A%20%20%20%20%7D%0A%20%20%20%20...%20on%20IntValue%20%7B%0A%20%20%20%20%20%20int%3A%20value%0A%20%20%20%20%7D%0A%20%20%20%20...%20on%20FloatValue%20%7B%0A%20%20%20%20%20%20float%3A%20value%0A%20%20%20%20%7D%0A%20%20%20%20...%20on%20StringValue%20%7B%0A%20%20%20%20%20%20string%3A%20value%0A%20%20%20%20%7D%0A%20%20%20%20...%20on%20BytesValue%20%7B%0A%20%20%20%20%20%20bytes%3A%20value%0A%20%20%20%20%7D%0A%20%20%20%20...%20on%20LinkValue%20%7B%0A%20%20%20%20%20%20link%3A%20value%0A%20%20%20%20%7D%0A%20%20%7D%0A%0A%20%20fragment%20AttrParts%20on%20Attribute%20%7B%0A%20%20%20%20key%0A%20%20%20%20value%20%7B%0A%20%20%20%20%20%20...ValueParts%0A%20%20%20%20%20%20...%20on%20ArrayValue%20%7B%0A%20%20%20%20%20%20%20%20value%20%7B%0A%20%20%20%20%20%20%20%20%20%20...ValueParts%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%7D%0A%0A%20%20%7B%0A%20%20%20%20getRecordsByIds(ids%3A%20%5B%22#RQID#%22%5D)%20%7B%0A%20%20%20%20%20%20id%0A%20%20%20%20%20%20names%0A%20%20%20%20%20%20bondId%0A%20%20%20%20%20%20createTime%0A%20%20%20%20%20%20expiryTime%0A%20%20%20%20%20%20owners%0A%20%20%20%20%20%20attributes%20%7B%0A%20%20%20%20%20%20%20%20...AttrParts%0A%20%20%20%20%20%20%20%20value%20%7B%0A%20%20%20%20%20%20%20%20%20%20...%20on%20MapValue%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20map%3A%20value%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20...AttrParts%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%7D%0A
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
services:
|
services:
|
||||||
registry:
|
registry:
|
||||||
rpcEndpoint: 'http://{{ subdomain_cluster_control }}.{{ full_domain }}:26657'
|
rpcEndpoint: 'http://{{ org_id }}-daemon.{{ full_domain }}:26657'
|
||||||
gqlEndpoint: 'http://{{ subdomain_cluster_control}}.{{ full_domain }}:9473/api'
|
gqlEndpoint: 'http://{{ org_id }}-daemon.{{ full_domain }}:9473/api'
|
||||||
userKey: "{{ ALICE_PK }}"
|
userKey: "{{ ALICE_PK }}"
|
||||||
bondId: "{{ BOND_ID }}"
|
bondId: "{{ BOND_ID }}"
|
||||||
chainId: lorotestnet-1
|
chainId: lorotestnet-1
|
||||||
|
Loading…
Reference in New Issue
Block a user