1.4 KiB
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