forked from wrenn/wrenn
Moves 12 packages from internal/ to pkg/ (config, id, validate, events, db, auth, lifecycle, scheduler, channels, audit, service) so they can be imported by the enterprise repo as a Go module dependency. Introduces pkg/cpextension (shared Extension interface + ServerContext) and pkg/cpserver (Run() entrypoint with functional options) so the enterprise main.go can call cpserver.Run(cpserver.WithExtensions(...)) without duplicating the 20-step server bootstrap. Adds db/migrations/embed.go for go:embed access to OSS SQL migrations from the enterprise module. cmd/control-plane/main.go is reduced to a 10-line wrapper around cpserver.Run.
35 lines
745 B
Go
35 lines
745 B
Go
package models
|
|
|
|
import (
|
|
"net"
|
|
"time"
|
|
)
|
|
|
|
// SandboxStatus represents the current state of a sandbox.
|
|
type SandboxStatus string
|
|
|
|
const (
|
|
StatusPending SandboxStatus = "pending"
|
|
StatusRunning SandboxStatus = "running"
|
|
StatusPaused SandboxStatus = "paused"
|
|
StatusStopped SandboxStatus = "stopped"
|
|
StatusError SandboxStatus = "error"
|
|
)
|
|
|
|
// Sandbox holds all state for a running sandbox on this host.
|
|
type Sandbox struct {
|
|
ID string
|
|
Status SandboxStatus
|
|
TemplateTeamID [16]byte
|
|
TemplateID [16]byte
|
|
VCPUs int
|
|
MemoryMB int
|
|
TimeoutSec int
|
|
SlotIndex int
|
|
HostIP net.IP
|
|
RootfsPath string
|
|
CreatedAt time.Time
|
|
LastActiveAt time.Time
|
|
Metadata map[string]string
|
|
}
|