Skip to content

Infraware-dev/arena

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Infraware Arena

Docker images for Infraware Terminal Arena Mode — competitive incident investigation challenges.

Each scenario is a self-contained Docker image with a broken environment to investigate, like a CTF for SRE/DevOps.

Scenarios

Scenario Directory Image Difficulty Description
The 502 Cascade scenarios/the-502-cascade infraware/arena-the-502-cascade Beginner Web app returning 502 Bad Gateway — investigate Nginx + PHP-FPM

Usage

# Build a scenario image
docker build -t infraware/arena-the-502-cascade scenarios/the-502-cascade

# Run with Infraware Terminal
cargo run --features arena -- --arena infraware/arena-the-502-cascade

Scenario Structure

Each scenario lives in its own directory under scenarios/:

scenarios/<name>/
  Dockerfile         # Image definition
  scenario.json      # Arena manifest (title, prompt, mission)
  setup/             # Config files, scripts, application code

Scenario Manifest

Every image must include /arena/scenario.json:

{
  "title": "Scenario Name",
  "prompt": {
    "title": "INCIDENT ALERT - Priority: High",
    "body": "Description of the incident...",
    "environment": "Environment details",
    "mission": "What the investigator needs to find"
  }
}

Development

Installing a scenario image locally

docker build -t infraware/arena-<scenario-name>:latest scenarios/<scenario-name>

# Example
docker build -t infraware/arena-the-502-cascade:latest scenarios/the-502-cascade

Publishing a scenario image

# Login to Docker Hub (if not already authenticated)
docker login

# Push the image
docker push infraware/arena-<scenario-name>:latest

# Example
docker push infraware/arena-the-502-cascade:latest

Building a New Scenario

  1. Create a directory under scenarios/
  2. Write a Dockerfile based on debian:bookworm-slim
  3. Set up the broken environment (misconfigured services, corrupted files, etc.)
  4. Add a scenario.json manifest
  5. Ensure the image drops into an interactive shell on start
  6. Update the scenario table in this README

Guidelines

  • Install common investigation tools (curl, net-tools, procps, less, vim)
  • Use supervisord to manage multiple services
  • Generate realistic log entries before dropping to shell
  • Do NOT leave comments or hints in config files — the investigator should discover the root cause themselves

About

Docker images for Infraware Terminal Arena Mode — competitive incident investigation challenges

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors