mirror of
https://github.com/trailofbits/algo.git
synced 2025-04-11 11:47:08 +02:00
50 lines
1.5 KiB
YAML
50 lines
1.5 KiB
YAML
- block:
|
|
- name: Build python virtual environment
|
|
import_tasks: venv.yml
|
|
|
|
- block:
|
|
- name: Include prompts
|
|
import_tasks: prompts.yml
|
|
|
|
- name: Create an instance
|
|
lightsail:
|
|
aws_access_key: "{{ access_key }}"
|
|
aws_secret_key: "{{ secret_key }}"
|
|
name: "{{ algo_server_name }}"
|
|
state: present
|
|
region: "{{ algo_region }}"
|
|
zone: "{{ algo_region }}a"
|
|
blueprint_id: "{{ cloud_providers.lightsail.image }}"
|
|
bundle_id: "{{ cloud_providers.lightsail.size }}"
|
|
wait_timeout: 300
|
|
open_ports:
|
|
- from_port: 4500
|
|
to_port: 4500
|
|
protocol: udp
|
|
- from_port: 500
|
|
to_port: 500
|
|
protocol: udp
|
|
- from_port: "{{ wireguard_port }}"
|
|
to_port: "{{ wireguard_port }}"
|
|
protocol: udp
|
|
user_data: |
|
|
#!/bin/bash
|
|
mkdir -p /home/ubuntu/.ssh/
|
|
echo "{{ lookup('file', '{{ SSH_keys.public }}') }}" >> /home/ubuntu/.ssh/authorized_keys
|
|
chown -R ubuntu: /home/ubuntu/.ssh/
|
|
chmod 0700 /home/ubuntu/.ssh/
|
|
chmod 0600 /home/ubuntu/.ssh/*
|
|
test
|
|
register: algo_instance
|
|
|
|
- set_fact:
|
|
cloud_instance_ip: "{{ algo_instance['instance']['public_ip_address'] }}"
|
|
ansible_ssh_user: ubuntu
|
|
environment:
|
|
PYTHONPATH: "{{ lightsail_venv }}/lib/python2.7/site-packages/"
|
|
|
|
rescue:
|
|
- debug: var=fail_hint
|
|
tags: always
|
|
- fail:
|
|
tags: always
|