|
18 | 18 | - { name: Google Compute Engine, alias: gce }
|
19 | 19 | - { name: Hetzner Cloud, alias: hetzner }
|
20 | 20 | - { name: Vultr, alias: vultr }
|
21 |
| - - { name: Scaleway, alias: scaleway} |
| 21 | + - { name: Scaleway, alias: scaleway } |
22 | 22 | - { name: OpenStack (DreamCompute optimised), alias: openstack }
|
23 | 23 | - { name: CloudStack (Exoscale optimised), alias: cloudstack }
|
24 | 24 | - { name: Linode, alias: linode }
|
25 |
| - - { name: "Install to existing Ubuntu 18.04 or 20.04 server (for more advanced users)", alias: local } |
| 25 | + - { name: Install to existing Ubuntu 18.04 or 20.04 server (for more advanced users), alias: local } |
26 | 26 | vars_files:
|
27 | 27 | - config.cfg
|
28 | 28 |
|
29 | 29 | tasks:
|
30 | 30 | - block:
|
31 |
| - - name: Cloud prompt |
32 |
| - pause: |
33 |
| - prompt: | |
34 |
| - What provider would you like to use? |
35 |
| - {% for p in providers_map %} |
36 |
| - {{ loop.index }}. {{ p['name'] }} |
37 |
| - {% endfor %} |
| 31 | + - name: Cloud prompt |
| 32 | + pause: |
| 33 | + prompt: | |
| 34 | + What provider would you like to use? |
| 35 | + {% for p in providers_map %} |
| 36 | + {{ loop.index }}. {{ p['name'] }} |
| 37 | + {% endfor %} |
38 | 38 |
|
39 |
| - Enter the number of your desired provider |
40 |
| - register: _algo_provider |
41 |
| - when: provider is undefined |
| 39 | + Enter the number of your desired provider |
| 40 | + register: _algo_provider |
| 41 | + when: provider is undefined |
42 | 42 |
|
43 |
| - - name: Set facts based on the input |
44 |
| - set_fact: |
45 |
| - algo_provider: "{{ provider | default(providers_map[_algo_provider.user_input|default(omit)|int - 1]['alias']) }}" |
| 43 | + - name: Set facts based on the input |
| 44 | + set_fact: |
| 45 | + algo_provider: "{{ provider | default(providers_map[_algo_provider.user_input|default(omit)|int - 1]['alias']) }}" |
46 | 46 |
|
47 |
| - - name: VPN server name prompt |
48 |
| - pause: |
49 |
| - prompt: | |
50 |
| - Name the vpn server |
51 |
| - [algo] |
52 |
| - register: _algo_server_name |
53 |
| - when: |
54 |
| - - server_name is undefined |
55 |
| - - algo_provider != "local" |
| 47 | + - name: VPN server name prompt |
| 48 | + pause: |
| 49 | + prompt: | |
| 50 | + Name the vpn server |
| 51 | + [algo] |
| 52 | + register: _algo_server_name |
| 53 | + when: |
| 54 | + - server_name is undefined |
| 55 | + - algo_provider != "local" |
56 | 56 |
|
57 |
| - - name: Cellular On Demand prompt |
58 |
| - pause: |
59 |
| - prompt: | |
60 |
| - Do you want macOS/iOS clients to enable "Connect On Demand" when connected to cellular networks? |
61 |
| - [y/N] |
62 |
| - register: _ondemand_cellular |
63 |
| - when: ondemand_cellular is undefined |
| 57 | + - name: Cellular On Demand prompt |
| 58 | + pause: |
| 59 | + prompt: | |
| 60 | + Do you want macOS/iOS clients to enable "Connect On Demand" when connected to cellular networks? |
| 61 | + [y/N] |
| 62 | + register: _ondemand_cellular |
| 63 | + when: ondemand_cellular is undefined |
64 | 64 |
|
65 |
| - - name: Wi-Fi On Demand prompt |
66 |
| - pause: |
67 |
| - prompt: | |
68 |
| - Do you want macOS/iOS clients to enable "Connect On Demand" when connected to Wi-Fi? |
69 |
| - [y/N] |
70 |
| - register: _ondemand_wifi |
71 |
| - when: ondemand_wifi is undefined |
| 65 | + - name: Wi-Fi On Demand prompt |
| 66 | + pause: |
| 67 | + prompt: | |
| 68 | + Do you want macOS/iOS clients to enable "Connect On Demand" when connected to Wi-Fi? |
| 69 | + [y/N] |
| 70 | + register: _ondemand_wifi |
| 71 | + when: ondemand_wifi is undefined |
72 | 72 |
|
73 |
| - - name: Trusted Wi-Fi networks prompt |
74 |
| - pause: |
75 |
| - prompt: | |
76 |
| - List the names of any trusted Wi-Fi networks where macOS/iOS clients should not use "Connect On Demand" |
77 |
| - (e.g., your home network. Comma-separated value, e.g., HomeNet,OfficeWifi,AlgoWiFi) |
78 |
| - register: _ondemand_wifi_exclude |
79 |
| - when: |
80 |
| - - ondemand_wifi_exclude is undefined |
81 |
| - - (ondemand_wifi|default(false)|bool) or |
82 |
| - (booleans_map[_ondemand_wifi.user_input|default(omit)]|default(false)) |
| 73 | + - name: Trusted Wi-Fi networks prompt |
| 74 | + pause: |
| 75 | + prompt: | |
| 76 | + List the names of any trusted Wi-Fi networks where macOS/iOS clients should not use "Connect On Demand" |
| 77 | + (e.g., your home network. Comma-separated value, e.g., HomeNet,OfficeWifi,AlgoWiFi) |
| 78 | + register: _ondemand_wifi_exclude |
| 79 | + when: |
| 80 | + - ondemand_wifi_exclude is undefined |
| 81 | + - (ondemand_wifi|default(false)|bool) or (booleans_map[_ondemand_wifi.user_input|default(omit)]|default(false)) |
83 | 82 |
|
84 |
| - - name: Retain the PKI prompt |
85 |
| - pause: |
86 |
| - prompt: | |
87 |
| - Do you want to retain the keys (PKI)? (required to add users in the future, but less secure) |
88 |
| - [y/N] |
89 |
| - register: _store_pki |
90 |
| - when: |
91 |
| - - store_pki is undefined |
92 |
| - - ipsec_enabled |
| 83 | + - name: Retain the PKI prompt |
| 84 | + pause: |
| 85 | + prompt: | |
| 86 | + Do you want to retain the keys (PKI)? (required to add users in the future, but less secure) |
| 87 | + [y/N] |
| 88 | + register: _store_pki |
| 89 | + when: |
| 90 | + - store_pki is undefined |
| 91 | + - ipsec_enabled |
93 | 92 |
|
94 |
| - - name: DNS adblocking prompt |
95 |
| - pause: |
96 |
| - prompt: | |
97 |
| - Do you want to enable DNS ad blocking on this VPN server? |
98 |
| - [y/N] |
99 |
| - register: _dns_adblocking |
100 |
| - when: dns_adblocking is undefined |
| 93 | + - name: DNS adblocking prompt |
| 94 | + pause: |
| 95 | + prompt: | |
| 96 | + Do you want to enable DNS ad blocking on this VPN server? |
| 97 | + [y/N] |
| 98 | + register: _dns_adblocking |
| 99 | + when: dns_adblocking is undefined |
101 | 100 |
|
102 |
| - - name: SSH tunneling prompt |
103 |
| - pause: |
104 |
| - prompt: | |
105 |
| - Do you want each user to have their own account for SSH tunneling? |
106 |
| - [y/N] |
107 |
| - register: _ssh_tunneling |
108 |
| - when: ssh_tunneling is undefined |
| 101 | + - name: SSH tunneling prompt |
| 102 | + pause: |
| 103 | + prompt: | |
| 104 | + Do you want each user to have their own account for SSH tunneling? |
| 105 | + [y/N] |
| 106 | + register: _ssh_tunneling |
| 107 | + when: ssh_tunneling is undefined |
109 | 108 |
|
110 |
| - - name: Set facts based on the input |
111 |
| - set_fact: |
112 |
| - algo_server_name: >- |
113 |
| - {% if server_name is defined %}{% set _server = server_name %} |
114 |
| - {%- elif _algo_server_name.user_input is defined and _algo_server_name.user_input|length > 0 -%} |
115 |
| - {%- set _server = _algo_server_name.user_input -%} |
116 |
| - {%- else %}{% set _server = defaults['server_name'] %}{% endif -%} |
117 |
| - {{ _server | regex_replace('(?!\.)(\W|_)', '-') }} |
118 |
| - algo_ondemand_cellular: >- |
119 |
| - {% if ondemand_cellular is defined %}{{ ondemand_cellular | bool }} |
120 |
| - {%- elif _ondemand_cellular.user_input is defined %}{{ booleans_map[_ondemand_cellular.user_input] | default(defaults['ondemand_cellular']) }} |
121 |
| - {%- else %}false{% endif %} |
122 |
| - algo_ondemand_wifi: >- |
123 |
| - {% if ondemand_wifi is defined %}{{ ondemand_wifi | bool }} |
124 |
| - {%- elif _ondemand_wifi.user_input is defined %}{{ booleans_map[_ondemand_wifi.user_input] | default(defaults['ondemand_wifi']) }} |
125 |
| - {%- else %}false{% endif %} |
126 |
| - algo_ondemand_wifi_exclude: >- |
127 |
| - {% if ondemand_wifi_exclude is defined %}{{ ondemand_wifi_exclude | b64encode }} |
128 |
| - {%- elif _ondemand_wifi_exclude.user_input is defined and _ondemand_wifi_exclude.user_input|length > 0 -%} |
129 |
| - {{ _ondemand_wifi_exclude.user_input | b64encode }} |
130 |
| - {%- else %}{{ '_null' | b64encode }}{% endif %} |
131 |
| - algo_dns_adblocking: >- |
132 |
| - {% if dns_adblocking is defined %}{{ dns_adblocking | bool }} |
133 |
| - {%- elif _dns_adblocking.user_input is defined %}{{ booleans_map[_dns_adblocking.user_input] | default(defaults['dns_adblocking']) }} |
134 |
| - {%- else %}false{% endif %} |
135 |
| - algo_ssh_tunneling: >- |
136 |
| - {% if ssh_tunneling is defined %}{{ ssh_tunneling | bool }} |
137 |
| - {%- elif _ssh_tunneling.user_input is defined %}{{ booleans_map[_ssh_tunneling.user_input] | default(defaults['ssh_tunneling']) }} |
138 |
| - {%- else %}false{% endif %} |
139 |
| - algo_store_pki: >- |
140 |
| - {% if ipsec_enabled %}{%- if store_pki is defined %}{{ store_pki | bool }} |
141 |
| - {%- elif _store_pki.user_input is defined %}{{ booleans_map[_store_pki.user_input] | default(defaults['store_pki']) }} |
142 |
| - {%- else %}false{% endif %}{% endif %} |
| 109 | + - name: Set facts based on the input |
| 110 | + set_fact: |
| 111 | + algo_server_name: >- |
| 112 | + {% if server_name is defined %}{% set _server = server_name %} |
| 113 | + {%- elif _algo_server_name.user_input is defined and _algo_server_name.user_input|length > 0 -%} |
| 114 | + {%- set _server = _algo_server_name.user_input -%} |
| 115 | + {%- else %}{% set _server = defaults['server_name'] %}{% endif -%} |
| 116 | + {{ _server | regex_replace('(?!\.)(\W|_)', '-') }} |
| 117 | + algo_ondemand_cellular: >- |
| 118 | + {% if ondemand_cellular is defined %}{{ ondemand_cellular | bool }} |
| 119 | + {%- elif _ondemand_cellular.user_input is defined %}{{ booleans_map[_ondemand_cellular.user_input] | default(defaults['ondemand_cellular']) }} |
| 120 | + {%- else %}false{% endif %} |
| 121 | + algo_ondemand_wifi: >- |
| 122 | + {% if ondemand_wifi is defined %}{{ ondemand_wifi | bool }} |
| 123 | + {%- elif _ondemand_wifi.user_input is defined %}{{ booleans_map[_ondemand_wifi.user_input] | default(defaults['ondemand_wifi']) }} |
| 124 | + {%- else %}false{% endif %} |
| 125 | + algo_ondemand_wifi_exclude: >- |
| 126 | + {% if ondemand_wifi_exclude is defined %}{{ ondemand_wifi_exclude | b64encode }} |
| 127 | + {%- elif _ondemand_wifi_exclude.user_input is defined and _ondemand_wifi_exclude.user_input|length > 0 -%} |
| 128 | + {{ _ondemand_wifi_exclude.user_input | b64encode }} |
| 129 | + {%- else %}{{ '_null' | b64encode }}{% endif %} |
| 130 | + algo_dns_adblocking: >- |
| 131 | + {% if dns_adblocking is defined %}{{ dns_adblocking | bool }} |
| 132 | + {%- elif _dns_adblocking.user_input is defined %}{{ booleans_map[_dns_adblocking.user_input] | default(defaults['dns_adblocking']) }} |
| 133 | + {%- else %}false{% endif %} |
| 134 | + algo_ssh_tunneling: >- |
| 135 | + {% if ssh_tunneling is defined %}{{ ssh_tunneling | bool }} |
| 136 | + {%- elif _ssh_tunneling.user_input is defined %}{{ booleans_map[_ssh_tunneling.user_input] | default(defaults['ssh_tunneling']) }} |
| 137 | + {%- else %}false{% endif %} |
| 138 | + algo_store_pki: >- |
| 139 | + {% if ipsec_enabled %}{%- if store_pki is defined %}{{ store_pki | bool }} |
| 140 | + {%- elif _store_pki.user_input is defined %}{{ booleans_map[_store_pki.user_input] | default(defaults['store_pki']) }} |
| 141 | + {%- else %}false{% endif %}{% endif %} |
143 | 142 | rescue:
|
144 | 143 | - include_tasks: playbooks/rescue.yml
|
0 commit comments