Skip to content

M6 epic: Template, clone, and snapshot operations #12

Description

@Andreas-Froyland

Tracking issue. Dependency and status checklists only — implementation stays in narrow linked issues.

Outcome

Template, clone, snapshot, revert, and delete operations are available only after idempotency and destructive-operation review.

Supersedes

Replaces the "VM reset/clone/snapshot" and "golden-image / template workflow" scope items of #3.

Depends on

  • M6 lifecycle/task operations — merged, PR #104
  • FM-106 — authorization port and permission catalog (M1) — merged, commit a831ca5 (direct commit; no PR recorded)

Scope checklist

  • Template and clone workflow with idempotency classification — FM-603 (FM-603 — Add Proxmox template, clone, and snapshot operations #105, PR FM-603: Proxmox template, clone, and snapshot operations behind the destructive review gate #106): clone refuses an existing target VMID across qemu+lxc; template conversion is a no-op when already a template
  • Snapshot, revert, and delete behind an explicit destructive-operation review and permission — FM-603: the unforgeable review token (SHA-256 over the exact operation bytes, validated in Operations::create) and the proxmox.destructive permission (catalog 40)
  • Compensation and reconciliation when a clone or snapshot fails midway — FM-603: every post-UPID failure carries the UPID and node for reconciliation; nothing is deleted on failure
  • Recorded/simulated API tests plus a dedicated real-cluster suite — FM-603: e2e through the real worker plus live verification on the integration PVE 9.2 host (create/idempotent re-run/delete confirmed on the host)

M6 acceptance (exit gate) — complete 2026-10-02

All PRs target the dev branch. Plan: docs/planning/m6-acceptance.md.

Constrained by

  • docs/PLAN.md — M6; ADR-0008
  • Lifecycle and task operations land before destructive ones

Non-goals

  • A backup UI
  • Automatic cleanup policy; that belongs to the M7 Lab lease epics

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    epicTracking issue: dependency and status checklist only

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions