Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( // Unmarshalled service configuration files that are loaded from disk, // they will be loaded into service descriptors that will bundle up // additional runtime state information. // // Initialized by loadSavedConfigs() ServiceConfigs []*ServiceConfiguration )
View Source
var (
ServiceDescriptors []*ServiceDescriptor
)
Functions ¶
func WatchServiceConfigurationFiles ¶
func WatchServiceConfigurationFiles()
Thread that will initially load all available configs from disk and start up running services by attaching each config to a descriptor. Afterwards, the thread will watch all configuration files and check for updates to configs based on hash
Types ¶
type ServiceConfiguration ¶
type ServiceConfiguration struct {
// If the "static" configuration is to be changed by the API.
M sync.Mutex
// Name of the service for identification and other things.
Name string `json:"name" yaml:"name"`
Configuration *Svcconf `json:"configuration" yaml:"configuration"`
SandboxConfig *criapi.PodSandboxConfig `json:"pod_sandbox"`
ContainerConfigs []*criapi.ContainerConfig `json:"containers"`
}
The attached configuration for describing a service/pod to be run on the host. Is designed to be similar to a Deployment yaml file for Kubernetes, but with a more paired-down API.
type ServiceController ¶
type ServiceDescriptor ¶
type ServiceDescriptor struct {
// Mutex if API/control-plane and status controller needs to configure the state of this service.
M sync.Mutex
// Describes the state of this service, can either be
// 1 (running), 0 (disabled/not-running), or -1 (failed/exited).
State int
// Internal container state
CState criapi.ContainerState
// Map of command names inside of container mapped to the container ID of each of the running containers.
Id map[string]string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
// ID of the sandbox to which this container belongs.
PodSandboxId string `protobuf:"bytes,2,opt,name=pod_sandbox_id,json=podSandboxId,proto3" json:"pod_sandbox_id,omitempty"`
// Creation time of the container in nanoseconds.
CreatedAt int64 `protobuf:"varint,7,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
// "Static" configuration for a service to be read by the control plane for initializing a service,
// and parts can be updated by the API during runtime.
Config *ServiceConfiguration
}
Describes a service and its associated state to be containerized/run on the host.
func (*ServiceDescriptor) Kill ¶
func (sd *ServiceDescriptor) Kill() error
func (*ServiceDescriptor) Start ¶
func (sd *ServiceDescriptor) Start() error
type ServiceSpec ¶
type Svcconf ¶
type Svcconf struct {
Meta map[string]interface{} `json:"metadata" yaml:"metadata"`
Spec *ServiceSpec `json:"spec" yaml:"spec"`
}
Click to show internal directories.
Click to hide internal directories.