mirror of
https://github.com/trailofbits/algo
synced 2024-11-18 09:25:38 +00:00
87 lines
2.3 KiB
YAML
87 lines
2.3 KiB
YAML
- name: Configure the server
|
|
hosts: localhost
|
|
tags: algo
|
|
vars_files:
|
|
- config.cfg
|
|
|
|
pre_tasks:
|
|
- name: Local pre-tasks
|
|
include: playbooks/local.yml
|
|
tags: [ 'always' ]
|
|
|
|
roles:
|
|
- { role: cloud-digitalocean, tags: ['digitalocean'] }
|
|
- { role: cloud-ec2, tags: ['ec2'] }
|
|
- { role: cloud-gce, tags: ['gce'] }
|
|
- { role: cloud-azure, tags: ['azure'] }
|
|
- { role: local, tags: ['local'] }
|
|
|
|
post_tasks:
|
|
- name: Wait until SSH becomes ready...
|
|
local_action:
|
|
module: wait_for
|
|
port: 22
|
|
host: "{{ cloud_instance_ip }}"
|
|
search_regex: "OpenSSH"
|
|
delay: 10
|
|
timeout: 320
|
|
state: present
|
|
become: false
|
|
tags:
|
|
- cloud
|
|
|
|
- name: A short pause, in order to be sure the instance is ready
|
|
pause:
|
|
seconds: 10
|
|
tags:
|
|
- cloud
|
|
|
|
- name: Configure the server and install required software
|
|
hosts: vpn-host
|
|
gather_facts: false
|
|
tags: algo
|
|
become: true
|
|
vars_files:
|
|
- config.cfg
|
|
|
|
pre_tasks:
|
|
- name: Common pre-tasks
|
|
include: playbooks/common.yml
|
|
tags: [ 'digitalocean', 'ec2', 'gce', 'azure', 'local', 'pre' ]
|
|
|
|
- set_fact:
|
|
cloud_deployment: true
|
|
tags: ['cloud']
|
|
|
|
roles:
|
|
- { role: security, tags: [ 'security' ] }
|
|
- { role: proxy, tags: [ 'proxy', 'adblock' ] }
|
|
- { role: dns_adblocking, tags: ['dns', 'adblock' ] }
|
|
- { role: logging, tags: [ 'logging' ] }
|
|
- { role: ssh_tunneling, tags: [ 'ssh_tunneling' ] }
|
|
- { role: vpn, tags: [ 'vpn' ] }
|
|
|
|
post_tasks:
|
|
- debug:
|
|
msg:
|
|
- "{{ congrats.common.split('\n') }}"
|
|
- " {{ congrats.p12_pass }}"
|
|
- " {% if Store_CAKEY is defined and Store_CAKEY == 'N' %}{% else %}{{ congrats.ca_key_pass }}{% endif %}"
|
|
- " {% if cloud_deployment is defined %}{{ congrats.ssh_access }}{% endif %}"
|
|
tags: always
|
|
|
|
- name: Save the CA key password
|
|
local_action: >
|
|
shell echo "{{ easyrsa_CA_password }}" > /tmp/ca_password
|
|
become: no
|
|
tags: tests
|
|
|
|
- name: Delete the CA key
|
|
local_action:
|
|
module: file
|
|
path: "configs/{{ IP_subject_alt_name }}/pki/private/cakey.pem"
|
|
state: absent
|
|
become: no
|
|
tags: always
|
|
when: Store_CAKEY is defined and Store_CAKEY == "N"
|