diff --git a/Linode/c2.yml b/Linode/c2.yml index 4bcd70e..bd15db6 100644 --- a/Linode/c2.yml +++ b/Linode/c2.yml @@ -24,15 +24,23 @@ - linode_token is defined and 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 set_fact: - c2_region_value: "{{ selected_region | default(region, true) | default(linode_region, true) | default('us-east', true) }}" - when: region_choices is not defined or region_choices|length == 0 + c2_region_value: "{{ selected_region | default(linode_region, true) | default('us-east', true) }}" - - 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: 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 community.general.linode_v4: diff --git a/Linode/redirector.yml b/Linode/redirector.yml index 58a07e5..476f523 100644 --- a/Linode/redirector.yml +++ b/Linode/redirector.yml @@ -20,15 +20,21 @@ - linode_token is defined and 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: - deployment_region: "{{ selected_region | default(region, true) | default(linode_region, true) | default('us-east', true) }}" - when: region_choices is not defined or region_choices|length == 0 + deployment_region: "{{ selected_region | default(linode_region, true) | default('us-east', true) }}" - - 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: 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 community.general.linode_v4: diff --git a/deploy.py b/deploy.py index fa8c574..40e07ef 100755 --- a/deploy.py +++ b/deploy.py @@ -1193,19 +1193,15 @@ def create_inventory_file(config, deployment_type): return inventory_path 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 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: extra_vars['selected_region'] = extra_vars['region'] elif 'linode_region' in extra_vars: extra_vars['selected_region'] = extra_vars['linode_region'] - - # Remove ansible_python_interpreter from extra_vars - if 'ansible_python_interpreter' in extra_vars: - extra_vars.pop('ansible_python_interpreter') + extra_vars['region'] = extra_vars['linode_region'] # Added for consistency extra_vars_json = json.dumps(extra_vars) diff --git a/roles/gophish/defaults/main.yml b/roles/gophish/defaults/main.yml new file mode 100644 index 0000000..e69de29 diff --git a/tasks/install_tools.yml b/tasks/install_tools.yml index 0bbbf77..75ab2d9 100644 --- a/tasks/install_tools.yml +++ b/tasks/install_tools.yml @@ -161,7 +161,7 @@ group: "{{ ansible_user }}" mode: '0644' vars: - gophish_admin_port: "{{ gophish_admin_port }}" + gophish_admin_port: 8088 domain: "{{ domain }}" - name: Set proper ownership for Tools directory