mirror of
https://github.com/getcompanion-ai/computer-host.git
synced 2026-04-15 08:03:40 +00:00
Define the minimum machine networking surface for the next host slice and limit exposed guest ports to SSH and VNC.
47 lines
1.1 KiB
Go
47 lines
1.1 KiB
Go
package model
|
|
|
|
import (
|
|
"time"
|
|
|
|
contracthost "github.com/getcompanion-ai/computer-host/contract"
|
|
)
|
|
|
|
type StoragePool string
|
|
|
|
const (
|
|
StoragePoolArtifacts StoragePool = "artifacts"
|
|
StoragePoolMachineDisks StoragePool = "machine-disks"
|
|
StoragePoolState StoragePool = "state"
|
|
StoragePoolUserVolumes StoragePool = "user-volumes"
|
|
)
|
|
|
|
type ArtifactRecord struct {
|
|
Ref contracthost.ArtifactRef
|
|
KernelImagePath string
|
|
RootFSPath string
|
|
CreatedAt time.Time
|
|
}
|
|
|
|
type MachineRecord struct {
|
|
ID contracthost.MachineID
|
|
Artifact contracthost.ArtifactRef
|
|
SystemVolumeID contracthost.VolumeID
|
|
UserVolumeIDs []contracthost.VolumeID
|
|
RuntimeHost string
|
|
TapDevice string
|
|
Ports []contracthost.MachinePort
|
|
Phase contracthost.MachinePhase
|
|
Error string
|
|
CreatedAt time.Time
|
|
StartedAt *time.Time
|
|
}
|
|
|
|
type VolumeRecord struct {
|
|
ID contracthost.VolumeID
|
|
Kind contracthost.VolumeKind
|
|
AttachedMachineID *contracthost.MachineID
|
|
SourceArtifact *contracthost.ArtifactRef
|
|
Pool StoragePool
|
|
Path string
|
|
CreatedAt time.Time
|
|
}
|