feat: initial contracts

This commit is contained in:
Harivansh Rathi 2026-04-08 01:52:39 +00:00
parent 58f95324f4
commit 6f0f0643fe
7 changed files with 127 additions and 0 deletions

34
contract/types.go Normal file
View file

@ -0,0 +1,34 @@
package host
import "time"
type MachineID string
type MachinePhase string
type VolumeID string
type VolumeKind string
const (
MachinePhasePending MachinePhase = "pending"
MachinePhaseRunning MachinePhase = "running"
MachinePhaseStopping MachinePhase = "stopping"
MachinePhaseStopped MachinePhase = "stopped"
MachinePhaseFailed MachinePhase = "failed"
MachinePhaseDeleting MachinePhase = "deleting"
)
const (
VolumeKindSystem VolumeKind = "system"
VolumeKindUser VolumeKind = "user"
)
type Machine struct {
ID MachineID `json:"id"`
Phase MachinePhase `json:"phase"`
RuntimeHost string `json:"runtime_host,omitempty"`
Error string `json:"error,omitempty"`
CreatedAt time.Time `json:"created_at"`
StartedAt *time.Time `json:"started_at,omitempty"`
}