Files
Danilo Reyes 979bb915a6 init
2026-02-03 15:13:56 -06:00

1.4 KiB

Data Model: VPS Image Migration

Host Profile

  • Purpose: Defines a named system configuration (e.g., vps).
  • Key fields:
    • name (string, unique)
    • target_environment (string, e.g., Linode)
    • services_required (list of service identifiers)
    • secrets_required (list of secret identifiers)

Image Artifact

  • Purpose: Represents a build output used to provision a VPS.
  • Key fields:
    • image_type (string, Linode-compatible)
    • build_reference (string, build timestamp or revision)
    • host_profile (reference to Host Profile)

Bootstrap Secret Material

  • Purpose: Material required to unlock secrets on the host.
  • Key fields:
    • bootstrap_method (enum: generated-on-host)
    • recipient_public_key (string)
    • enrollment_status (enum: pending, enrolled)

Deployment Target

  • Purpose: The environment where the image is launched.
  • Key fields:
    • provider (string)
    • region (string)
    • instance_id (string)

Rebuild Trigger

  • Purpose: Represents an authorized rebuild action for the VPS.
  • Key fields:
    • actor (string)
    • requested_at (datetime)
    • status (enum: queued, running, succeeded, failed)

Relationships

  • Host Profile 1..* Image Artifact
  • Host Profile 1..* Bootstrap Secret Material
  • Deployment Target 1..1 Image Artifact
  • Rebuild Trigger *..1 Host Profile