Skip to content

feat(api): Add topology-based deploy/undeploy endpoints #37

@pparage

Description

@pparage

Context

Current deployment operates via individual VM/network API calls or hardcoded bundle groups (admin/student/vuln). There is no single endpoint that accepts a full topology plan and orchestrates deployment, nor one that tears down an arbitrary deployment.

Requirements

  • POST /v0/admin/deployments/{id}/deploy — Accept a deployment plan (ordered steps from the topology resolver), execute sequentially or in parallel, track progress
  • POST /v0/admin/deployments/{id}/undeploy — Generate and execute reverse-order teardown: stop VMs → delete VMs → remove network interfaces → delete bridges → cleanup firewall rules
  • Both endpoints should work with arbitrary topologies, not just predefined groups
  • Integration with persistence layer for state tracking

Dependencies

Requires persistence layer (B1) and async job queue (B2) for production use.

Priority

Critical (MVP) — Phase 4. Blocks: U2 (undeploy workflow in UI).

References

  • Gap analysis: gap-analysis.md issue B6

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requesttrack_axis-02Operational end-user interfaces

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions