controller

package
v0.2.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 26, 2026 License: Apache-2.0 Imports: 18 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func SortDocumentsByKind

func SortDocumentsByKind(docs []parser.Document, reverse bool) []parser.Document

SortDocumentsByKind sorts documents by kind order. If reverse is true, sorts in reverse dependency order (Container → Cell → Stack → Space → Realm). If reverse is false, sorts in dependency order (Realm → Space → Stack → Cell → Container). Within the same kind, documents are sorted by their original index.

Types

type ApplyResult

type ApplyResult struct {
	Resources []ResourceResult
}

ApplyResult represents the result of applying a set of resources.

type BootstrapReport

type BootstrapReport struct {
	RunPath string

	KukeonCgroupExistsPre  bool
	KukeonCgroupExistsPost bool
	KukeonCgroupCreated    bool

	// CNI bootstrap details
	CniConfigDir           string
	CniCacheDir            string
	CniBinDir              string
	CniConfigDirExistsPre  bool
	CniCacheDirExistsPre   bool
	CniBinDirExistsPre     bool
	CniConfigDirCreated    bool
	CniCacheDirCreated     bool
	CniBinDirCreated       bool
	CniConfigDirExistsPost bool
	CniCacheDirExistsPost  bool
	CniBinDirExistsPost    bool

	// Default user hierarchy (realm=default, space=default, stack=default, no cell).
	DefaultRealm RealmSection
	DefaultSpace SpaceSection
	DefaultStack StackSection

	// System hierarchy (realm=kuke-system, space=kukeon, stack=kukeon, cell=kukeond).
	SystemRealm RealmSection
	SystemSpace SpaceSection
	SystemStack StackSection
	SystemCell  CellSection

	// KukeondImage is the resolved image reference provisioned for the kukeond
	// container inside the system cell.
	KukeondImage string
}

type CellSection

type CellSection struct {
	CellName                    string
	CellMetadataExistsPre       bool
	CellMetadataExistsPost      bool
	CellCreated                 bool
	CellCgroupExistsPre         bool
	CellCgroupExistsPost        bool
	CellCgroupCreated           bool
	CellRootContainerExistsPre  bool
	CellRootContainerExistsPost bool
	CellRootContainerCreated    bool
	CellStartedPre              bool
	CellStartedPost             bool
	CellStarted                 bool
}

CellSection holds the bootstrap outcome for a single cell.

type ContainerCreationOutcome

type ContainerCreationOutcome struct {
	Name       string
	ExistsPre  bool
	ExistsPost bool
	Created    bool
}

type Controller

type Controller interface {
	Bootstrap() (BootstrapReport, error)
	CreateRealm(realm intmodel.Realm) (CreateRealmResult, error)
	CreateSpace(space intmodel.Space) (CreateSpaceResult, error)
	CreateStack(stack intmodel.Stack) (CreateStackResult, error)
	CreateCell(cell intmodel.Cell) (CreateCellResult, error)
	CreateContainer(container intmodel.Container) (CreateContainerResult, error)
	DeleteRealm(realm intmodel.Realm, force, cascade bool) (DeleteRealmResult, error)
	DeleteSpace(space intmodel.Space, force, cascade bool) (DeleteSpaceResult, error)
	DeleteStack(stack intmodel.Stack, force, cascade bool) (DeleteStackResult, error)
	DeleteCell(cell intmodel.Cell) (DeleteCellResult, error)
	DeleteContainer(container intmodel.Container) (DeleteContainerResult, error)
	GetRealm(realm intmodel.Realm) (GetRealmResult, error)
	ListRealms() ([]intmodel.Realm, error)
	GetSpace(space intmodel.Space) (GetSpaceResult, error)
	ListSpaces(realmName string) ([]intmodel.Space, error)
	GetStack(stack intmodel.Stack) (GetStackResult, error)
	ListStacks(realmName, spaceName string) ([]intmodel.Stack, error)
	GetCell(cell intmodel.Cell) (GetCellResult, error)
	ListCells(realmName, spaceName, stackName string) ([]intmodel.Cell, error)
	GetContainer(container intmodel.Container) (GetContainerResult, error)
	ListContainers(realmName, spaceName, stackName, cellName string) ([]intmodel.ContainerSpec, error)
	StartCell(cell intmodel.Cell) (StartCellResult, error)
	StartContainer(container intmodel.Container) (StartContainerResult, error)
	StopCell(cell intmodel.Cell) (StopCellResult, error)
	StopContainer(container intmodel.Container) (StopContainerResult, error)
	KillCell(cell intmodel.Cell) (KillCellResult, error)
	KillContainer(container intmodel.Container) (KillContainerResult, error)
	PurgeRealm(realm intmodel.Realm, force, cascade bool) (PurgeRealmResult, error)
	PurgeSpace(space intmodel.Space, force, cascade bool) (PurgeSpaceResult, error)
	PurgeStack(stack intmodel.Stack, force, cascade bool) (PurgeStackResult, error)
	PurgeCell(cell intmodel.Cell, force, cascade bool) (PurgeCellResult, error)
	PurgeContainer(container intmodel.Container) (PurgeContainerResult, error)
	RefreshAll() (RefreshResult, error)
	Close() error
}

type CreateCellResult

type CreateCellResult struct {
	Cell intmodel.Cell

	MetadataExistsPre       bool
	MetadataExistsPost      bool
	CgroupExistsPre         bool
	CgroupExistsPost        bool
	CgroupCreated           bool
	RootContainerExistsPre  bool
	RootContainerExistsPost bool
	RootContainerCreated    bool
	StartedPre              bool
	StartedPost             bool
	Started                 bool
	Created                 bool

	Containers []ContainerCreationOutcome
}

CreateCellResult reports reconciliation outcomes for a cell.

type CreateContainerResult

type CreateContainerResult struct {
	Container intmodel.Container

	CellMetadataExistsPre  bool
	CellMetadataExistsPost bool
	ContainerExistsPre     bool
	ContainerExistsPost    bool
	ContainerCreated       bool
	Started                bool
}

CreateContainerResult reports reconciliation outcomes for container creation within a cell.

type CreateRealmResult

type CreateRealmResult struct {
	Realm intmodel.Realm

	MetadataExistsPre             bool
	MetadataExistsPost            bool
	CgroupExistsPre               bool
	CgroupExistsPost              bool
	CgroupCreated                 bool
	ContainerdNamespaceExistsPre  bool
	ContainerdNamespaceExistsPost bool
	ContainerdNamespaceCreated    bool
	Created                       bool
}

CreateRealmResult reports the reconciliation outcomes for a realm.

type CreateSpaceResult

type CreateSpaceResult struct {
	Space intmodel.Space

	MetadataExistsPre    bool
	MetadataExistsPost   bool
	CgroupExistsPre      bool
	CgroupExistsPost     bool
	CgroupCreated        bool
	CNINetworkExistsPre  bool
	CNINetworkExistsPost bool
	CNINetworkCreated    bool
	Created              bool
}

CreateSpaceResult reports reconciliation outcomes for a space.

type CreateStackResult

type CreateStackResult struct {
	Stack intmodel.Stack

	MetadataExistsPre  bool
	MetadataExistsPost bool
	CgroupExistsPre    bool
	CgroupExistsPost   bool
	CgroupCreated      bool
	Created            bool
}

CreateStackResult reports reconciliation outcomes for a stack.

type DeleteCellResult

type DeleteCellResult struct {
	Cell              intmodel.Cell
	ContainersDeleted bool
	CgroupDeleted     bool
	MetadataDeleted   bool
}

DeleteCellResult reports what was deleted during cell deletion.

type DeleteContainerResult

type DeleteContainerResult struct {
	Container          intmodel.Container
	CellMetadataExists bool
	ContainerExists    bool
	Deleted            []string // Resources that were deleted (container, task)
}

DeleteContainerResult mirrors GetContainerResult but also reports what was deleted.

type DeleteRealmResult

type DeleteRealmResult struct {
	Realm                      intmodel.Realm
	Deleted                    []string // Resources that were deleted (metadata, cgroup, namespace, cascaded resources)
	MetadataDeleted            bool
	CgroupDeleted              bool
	ContainerdNamespaceDeleted bool
}

DeleteRealmResult reports what was deleted during realm deletion.

type DeleteResult

type DeleteResult struct {
	Resources []ResourceDeleteResult
}

DeleteResult represents the result of deleting a set of resources.

type DeleteSpaceResult

type DeleteSpaceResult struct {
	SpaceName string
	RealmName string
	Space     intmodel.Space

	MetadataDeleted   bool
	CgroupDeleted     bool
	CNINetworkDeleted bool

	Deleted []string // Resources that were deleted (metadata, cgroup, network, cascaded resources)
}

DeleteSpaceResult reports what was deleted during space deletion.

type DeleteStackResult

type DeleteStackResult struct {
	StackName string
	RealmName string
	SpaceName string
	Stack     intmodel.Stack

	MetadataDeleted bool
	CgroupDeleted   bool

	Deleted []string // Resources that were deleted (metadata, cgroup, cascaded resources)
}

DeleteStackResult reports what was deleted during stack deletion.

type Exec

type Exec struct {
	// contains filtered or unexported fields
}

func NewControllerExec

func NewControllerExec(ctx context.Context, logger *slog.Logger, opts Options) *Exec

func NewControllerExecForTesting

func NewControllerExecForTesting(ctx context.Context, logger *slog.Logger, opts Options, r runner.Runner) *Exec

NewControllerExecForTesting creates a controller with a custom runner for testing. This function is exported for testing purposes only.

func (*Exec) ApplyDocuments

func (b *Exec) ApplyDocuments(docs []parser.Document) (ApplyResult, error)

ApplyDocuments applies a set of resource documents in dependency order. Documents are sorted: Realm → Space → Stack → Cell → Container. Returns a summary of actions taken for each resource.

func (*Exec) Bootstrap

func (b *Exec) Bootstrap() (BootstrapReport, error)

func (*Exec) Close

func (b *Exec) Close() error

Close closes the controller and releases all resources, including the containerd connection.

func (*Exec) CreateCell

func (b *Exec) CreateCell(cell intmodel.Cell) (CreateCellResult, error)

CreateCell creates a new cell or ensures an existing cell's resources exist. It returns a CreateCellResult and an error. The CreateCellResult reports the state of cell resources before and after the operation, indicating what was created vs what already existed, including container-level outcomes. The error is returned if the cell name is required, the realm name is required, the space name is required, the stack name is required, the cell cgroup does not exist, the root container does not exist, or the cell creation fails.

func (*Exec) CreateContainer

func (b *Exec) CreateContainer(container intmodel.Container) (CreateContainerResult, error)

func (*Exec) CreateRealm

func (b *Exec) CreateRealm(realm intmodel.Realm) (CreateRealmResult, error)

CreateRealm creates a new realm or ensures an existing realm's resources exist. It returns a CreateRealmResult and an error. The CreateRealmResult reports the state of realm resources before and after the operation, indicating what was created vs what already existed. The error is returned if the realm name is required, the namespace is required, the realm cgroup does not exist, the containerd namespace does not exist, or the realm creation fails.

func (*Exec) CreateSpace

func (b *Exec) CreateSpace(space intmodel.Space) (CreateSpaceResult, error)

CreateSpace creates a new space or ensures an existing space's resources exist. It returns a CreateSpaceResult and an error. The CreateSpaceResult reports the state of space resources before and after the operation, indicating what was created vs what already existed. The error is returned if the space name is required, the realm name is required, the space cgroup does not exist, the cni network does not exist, or the space creation fails.

func (*Exec) CreateStack

func (b *Exec) CreateStack(stack intmodel.Stack) (CreateStackResult, error)

CreateStack creates a new stack or ensures an existing stack's resources exist. It returns a CreateStackResult and an error. The CreateStackResult reports the state of stack resources before and after the operation, indicating what was created vs what already existed. The error is returned if the stack name is required, the realm name is required, the space name is required, the stack cgroup does not exist, or the stack creation fails.

func (*Exec) DeleteCell

func (b *Exec) DeleteCell(cell intmodel.Cell) (DeleteCellResult, error)

DeleteCell deletes a cell. Always deletes all containers first.

func (*Exec) DeleteContainer

func (b *Exec) DeleteContainer(container intmodel.Container) (DeleteContainerResult, error)

DeleteContainer deletes a single container. Cascade flag is not applicable.

func (*Exec) DeleteDocuments

func (b *Exec) DeleteDocuments(docs []parser.Document, cascade, force bool) (DeleteResult, error)

DeleteDocuments deletes a set of resource documents in reverse dependency order. Documents are sorted: Container → Cell → Stack → Space → Realm. Returns a summary of actions taken for each resource.

func (*Exec) DeleteRealm

func (b *Exec) DeleteRealm(realm intmodel.Realm, force, cascade bool) (DeleteRealmResult, error)

DeleteRealm deletes a realm. If cascade is true, deletes all spaces first. If force is true, skips validation of child resources.

func (*Exec) DeleteSpace

func (b *Exec) DeleteSpace(space intmodel.Space, force, cascade bool) (DeleteSpaceResult, error)

DeleteSpace deletes a space. If cascade is true, deletes all stacks first. If force is true, skips validation of child resources.

func (*Exec) DeleteStack

func (b *Exec) DeleteStack(stack intmodel.Stack, force, cascade bool) (DeleteStackResult, error)

DeleteStack deletes a stack. If cascade is true, deletes all cells first. If force is true, skips validation of child resources.

func (*Exec) GetCell

func (b *Exec) GetCell(cell intmodel.Cell) (GetCellResult, error)

GetCell retrieves a single cell and reports its current state.

func (*Exec) GetContainer

func (b *Exec) GetContainer(container intmodel.Container) (GetContainerResult, error)

GetContainer retrieves a single container and reports its current state.

func (*Exec) GetRealm

func (b *Exec) GetRealm(realm intmodel.Realm) (GetRealmResult, error)

GetRealm retrieves a single realm and reports its current state.

func (*Exec) GetSpace

func (b *Exec) GetSpace(space intmodel.Space) (GetSpaceResult, error)

GetSpace retrieves a single space and reports its current state.

func (*Exec) GetStack

func (b *Exec) GetStack(stack intmodel.Stack) (GetStackResult, error)

GetStack retrieves a single stack and reports its current state.

func (*Exec) KillCell

func (b *Exec) KillCell(cell intmodel.Cell) (KillCellResult, error)

KillCell immediately force-kills all containers in a cell and updates the cell metadata state.

func (*Exec) KillContainer

func (b *Exec) KillContainer(container intmodel.Container) (KillContainerResult, error)

KillContainer immediately force-kills a specific container in a cell and updates the cell metadata.

func (*Exec) ListCells

func (b *Exec) ListCells(realmName, spaceName, stackName string) ([]intmodel.Cell, error)

ListCells lists all cells, optionally filtered by realm, space, and/or stack.

func (*Exec) ListContainers

func (b *Exec) ListContainers(realmName, spaceName, stackName, cellName string) ([]intmodel.ContainerSpec, error)

ListContainers lists all containers, optionally filtered by realm, space, stack, and/or cell.

func (*Exec) ListRealms

func (b *Exec) ListRealms() ([]intmodel.Realm, error)

ListRealms lists all realms.

func (*Exec) ListSpaces

func (b *Exec) ListSpaces(realmName string) ([]intmodel.Space, error)

ListSpaces lists all spaces, optionally filtered by realm.

func (*Exec) ListStacks

func (b *Exec) ListStacks(realmName, spaceName string) ([]intmodel.Stack, error)

ListStacks lists all stacks, optionally filtered by realm and/or space.

func (*Exec) PurgeCell

func (b *Exec) PurgeCell(cell intmodel.Cell, force, cascade bool) (PurgeCellResult, error)

PurgeCell purges a cell with comprehensive cleanup. Always purges all containers first. If force is true, skips validation (currently unused but recorded for auditing).

func (*Exec) PurgeContainer

func (b *Exec) PurgeContainer(container intmodel.Container) (PurgeContainerResult, error)

PurgeContainer purges a single container with comprehensive cleanup. Cascade flag is not applicable.

func (*Exec) PurgeRealm

func (b *Exec) PurgeRealm(realm intmodel.Realm, force, cascade bool) (PurgeRealmResult, error)

PurgeRealm purges a realm with comprehensive cleanup. If cascade is true, purges all spaces first. If force is true, skips validation of child resources.

func (*Exec) PurgeSpace

func (b *Exec) PurgeSpace(space intmodel.Space, force, cascade bool) (PurgeSpaceResult, error)

PurgeSpace purges a space with comprehensive cleanup. If cascade is true, purges all stacks first. If force is true, skips validation of child resources.

func (*Exec) PurgeStack

func (b *Exec) PurgeStack(stack intmodel.Stack, force, cascade bool) (PurgeStackResult, error)

PurgeStack purges a stack with comprehensive cleanup. If cascade is true, purges all cells first. If force is true, skips validation of child resources.

func (*Exec) RefreshAll

func (b *Exec) RefreshAll() (RefreshResult, error)

RefreshAll refreshes all metadata entities by introspecting containerd and CNI.

func (*Exec) RunPath added in v0.2.0

func (b *Exec) RunPath() string

RunPath returns the configured kukeon run path. Surfaced for callers that need to derive host paths from the same root the controller writes to — notably the in-process AttachContainer endpoint, which resolves the per-container sbsh socket via fs.ContainerSocketPath.

func (*Exec) StartCell

func (b *Exec) StartCell(cell intmodel.Cell) (StartCellResult, error)

StartCell starts all containers in a cell and updates the cell metadata state.

func (*Exec) StartContainer

func (b *Exec) StartContainer(container intmodel.Container) (StartContainerResult, error)

StartContainer starts a specific container in a cell and updates the cell metadata.

func (*Exec) StopCell

func (b *Exec) StopCell(cell intmodel.Cell) (StopCellResult, error)

StopCell stops all containers in a cell and updates the cell metadata state.

func (*Exec) StopContainer

func (b *Exec) StopContainer(container intmodel.Container) (StopContainerResult, error)

StopContainer stops a specific container in a cell and updates the cell metadata.

type GetCellResult

type GetCellResult struct {
	Cell                intmodel.Cell
	MetadataExists      bool
	CgroupExists        bool
	RootContainerExists bool
}

GetCellResult reports the current state of a cell.

type GetContainerResult

type GetContainerResult struct {
	Container          intmodel.Container
	CellMetadataExists bool
	ContainerExists    bool
}

GetContainerResult reports the current state of a container.

type GetRealmResult

type GetRealmResult struct {
	Realm                     intmodel.Realm
	MetadataExists            bool
	CgroupExists              bool
	ContainerdNamespaceExists bool
}

GetRealmResult reports the current state of a realm.

type GetSpaceResult

type GetSpaceResult struct {
	Space            intmodel.Space
	MetadataExists   bool
	CgroupExists     bool
	CNINetworkExists bool
}

GetSpaceResult reports the current state of a space.

type GetStackResult

type GetStackResult struct {
	Stack          intmodel.Stack
	MetadataExists bool
	CgroupExists   bool
}

GetStackResult reports the current state of a stack.

type KillCellResult

type KillCellResult struct {
	Cell   intmodel.Cell
	Killed bool
}

KillCellResult reports the outcome of killing a cell.

type KillContainerResult

type KillContainerResult struct {
	Container intmodel.Container
	Killed    bool
}

KillContainerResult reports the outcome of killing a container.

type Options

type Options struct {
	RunPath          string
	ContainerdSocket string
	// KukeondImage is the container image for the kukeond system cell. If empty,
	// bootstrap will skip provisioning the system cell (but still provision the
	// system realm/space/stack).
	KukeondImage string
	// KukeondSocket is the unix socket path kukeond serves on. Used by bootstrap
	// to build the bind-mount for the system cell.
	KukeondSocket string
	// ForceRegenerateCNI forces bootstrap to rewrite space conflists even when
	// they already exist with the expected bridge name. Surfaces via
	// `kuke init --force-regenerate-cni`.
	ForceRegenerateCNI bool
}

type PurgeCellResult

type PurgeCellResult struct {
	Cell              intmodel.Cell
	ContainersDeleted bool
	CgroupDeleted     bool
	MetadataDeleted   bool
	PurgeSucceeded    bool
	Force             bool
	Cascade           bool
	Deleted           []string // Resources that were deleted (standard cleanup)
	Purged            []string // Additional resources purged (CNI, orphaned containers, etc.)
}

PurgeCellResult reports what was purged during cell purging.

type PurgeContainerResult

type PurgeContainerResult struct {
	Container          intmodel.Container
	CellMetadataExists bool
	ContainerExists    bool
	Deleted            []string // Resources that were deleted (standard cleanup)
	Purged             []string // Additional resources purged (CNI, orphaned containers, etc.)
}

PurgeContainerResult reports what was purged during container purging.

type PurgeRealmResult

type PurgeRealmResult struct {
	Realm          intmodel.Realm
	RealmDeleted   bool     // Whether realm deletion succeeded
	PurgeSucceeded bool     // Whether comprehensive purge succeeded
	Force          bool     // Force flag that was used
	Cascade        bool     // Cascade flag that was used
	Deleted        []string // Resources that were deleted (standard cleanup)
	Purged         []string // Additional resources purged (CNI, orphaned containers, etc.)
}

PurgeRealmResult reports what was purged during realm purging.

type PurgeSpaceResult

type PurgeSpaceResult struct {
	Space intmodel.Space

	MetadataDeleted   bool
	CgroupDeleted     bool
	CNINetworkDeleted bool
	PurgeSucceeded    bool
	Force             bool
	Cascade           bool

	Deleted []string // Resources that were deleted (standard cleanup)
	Purged  []string // Additional resources purged (CNI, orphaned containers, etc.)
}

PurgeSpaceResult reports what was purged during space purging.

type PurgeStackResult

type PurgeStackResult struct {
	Stack   intmodel.Stack
	Deleted []string // Resources that were deleted (standard cleanup)
	Purged  []string // Additional resources purged (CNI, orphaned containers, etc.)
}

PurgeStackResult reports what was purged during stack purging.

type RealmSection

type RealmSection struct {
	RealmName                          string
	RealmContainerdNamespace           string
	RealmMetadataExistsPre             bool
	RealmMetadataExistsPost            bool
	RealmContainerdNamespaceExistsPre  bool
	RealmContainerdNamespaceExistsPost bool
	RealmContainerdNamespaceCreated    bool
	RealmCreated                       bool
	RealmCgroupExistsPre               bool
	RealmCgroupExistsPost              bool
	RealmCgroupCreated                 bool
}

RealmSection holds the bootstrap outcome for a single realm.

type RefreshResult

type RefreshResult struct {
	RealmsFound       []string
	SpacesFound       []string
	StacksFound       []string
	CellsFound        []string
	ContainersFound   []string
	RealmsUpdated     []string
	SpacesUpdated     []string
	StacksUpdated     []string
	CellsUpdated      []string
	ContainersUpdated []string
	Errors            []string
}

RefreshResult contains the summary of the refresh operation.

type ResourceDeleteResult

type ResourceDeleteResult struct {
	Index    int
	Kind     string
	Name     string
	Action   string // "deleted", "not found", "failed"
	Error    error
	Cascaded []string // Child resources deleted (if cascade=true)
	Details  map[string]string
}

ResourceDeleteResult represents the result of deleting a single resource.

func (ResourceDeleteResult) MarshalJSON

func (r ResourceDeleteResult) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler for ResourceDeleteResult.

func (ResourceDeleteResult) MarshalYAML

func (r ResourceDeleteResult) MarshalYAML() (interface{}, error)

MarshalYAML implements yaml.Marshaler for ResourceDeleteResult.

type ResourceResult

type ResourceResult struct {
	Index   int
	Kind    string
	Name    string
	Action  string // "created", "updated", "unchanged", "failed"
	Error   error
	Changes []string
	Details map[string]string
}

ResourceResult represents the result of applying a single resource.

func (ResourceResult) MarshalJSON

func (r ResourceResult) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler for ResourceResult.

func (ResourceResult) MarshalYAML

func (r ResourceResult) MarshalYAML() (interface{}, error)

MarshalYAML implements yaml.Marshaler for ResourceResult.

type SpaceSection

type SpaceSection struct {
	SpaceName                 string
	SpaceCNINetworkName       string
	SpaceMetadataExistsPre    bool
	SpaceMetadataExistsPost   bool
	SpaceCNINetworkExistsPre  bool
	SpaceCNINetworkExistsPost bool
	SpaceCNINetworkCreated    bool
	SpaceCreated              bool
	SpaceCgroupExistsPre      bool
	SpaceCgroupExistsPost     bool
	SpaceCgroupCreated        bool
}

SpaceSection holds the bootstrap outcome for a single space.

type StackSection

type StackSection struct {
	StackName               string
	StackMetadataExistsPre  bool
	StackMetadataExistsPost bool
	StackCreated            bool
	StackCgroupExistsPre    bool
	StackCgroupExistsPost   bool
	StackCgroupCreated      bool
}

StackSection holds the bootstrap outcome for a single stack.

type StartCellResult

type StartCellResult struct {
	Cell    intmodel.Cell
	Started bool
}

StartCellResult reports the outcome of starting a cell.

type StartContainerResult

type StartContainerResult struct {
	Container intmodel.Container
	Started   bool
}

StartContainerResult reports the outcome of starting a container.

type StopCellResult

type StopCellResult struct {
	Cell    intmodel.Cell
	Stopped bool
}

StopCellResult reports the outcome of stopping a cell.

type StopContainerResult

type StopContainerResult struct {
	Container intmodel.Container
	Stopped   bool
}

StopContainerResult reports the outcome of stopping a container.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL