working on it
This commit is contained in:
+12
-4
@@ -24,15 +24,23 @@
|
|||||||
- linode_token is defined and linode_token != ""
|
- linode_token is defined and linode_token != ""
|
||||||
fail_msg: "Linode API token is required. Set linode_token in vars.yaml or via --linode-token."
|
fail_msg: "Linode API token is required. Set linode_token in vars.yaml or via --linode-token."
|
||||||
|
|
||||||
|
# Replace these tasks at the beginning of the playbook
|
||||||
- name: Set region for C2 server
|
- name: Set region for C2 server
|
||||||
set_fact:
|
set_fact:
|
||||||
c2_region_value: "{{ selected_region | default(region, true) | default(linode_region, true) | default('us-east', true) }}"
|
c2_region_value: "{{ selected_region | default(linode_region, true) | default('us-east', true) }}"
|
||||||
when: region_choices is not defined or region_choices|length == 0
|
|
||||||
|
|
||||||
- name: Set random region for C2 server
|
- name: Display region selection information for debugging
|
||||||
|
debug:
|
||||||
|
msg:
|
||||||
|
- "Selected Region: {{ selected_region | default('Not set') }}"
|
||||||
|
- "Linode Region: {{ linode_region | default('Not set') }}"
|
||||||
|
- "Using Region: {{ c2_region_value }}"
|
||||||
|
when: debug | default(false) | bool
|
||||||
|
|
||||||
|
- name: Set random region only if absolutely no region specified
|
||||||
set_fact:
|
set_fact:
|
||||||
c2_region_value: "{{ region_choices | random }}"
|
c2_region_value: "{{ region_choices | random }}"
|
||||||
when: region_choices is defined and region_choices|length > 0 and c2_region_value is not defined
|
when: region_choices is defined and region_choices|length > 0 and not selected_region is defined and not linode_region is defined and not c2_region_value is defined
|
||||||
|
|
||||||
- name: Create C2 Linode instance
|
- name: Create C2 Linode instance
|
||||||
community.general.linode_v4:
|
community.general.linode_v4:
|
||||||
|
|||||||
+11
-5
@@ -20,15 +20,21 @@
|
|||||||
- linode_token is defined and linode_token != ""
|
- linode_token is defined and linode_token != ""
|
||||||
fail_msg: "Linode API token is required. Set linode_token in vars.yaml or via --linode-token."
|
fail_msg: "Linode API token is required. Set linode_token in vars.yaml or via --linode-token."
|
||||||
|
|
||||||
- name: Set region for deployment
|
# Update the region selection logic in Linode/redirector.yml
|
||||||
|
- name: Set region for redirector
|
||||||
set_fact:
|
set_fact:
|
||||||
deployment_region: "{{ selected_region | default(region, true) | default(linode_region, true) | default('us-east', true) }}"
|
deployment_region: "{{ selected_region | default(linode_region, true) | default('us-east', true) }}"
|
||||||
when: region_choices is not defined or region_choices|length == 0
|
|
||||||
|
|
||||||
- name: Set random region for deployment
|
- name: Display region selection for redirector
|
||||||
|
debug:
|
||||||
|
msg: "Using region for redirector: {{ deployment_region }}"
|
||||||
|
when: debug | default(false) | bool
|
||||||
|
|
||||||
|
# Only use random region as a last resort
|
||||||
|
- name: Set random region only if no region specified
|
||||||
set_fact:
|
set_fact:
|
||||||
deployment_region: "{{ region_choices | random }}"
|
deployment_region: "{{ region_choices | random }}"
|
||||||
when: region_choices is defined and region_choices|length > 0 and deployment_region is not defined
|
when: region_choices is defined and region_choices|length > 0 and not selected_region is defined and not linode_region is defined and not deployment_region is defined
|
||||||
|
|
||||||
- name: Create redirector Linode instance
|
- name: Create redirector Linode instance
|
||||||
community.general.linode_v4:
|
community.general.linode_v4:
|
||||||
|
|||||||
@@ -1193,19 +1193,15 @@ def create_inventory_file(config, deployment_type):
|
|||||||
return inventory_path
|
return inventory_path
|
||||||
|
|
||||||
def run_ansible_playbook(playbook, inventory, config, debug=False):
|
def run_ansible_playbook(playbook, inventory, config, debug=False):
|
||||||
"""Run an Ansible playbook with the given inventory and config"""
|
|
||||||
# Convert config dict to JSON for extra-vars
|
# Convert config dict to JSON for extra-vars
|
||||||
extra_vars = {k: v for k, v in config.items() if v is not None and not isinstance(v, (dict, list, tuple))}
|
extra_vars = {k: v for k, v in config.items() if v is not None and not isinstance(v, (dict, list, tuple))}
|
||||||
|
|
||||||
# Handle the region parameter correctly
|
# Ensure consistent region parameter handling
|
||||||
if 'region' in extra_vars:
|
if 'region' in extra_vars:
|
||||||
extra_vars['selected_region'] = extra_vars['region']
|
extra_vars['selected_region'] = extra_vars['region']
|
||||||
elif 'linode_region' in extra_vars:
|
elif 'linode_region' in extra_vars:
|
||||||
extra_vars['selected_region'] = extra_vars['linode_region']
|
extra_vars['selected_region'] = extra_vars['linode_region']
|
||||||
|
extra_vars['region'] = extra_vars['linode_region'] # Added for consistency
|
||||||
# Remove ansible_python_interpreter from extra_vars
|
|
||||||
if 'ansible_python_interpreter' in extra_vars:
|
|
||||||
extra_vars.pop('ansible_python_interpreter')
|
|
||||||
|
|
||||||
extra_vars_json = json.dumps(extra_vars)
|
extra_vars_json = json.dumps(extra_vars)
|
||||||
|
|
||||||
|
|||||||
@@ -161,7 +161,7 @@
|
|||||||
group: "{{ ansible_user }}"
|
group: "{{ ansible_user }}"
|
||||||
mode: '0644'
|
mode: '0644'
|
||||||
vars:
|
vars:
|
||||||
gophish_admin_port: "{{ gophish_admin_port }}"
|
gophish_admin_port: 8088
|
||||||
domain: "{{ domain }}"
|
domain: "{{ domain }}"
|
||||||
|
|
||||||
- name: Set proper ownership for Tools directory
|
- name: Set proper ownership for Tools directory
|
||||||
|
|||||||
Reference in New Issue
Block a user