mirror of
https://github.com/trailofbits/algo.git
synced 2025-04-11 11:47:08 +02:00
65 lines
2.2 KiB
YAML
65 lines
2.2 KiB
YAML
---
|
|
- block:
|
|
- pause:
|
|
prompt: |
|
|
Enter the API key (https://trailofbits.github.io/algo/cloud-cloudstack.html):
|
|
echo: false
|
|
register: _cs_key
|
|
when:
|
|
- cs_key is undefined
|
|
- lookup('env','CLOUDSTACK_KEY')|length <= 0
|
|
|
|
- pause:
|
|
prompt: |
|
|
Enter the API ssecret (https://trailofbits.github.io/algo/cloud-cloudstack.html):
|
|
echo: false
|
|
register: _cs_secret
|
|
when:
|
|
- cs_secret is undefined
|
|
- lookup('env','CLOUDSTACK_SECRET')|length <= 0
|
|
|
|
- pause:
|
|
prompt: |
|
|
Enter the API endpoint (https://trailofbits.github.io/algo/cloud-cloudstack.html)
|
|
[https://api.exoscale.com/compute]
|
|
register: _cs_url
|
|
when:
|
|
- cs_url is undefined
|
|
- lookup('env', 'CLOUDSTACK_ENDPOINT') | length <= 0
|
|
|
|
- set_fact:
|
|
algo_cs_key: "{{ cs_key | default(_cs_key.user_input|default(None)) | default(lookup('env', 'CLOUDSTACK_KEY'), true) }}"
|
|
algo_cs_token: "{{ cs_secret | default(_cs_secret.user_input|default(None)) | default(lookup('env', 'CLOUDSTACK_SECRET'), true) }}"
|
|
algo_cs_url: "{{ cs_url | default(_cs_url.user_input|default(None)) | default(lookup('env', 'CLOUDSTACK_ENDPOINT'), true) | default('https://api.exoscale.com/compute',\
|
|
\ true) }}"
|
|
|
|
- name: Get zones on cloud
|
|
cs_zone_info:
|
|
register: _cs_zones
|
|
environment:
|
|
CLOUDSTACK_KEY: "{{ algo_cs_key }}"
|
|
CLOUDSTACK_SECRET: "{{ algo_cs_token }}"
|
|
CLOUDSTACK_ENDPOINT: "{{ algo_cs_url }}"
|
|
|
|
- name: Extract zones from output
|
|
set_fact:
|
|
cs_zones: "{{ _cs_zones['zones'] | sort(attribute='name') }}"
|
|
|
|
- name: Set the default zone
|
|
set_fact:
|
|
default_zone: >-
|
|
{% for z in cs_zones %}
|
|
{%- if z['name'] == "ch-gva-2" %}{{ loop.index }}{% endif %}
|
|
{%- endfor %}
|
|
|
|
- pause:
|
|
prompt: |
|
|
What zone should the server be located in?
|
|
{% for z in cs_zones %}
|
|
{{ loop.index }}. {{ z['name'] }}
|
|
{% endfor %}
|
|
|
|
Enter the number of your desired zone
|
|
[{{ default_zone }}]
|
|
register: _algo_region
|
|
when: region is undefined
|