Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/destroy_old_attack_ranges.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:

- uses: actions/setup-python@v6
with:
python-version: '3.11' #Available versions here - https://github.com/actions/python-versions/releases easy to change/make a matrix/use pypy
python-version: '3.12' #Available versions here - https://github.com/actions/python-versions/releases easy to change/make a matrix/use pypy
architecture: 'x64' # optional x64 or x86. Defaults to x64 if not specified

- uses: aws-actions/configure-aws-credentials@v5
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/e2e_aws_splunk_windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ jobs:

- uses: actions/setup-python@v6
with:
python-version: '3.11'
python-version: '3.12'
architecture: 'x64'

- name: Configure AWS credentials
Expand Down Expand Up @@ -119,7 +119,7 @@ jobs:

- uses: actions/setup-python@v6
with:
python-version: '3.11'
python-version: '3.12'
architecture: 'x64'

- name: Configure AWS credentials
Expand Down
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@ terraform/ansible/inventory.yaml
terraform/ansible/lab.yaml
terraform/ansible/vpn.yaml
terraform/ansible/vpn_config.yaml
terraform/ansible/client_configs/
# Galaxy-installed roles
terraform/ansible/roles/*
terraform/ansible/artifacts/*
terraform/ansible/env/*
vagrant/*vars.json
Expand Down
228 changes: 165 additions & 63 deletions api/app.py

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions api/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ class HealthResponse(BaseModel):
class BuildRequest(BaseModel):
"""Request model for building an attack range."""
template: Optional[str] = Field(None, description="Template name or path (e.g., 'aws/splunk_minimal_aws', 'splunk_minimal_aws.yml') - Required for new builds")
attack_range_id: Optional[str] = Field(None, description="Attack range ID to continue building (for phase 2 after VPN connection)")
attack_range_id: Optional[str] = Field(None, description="Attack range ID to continue building (for phase 2 after VPN connection, or to retry the lab playbook after a lab-phase error)")
cloud_overrides: Optional[Dict[str, Dict[str, Any]]] = Field(
None,
description="Cloud-specific values to inject into config when copying template to configs (e.g. {\"azure\": {\"location\": \"West Europe\", \"subscription_id\": \"xxx\"}})"
Expand Down Expand Up @@ -77,7 +77,7 @@ class OperationStatusResponse(BaseModel):
attack_range_name: Optional[str] = Field(None, description="Attack range name (from general.attack_range_name)")
template_name: Optional[str] = Field(None, description="Template name used for this attack range")
router_public_ip: Optional[str] = Field(None, description="Router public IP address")
wireguard_config: Optional[str] = Field(None, description="WireGuard VPN configuration (available during wait_for_vpn status)")
wireguard_config: Optional[str] = Field(None, description="WireGuard VPN configuration (available during wait_for_vpn and lab-phase error retry)")
wireguard_config_path: Optional[str] = Field(None, description="Path to WireGuard config file")
sharing: Optional[Dict[str, str]] = Field(None, description="Shared WireGuard configs: name -> config (from general.sharing)")
result: Optional[Dict[str, Any]] = Field(None, description="Operation result (for completed operations)")
Expand Down
2 changes: 1 addition & 1 deletion app/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM node:20-alpine
FROM node:22-alpine

# Set working directory
WORKDIR /app
Expand Down
Loading
Loading