Skip to main content
The admin backend is the trusted control plane. It owns:
  • administrator authentication and authorization;
  • reusable campaign resources;
  • campaign and Victim model state;
  • primary database transactions;
  • stored artifacts and exports;
  • Docker runtime orchestration.

Boundaries

Route or service entry points own transactions. Lower-level helpers may mutate or flush records but must not commit unless their contract explicitly owns the whole operation. Campaign creation persists the campaign and its Victim records atomically. If persistence fails after runtime provisioning, the transaction is rolled back and the new runtime is removed. The backend connects to Docker through docker-proxy, not a direct writable socket mount. Every workload operation must validate application labels and resource ownership.

Request models

Create and update schemas use strict Pydantic models with unknown fields forbidden. Do not send response-only properties such as IDs, timestamps, or usage counters back in mutation payloads.
Last modified on August 28, 2026