mirror of
https://github.com/trailofbits/algo.git
synced 2025-06-07 15:43:54 +02:00
parent
4cd3c2e4ef
commit
9c12272c8c
4 changed files with 48 additions and 40 deletions
|
@ -2,13 +2,17 @@
|
||||||
|
|
||||||
- set_fact:
|
- set_fact:
|
||||||
resource_group: "Algo_{{ region }}"
|
resource_group: "Algo_{{ region }}"
|
||||||
|
secret: "{{ azure_secret | default(lookup('env','AZURE_SECRET'), true) }}"
|
||||||
|
tenant: "{{ azure_tenant | default(lookup('env','AZURE_TENANT'), true) }}"
|
||||||
|
client_id: "{{ azure_client_id | default(lookup('env','AZURE_CLIENT_ID'), true) }}"
|
||||||
|
subscription_id: "{{ azure_subscription_id | default(lookup('env','AZURE_SUBSCRIPTION_ID'), true) }}"
|
||||||
|
|
||||||
- name: Create a resource group
|
- name: Create a resource group
|
||||||
azure_rm_resourcegroup:
|
azure_rm_resourcegroup:
|
||||||
secret: "{{ azure_secret | default(lookup('env','AZURE_SECRET')) }}"
|
secret: "{{ secret }}"
|
||||||
tenant: "{{ azure_tenant | default(lookup('env','AZURE_TENANT')) }}"
|
tenant: "{{ tenant }}"
|
||||||
client_id: "{{ azure_client_id | default(lookup('env','AZURE_CLIENT_ID')) }}"
|
client_id: "{{ client_id }}"
|
||||||
subscription_id: "{{ azure_subscription_id | default(lookup('env','AZURE_SUBSCRIPTION_ID')) }}"
|
subscription_id: "{{ subscription_id }}"
|
||||||
name: "{{ resource_group }}"
|
name: "{{ resource_group }}"
|
||||||
location: "{{ region }}"
|
location: "{{ region }}"
|
||||||
tags:
|
tags:
|
||||||
|
@ -16,10 +20,10 @@
|
||||||
|
|
||||||
- name: Create a virtual network
|
- name: Create a virtual network
|
||||||
azure_rm_virtualnetwork:
|
azure_rm_virtualnetwork:
|
||||||
secret: "{{ azure_secret | default(lookup('env','AZURE_SECRET')) }}"
|
secret: "{{ secret }}"
|
||||||
tenant: "{{ azure_tenant | default(lookup('env','AZURE_TENANT')) }}"
|
tenant: "{{ tenant }}"
|
||||||
client_id: "{{ azure_client_id | default(lookup('env','AZURE_CLIENT_ID')) }}"
|
client_id: "{{ client_id }}"
|
||||||
subscription_id: "{{ azure_subscription_id | default(lookup('env','AZURE_SUBSCRIPTION_ID')) }}"
|
subscription_id: "{{ subscription_id }}"
|
||||||
resource_group: "{{ resource_group }}"
|
resource_group: "{{ resource_group }}"
|
||||||
name: algo_net
|
name: algo_net
|
||||||
address_prefixes: "10.10.0.0/16"
|
address_prefixes: "10.10.0.0/16"
|
||||||
|
@ -28,10 +32,10 @@
|
||||||
|
|
||||||
- name: Create a security group
|
- name: Create a security group
|
||||||
azure_rm_securitygroup:
|
azure_rm_securitygroup:
|
||||||
secret: "{{ azure_secret | default(lookup('env','AZURE_SECRET')) }}"
|
secret: "{{ secret }}"
|
||||||
tenant: "{{ azure_tenant | default(lookup('env','AZURE_TENANT')) }}"
|
tenant: "{{ tenant }}"
|
||||||
client_id: "{{ azure_client_id | default(lookup('env','AZURE_CLIENT_ID')) }}"
|
client_id: "{{ client_id }}"
|
||||||
subscription_id: "{{ azure_subscription_id | default(lookup('env','AZURE_SUBSCRIPTION_ID')) }}"
|
subscription_id: "{{ subscription_id }}"
|
||||||
resource_group: "{{ resource_group }}"
|
resource_group: "{{ resource_group }}"
|
||||||
name: AlgoSecGroup
|
name: AlgoSecGroup
|
||||||
purge_rules: yes
|
purge_rules: yes
|
||||||
|
@ -57,10 +61,10 @@
|
||||||
|
|
||||||
- name: Create a subnet
|
- name: Create a subnet
|
||||||
azure_rm_subnet:
|
azure_rm_subnet:
|
||||||
secret: "{{ azure_secret | default(lookup('env','AZURE_SECRET')) }}"
|
secret: "{{ secret }}"
|
||||||
tenant: "{{ azure_tenant | default(lookup('env','AZURE_TENANT')) }}"
|
tenant: "{{ tenant }}"
|
||||||
client_id: "{{ azure_client_id | default(lookup('env','AZURE_CLIENT_ID')) }}"
|
client_id: "{{ client_id }}"
|
||||||
subscription_id: "{{ azure_subscription_id | default(lookup('env','AZURE_SUBSCRIPTION_ID')) }}"
|
subscription_id: "{{ subscription_id }}"
|
||||||
resource_group: "{{ resource_group }}"
|
resource_group: "{{ resource_group }}"
|
||||||
name: algo_subnet
|
name: algo_subnet
|
||||||
address_prefix: "10.10.0.0/24"
|
address_prefix: "10.10.0.0/24"
|
||||||
|
@ -71,10 +75,10 @@
|
||||||
|
|
||||||
- name: Create an instance
|
- name: Create an instance
|
||||||
azure_rm_virtualmachine:
|
azure_rm_virtualmachine:
|
||||||
secret: "{{ azure_secret | default(lookup('env','AZURE_SECRET')) }}"
|
secret: "{{ secret }}"
|
||||||
tenant: "{{ azure_tenant | default(lookup('env','AZURE_TENANT')) }}"
|
tenant: "{{ tenant }}"
|
||||||
client_id: "{{ azure_client_id | default(lookup('env','AZURE_CLIENT_ID')) }}"
|
client_id: "{{ client_id }}"
|
||||||
subscription_id: "{{ azure_subscription_id | default(lookup('env','AZURE_SUBSCRIPTION_ID')) }}"
|
subscription_id: "{{ subscription_id }}"
|
||||||
resource_group: "{{ resource_group }}"
|
resource_group: "{{ resource_group }}"
|
||||||
admin_username: ubuntu
|
admin_username: ubuntu
|
||||||
virtual_network: algo_net
|
virtual_network: algo_net
|
||||||
|
@ -100,10 +104,10 @@
|
||||||
|
|
||||||
- name: Ensure the network interface includes all required parameters
|
- name: Ensure the network interface includes all required parameters
|
||||||
azure_rm_networkinterface:
|
azure_rm_networkinterface:
|
||||||
secret: "{{ azure_secret | default(lookup('env','AZURE_SECRET')) }}"
|
secret: "{{ secret }}"
|
||||||
tenant: "{{ azure_tenant | default(lookup('env','AZURE_TENANT')) }}"
|
tenant: "{{ tenant }}"
|
||||||
client_id: "{{ azure_client_id | default(lookup('env','AZURE_CLIENT_ID')) }}"
|
client_id: "{{ client_id }}"
|
||||||
subscription_id: "{{ azure_subscription_id | default(lookup('env','AZURE_SUBSCRIPTION_ID')) }}"
|
subscription_id: "{{ subscription_id }}"
|
||||||
name: "{{ networkinterface_name }}"
|
name: "{{ networkinterface_name }}"
|
||||||
resource_group: "{{ resource_group }}"
|
resource_group: "{{ resource_group }}"
|
||||||
virtual_network_name: algo_net
|
virtual_network_name: algo_net
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
- name: Set the DigitalOcean Access Token fact
|
- name: Set the DigitalOcean Access Token fact
|
||||||
set_fact:
|
set_fact:
|
||||||
do_token: "{{ do_access_token | default(lookup('env','DO_API_TOKEN')) }}"
|
do_token: "{{ do_access_token | default(lookup('env','DO_API_TOKEN'), true) }}"
|
||||||
public_key: "{{ lookup('file', '{{ SSH_keys.public }}') }}"
|
public_key: "{{ lookup('file', '{{ SSH_keys.public }}') }}"
|
||||||
|
|
||||||
- block:
|
- block:
|
||||||
|
|
|
@ -1,7 +1,11 @@
|
||||||
|
- set_fact:
|
||||||
|
access_key: "{{ aws_access_key | default(lookup('env','AWS_ACCESS_KEY_ID'), true) }}"
|
||||||
|
secret_key: "{{ aws_secret_key | default(lookup('env','AWS_SECRET_ACCESS_KEY'), true) }}"
|
||||||
|
|
||||||
- name: Locate official Ubuntu 16.04 AMI for region
|
- name: Locate official Ubuntu 16.04 AMI for region
|
||||||
ec2_ami_find:
|
ec2_ami_find:
|
||||||
aws_access_key: "{{ aws_access_key | default(lookup('env','AWS_ACCESS_KEY_ID'))}}"
|
aws_access_key: "{{ access_key }}"
|
||||||
aws_secret_key: "{{ aws_secret_key | default(lookup('env','AWS_SECRET_ACCESS_KEY'))}}"
|
aws_secret_key: "{{ secret_key }}"
|
||||||
name: "ubuntu/images/hvm-ssd/ubuntu-xenial-16.04-amd64-server-*"
|
name: "ubuntu/images/hvm-ssd/ubuntu-xenial-16.04-amd64-server-*"
|
||||||
owner: 099720109477
|
owner: 099720109477
|
||||||
sort: creationDate
|
sort: creationDate
|
||||||
|
@ -18,8 +22,8 @@
|
||||||
|
|
||||||
- name: Add ssh public key
|
- name: Add ssh public key
|
||||||
ec2_key:
|
ec2_key:
|
||||||
aws_access_key: "{{ aws_access_key | default(lookup('env','AWS_ACCESS_KEY_ID'))}}"
|
aws_access_key: "{{ access_key }}"
|
||||||
aws_secret_key: "{{ aws_secret_key | default(lookup('env','AWS_SECRET_ACCESS_KEY'))}}"
|
aws_secret_key: "{{ secret_key }}"
|
||||||
name: VPNKEY
|
name: VPNKEY
|
||||||
region: "{{ region }}"
|
region: "{{ region }}"
|
||||||
key_material: "{{ item }}"
|
key_material: "{{ item }}"
|
||||||
|
@ -28,8 +32,8 @@
|
||||||
|
|
||||||
- name: Configure EC2 virtual private clouds
|
- name: Configure EC2 virtual private clouds
|
||||||
ec2_vpc:
|
ec2_vpc:
|
||||||
aws_access_key: "{{ aws_access_key | default(lookup('env','AWS_ACCESS_KEY_ID'))}}"
|
aws_access_key: "{{ access_key }}"
|
||||||
aws_secret_key: "{{ aws_secret_key | default(lookup('env','AWS_SECRET_ACCESS_KEY'))}}"
|
aws_secret_key: "{{ secret_key }}"
|
||||||
state: present
|
state: present
|
||||||
resource_tags: { "Environment":"Algo" }
|
resource_tags: { "Environment":"Algo" }
|
||||||
region: "{{ region }}"
|
region: "{{ region }}"
|
||||||
|
@ -42,8 +46,8 @@
|
||||||
|
|
||||||
- name: Set up Public Subnets Route Table
|
- name: Set up Public Subnets Route Table
|
||||||
ec2_vpc_route_table:
|
ec2_vpc_route_table:
|
||||||
aws_access_key: "{{ aws_access_key | default(lookup('env','AWS_ACCESS_KEY_ID'))}}"
|
aws_access_key: "{{ access_key }}"
|
||||||
aws_secret_key: "{{ aws_secret_key | default(lookup('env','AWS_SECRET_ACCESS_KEY'))}}"
|
aws_secret_key: "{{ secret_key }}"
|
||||||
vpc_id: "{{ vpc.vpc_id }}"
|
vpc_id: "{{ vpc.vpc_id }}"
|
||||||
region: "{{ region }}"
|
region: "{{ region }}"
|
||||||
state: present
|
state: present
|
||||||
|
@ -58,8 +62,8 @@
|
||||||
|
|
||||||
- name: Configure EC2 security group
|
- name: Configure EC2 security group
|
||||||
ec2_group:
|
ec2_group:
|
||||||
aws_access_key: "{{ aws_access_key | default(lookup('env','AWS_ACCESS_KEY_ID'))}}"
|
aws_access_key: "{{ access_key }}"
|
||||||
aws_secret_key: "{{ aws_secret_key | default(lookup('env','AWS_SECRET_ACCESS_KEY'))}}"
|
aws_secret_key: "{{ secret_key }}"
|
||||||
name: vpn-secgroup
|
name: vpn-secgroup
|
||||||
description: Security group for VPN servers
|
description: Security group for VPN servers
|
||||||
region: "{{ region }}"
|
region: "{{ region }}"
|
||||||
|
@ -85,8 +89,8 @@
|
||||||
|
|
||||||
- name: Launch instance
|
- name: Launch instance
|
||||||
ec2:
|
ec2:
|
||||||
aws_access_key: "{{ aws_access_key | default(lookup('env','AWS_ACCESS_KEY_ID'))}}"
|
aws_access_key: "{{ access_key }}"
|
||||||
aws_secret_key: "{{ aws_secret_key | default(lookup('env','AWS_SECRET_ACCESS_KEY'))}}"
|
aws_secret_key: "{{ secret_key }}"
|
||||||
keypair: "VPNKEY"
|
keypair: "VPNKEY"
|
||||||
vpc_subnet_id: "{{ vpc.subnets[0].id }}"
|
vpc_subnet_id: "{{ vpc.subnets[0].id }}"
|
||||||
group: vpn-secgroup
|
group: vpn-secgroup
|
||||||
|
@ -120,8 +124,8 @@
|
||||||
|
|
||||||
- name: Get EC2 instances
|
- name: Get EC2 instances
|
||||||
ec2_remote_facts:
|
ec2_remote_facts:
|
||||||
aws_access_key: "{{ aws_access_key | default(lookup('env','AWS_ACCESS_KEY_ID'))}}"
|
aws_access_key: "{{ access_key }}"
|
||||||
aws_secret_key: "{{ aws_secret_key | default(lookup('env','AWS_SECRET_ACCESS_KEY'))}}"
|
aws_secret_key: "{{ secret_key }}"
|
||||||
region: "{{ region }}"
|
region: "{{ region }}"
|
||||||
filters:
|
filters:
|
||||||
instance-state-name: running
|
instance-state-name: running
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
- set_fact:
|
- set_fact:
|
||||||
credentials_file_path: "{{ credentials_file | default(lookup('env','GCE_CREDENTIALS_FILE_PATH')) }}"
|
credentials_file_path: "{{ credentials_file | default(lookup('env','GCE_CREDENTIALS_FILE_PATH'), true) }}"
|
||||||
ssh_public_key_lookup: "{{ lookup('file', '{{ SSH_keys.public }}') }}"
|
ssh_public_key_lookup: "{{ lookup('file', '{{ SSH_keys.public }}') }}"
|
||||||
|
|
||||||
- set_fact:
|
- set_fact:
|
||||||
|
|
Loading…
Add table
Reference in a new issue