mirror of
https://github.com/trailofbits/algo
synced 2024-11-13 19:12:06 +00:00
41 lines
1.5 KiB
YAML
41 lines
1.5 KiB
YAML
- set_fact:
|
|
credentials_file_lookup: "{{ lookup('file', '{{ credentials_file }}') }}"
|
|
ssh_public_key_lookup: "{{ lookup('file', '{{ ssh_public_key }}') }}"
|
|
|
|
- name: "Creating a new instance..."
|
|
gce:
|
|
instance_names: "{{ server_name }}"
|
|
zone: "{{ zones[zone] }}"
|
|
machine_type: n1-standard-1
|
|
image: ubuntu-1604
|
|
service_account_email: "{{ credentials_file_lookup.client_email }}"
|
|
credentials_file: "{{ credentials_file }}"
|
|
project_id: "{{ credentials_file_lookup.project_id }}"
|
|
metadata: '{"sshKeys":"root:{{ ssh_public_key_lookup }}"}'
|
|
register: google_vm
|
|
|
|
- name: Add the instance to an inventory group
|
|
add_host:
|
|
name: "{{ google_vm.instance_data[0].public_ip}}"
|
|
groups: vpn-host
|
|
ansible_ssh_user: ubuntu
|
|
ansible_python_interpreter: "/usr/bin/python2.7"
|
|
dns_enabled: "{{ dns_enabled }}"
|
|
auditd_enabled: " {{ auditd_enabled }}"
|
|
easyrsa_p12_export_password: "{{ easyrsa_p12_export_password }}"
|
|
|
|
- name: Firewall configured
|
|
local_action:
|
|
module: gce_net
|
|
name: "{{ google_vm.instance_data[0].network }}"
|
|
fwname: "algo-ikev2"
|
|
allowed: "udp:500,4500;tcp:22"
|
|
state: "present"
|
|
src_range: 0.0.0.0/0
|
|
service_account_email: "{{ credentials_file_lookup.client_email }}"
|
|
credentials_file: "{{ credentials_file }}"
|
|
project_id: "{{ credentials_file_lookup.project_id }}"
|
|
|
|
- name: Waiting for SSH to become available
|
|
local_action: "wait_for port=22 host={{ google_vm.instance_data[0].public_ip }} timeout=320"
|