Documentation
¶
Index ¶
- Variables
- func IsValidEnvKeyValuePair(value string) bool
- func Validate(pods []Pod) error
- type Container
- type ContainerStatus
- type Deployment
- type DeploymentSpec
- type Filesystem
- type Metadata
- type Mount
- type NodeInfo
- type NodeState
- type PipeFromStdout
- type PipeSet
- type PipeToStdin
- type Pod
- type PodSpec
- type PodState
- type PodStatus
Constants ¶
This section is empty.
Variables ¶
var DefaultNamespace = "eliot"
DefaultNamespace is namespace what each pod get if there is no metadata.namespace
Functions ¶
func IsValidEnvKeyValuePair ¶
IsValidEnvKeyValuePair return true if value is valid formated environment variable (e.g. KEY=value)
Types ¶
type Container ¶
type Container struct {
Name string `validate:"required,gt=0,alphanumOrDash"`
Image string `validate:"required,gt=0,imageRef"`
Tty bool
Args []string `validate:"dive,noSpaces"`
Env []string `validate:"dive,envKeyValuePair"`
WorkingDir string `validate:"omitempty,gt=0"`
Mounts []Mount `validate:"dive"`
Pipe *PipeSet
}
Container defines what image should be running
type ContainerStatus ¶
type ContainerStatus struct {
ContainerID string `validate:"required,gt=0"`
Name string `validate:"required,gt=0"`
Image string `validate:"required,gt=0,imageRef"`
State string `validate:"required,gt=0"`
RestartCount int `validate:"required,gte=0"`
}
ContainerStatus represents one container status
type Deployment ¶
type Deployment struct {
Metadata
ID string `validate:"required,gt=0"`
Spec DeploymentSpec `validate:"required"`
}
Deployment model
type DeploymentSpec ¶
DeploymentSpec model
type Filesystem ¶ added in v0.2.8
type Filesystem struct {
// E.g /dev/vda1, tmpfs, cgroup, etc.
Filesystem string
// E.g. ext4, tmpfs, cgroup, etc.
TypeName string
// Path to the mounted dir
MountDir string
// Total data blocks
Total uint64
// Free blocks
Free uint64
// Free blocks available to unprivileged user
Available uint64
}
Filesystem represents information about single filesystem in the target node
type Metadata ¶
type Metadata struct {
Name string `validate:"required,gt=0,alphanumOrDash"`
Namespace string `validate:"omitempty,gt=0,alphanumOrDash"`
}
Metadata is metadata that all resources must have
func NewMetadata ¶
NewMetadata creates new metadata with name and metadata fields
type Mount ¶
type Mount struct {
Type string `validate:"omitempty,gt=0"`
Source string `validate:"omitempty,gt=0"`
Destination string `validate:"omitempty,gt=0"`
Options []string `validate:"dive,gt=0"`
}
Mount defines directory mount from host to the container
type NodeInfo ¶ added in v0.2.8
type NodeInfo struct {
// Labels for the node, provided through cli
Labels map[string]string
// Node hostname
Hostname string `validate:"required,gt=0"`
// IPs
Addresses []net.IP
// Port
GrpcPort int
// The machine id is an ID identifying a specific Linux/Unix installation.
// It does not change if hardware is replaced.
MachineID string `validate:"required,gt=0"`
// The system uuid is the main board product UUID,
// as set by the board manufacturer and encoded in the BIOS DMI information
SystemUUID string `validate:"required,gt=0"`
// A random ID that is regenerated on each boot
BootID string `validate:"required,gt=0"`
// Node operating system. One of 386, amd64, arm, s390x, and so on.
Arch string
// node operating system. One of darwin, freebsd, linux, windows, and so on
OS string
// Server version
Version string
// Filesystems
Filesystems []Filesystem
// Seconds since node boot up
Uptime uint64
}
NodeInfo contains information about current node
type NodeState ¶ added in v0.2.8
type NodeState struct {
Pods []PodState `validate:"dive"`
}
NodeState describes current state of the node
type PipeFromStdout ¶
type PipeFromStdout struct {
Stdin *PipeToStdin
}
PipeFromStdout defines container stdout as source for the piping
type PipeSet ¶
type PipeSet struct {
Stdout *PipeFromStdout
}
PipeSet allows defining pipe from some source(s) to another container
type PipeToStdin ¶
type PipeToStdin struct {
Name string
}
PipeToStdin defines container stdin as target for the piping
type Pod ¶
type Pod struct {
Metadata Metadata `validate:"required"`
Spec PodSpec `validate:"required"`
Status PodStatus
}
Pod is set of containers
func (*Pod) AppendContainer ¶
func (p *Pod) AppendContainer(container Container, status ContainerStatus)
AppendContainer adds container to the pod information
type PodSpec ¶
type PodSpec struct {
HostNetwork bool
HostPID bool
Containers []Container `validate:"required,gt=0,dive"`
RestartPolicy string
}
PodSpec defines what containers should be running
type PodState ¶
type PodState struct {
ID string `validate:"required,gt=0"`
}
PodState represents information about pod current state
type PodStatus ¶
type PodStatus struct {
Hostname string
ContainerStatuses []ContainerStatus `validate:"dive"`
}
PodStatus represents latest known state of pod