-
Notifications
You must be signed in to change notification settings - Fork 9
/
Copy pathconsul.yml
96 lines (88 loc) · 4 KB
/
consul.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
---
- name: Define Consul services
set_fact:
consul_services:
- id: '{{ nim_waku_cont_name }}'
name: '{{ nim_waku_cont_name }}'
port: '{{ nim_waku_p2p_tcp_port }}'
address: '{{ ansible_host }}'
tags: ['env:{{ env }}', 'stage:{{ stage }}', 'nim', 'waku', 'libp2p']
meta:
node_enode: '{{ nim_waku_libp2p_multiaddr | default("unknown") }}'
checks:
- name: '{{ nim_waku_cont_name }}-health'
type: 'tcp'
tcp: 'localhost:{{ nim_waku_p2p_tcp_port }}'
- id: '{{ nim_waku_cont_name }}-enr'
name: '{{ nim_waku_cont_name }}-enr'
port: '{{ nim_waku_p2p_tcp_port }}'
address: '{{ ansible_host }}'
tags: ['env:{{ env }}', 'stage:{{ stage }}', 'nim', 'waku', 'enr']
meta:
node_enode: '{{ nim_waku_libp2p_enr_uri | default("unknown") }}'
- id: '{{ nim_waku_cont_name }}-metrics'
name: '{{ nim_waku_cont_name }}-metrics'
port: '{{ nim_waku_metrics_port }}'
address: '{{ ansible_local.wireguard.vpn_ip }}'
tags: ['env:{{ env }}', 'stage:{{ stage }}', 'nim', 'waku', 'metrics']
meta:
container: '{{ nim_waku_cont_name }}'
checks:
- name: 'beacon-node-metrics-health'
type: 'http'
http: 'http://localhost:{{ nim_waku_metrics_port }}/health'
- id: '{{ nim_waku_cont_name }}-rpc'
name: '{{ nim_waku_cont_name }}-rpc'
port: '{{ nim_waku_rpc_tcp_port }}'
address: '{{ ansible_local.wireguard.vpn_ip }}'
tags: ['env:{{ env }}', 'stage:{{ stage }}', 'nim', 'waku', 'rpc']
#checks:
# - id: '{{ nim_waku_cont_name }}-rpc-health'
# type: 'script'
# script: '{{ nim_waku_cont_vol }}/rpc.sh get_waku_v2_debug_v1_info'
- name: Define Websocket service
when: nim_waku_websocket_enabled
set_fact:
consul_service_websocket:
- id: '{{ nim_waku_cont_name }}-websocket'
name: '{{ nim_waku_cont_name }}-websocket'
port: '{{ nim_waku_websock_port }}'
address: '{{ ansible_host }}'
tags: ['env:{{ env }}', 'stage:{{ stage }}', 'nim', 'waku', 'websocket']
meta:
node_enode: '/dns4/{{ nim_waku_websocket_domain | mandatory }}/tcp/{{ nim_waku_websock_port }}/wss/p2p/{{ nim_waku_peer_id }}'
checks:
- name: '{{ nim_waku_cont_name }}-websocket-health'
type: 'script'
script: 'websocat -vk1E wss://127.0.0.1:{{ nim_waku_websock_port }}'
interval: '60s'
- name: Define Websockify service
when: nim_waku_websockify_enabled
set_fact:
consul_service_websockify:
- id: '{{ nim_waku_cont_name }}-websockify'
name: '{{ nim_waku_cont_name }}-websockify'
port: '{{ nim_waku_websockify_cont_port }}'
address: '{{ ansible_host }}'
tags: ['env:{{ env }}', 'stage:{{ stage }}', 'nim', 'waku', 'websockify']
meta:
node_enode: '/dns4/{{ nim_waku_websockify_domain | mandatory }}/tcp/{{ nim_waku_websockify_cont_port }}/wss/p2p/{{ nim_waku_peer_id }}'
checks:
- name: '{{ nim_waku_cont_name }}-websockify-health'
type: 'script'
script: 'websocat -vk1E wss://127.0.0.1:{{ nim_waku_websockify_cont_port }}'
- name: Add Websocket Consul service
when: nim_waku_websocket_enabled
set_fact:
consul_services: '{{ consul_services + consul_service_websocket }}'
- name: Add Websockify Consul service
when: nim_waku_websockify_enabled
set_fact:
consul_services: '{{ consul_services + consul_service_websockify }}'
- name: 'Consul service definition - {{ nim_waku_cont_name }}'
include_role: name=consul-service
vars:
consul_config_name: '{{ nim_waku_cont_name | replace("-", "_") }}'
consul_default_success_before_passing: '{{ nim_waku_consul_success_before_passing }}'
consul_default_failures_before_warning: '{{ nim_waku_consul_failures_before_warning }}'
consul_default_failures_before_critical: '{{ nim_waku_consul_failures_before_critical }}'