Documentation ¶
Index ¶
- Constants
- type Artifact
- type ArtifactKey
- type ByInstanceKey
- type CommaSeparatedList
- type Container
- type ContainerKey
- type Context
- type Disk
- type DiskKey
- type ExposedPort
- type Image
- type ImageKey
- type Instance
- type InstanceKey
- type InstanceLabel
- type InstanceLabelList
- type Ip
- type Job
- type JobKey
- type JobPortList
- type MaestroDoc
- type MountPoint
- type Regexp
- type Requirement
- type Resource
- type Runnable
- type Service
- func (this *Service) Execute(c Context) error
- func (this *Service) Finish(c Context) error
- func (this *Service) InDesiredState(c Context) (bool, error)
- func (this *Service) Name() ServiceKey
- func (this *Service) Prepare(c Context) error
- func (this *Service) Targets() [][]*Container
- func (this *Service) Validate(c Context) error
- type ServiceKey
- type SizeQuantityUnit
- type SizeUnit
- type Verifiable
- type Volume
- type VolumeLabel
- type YmlFilePath
Constants ¶
View Source
const DOCKER_ACCOUNT = "DOCKER_ACCOUNT"
View Source
const DOCKER_AUTH = "DOCKER_AUTH"
View Source
const DOCKER_EMAIL = "DOCKER_EMAIL"
View Source
const LIVE_MODE = "LIVE_MODE"
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Artifact ¶
type ArtifactKey ¶
type ArtifactKey string
type ByInstanceKey ¶
type ByInstanceKey []*Instance
For sorting by instance key
func (ByInstanceKey) Len ¶
func (a ByInstanceKey) Len() int
func (ByInstanceKey) Less ¶
func (a ByInstanceKey) Less(i, j int) bool
func (ByInstanceKey) Swap ¶
func (a ByInstanceKey) Swap(i, j int)
type CommaSeparatedList ¶
type CommaSeparatedList string
type Container ¶
type Container struct { ResourceRequirements *Requirement `yaml:"requires"` ImageRef string `yaml:"image"` Ssh []*string `yaml:"ssh"` // contains filtered or unexported fields }
func (*Container) Name ¶
func (this *Container) Name() ContainerKey
type ContainerKey ¶
type ContainerKey string
type Disk ¶
type Disk struct { Cloud string `yaml:"cloud"` Type string `yaml:"type"` Size SizeQuantityUnit `yaml:"size"` // contains filtered or unexported fields }
type ExposedPort ¶
type ExposedPort int
type Image ¶
type Image struct { Dockerfile string `yaml:"dockerfile"` RepoId string `yaml:"image"` ArtifactKeys []ArtifactKey `yaml:"artifacts"` // contains filtered or unexported fields }
type Instance ¶
type Instance struct { Resource *Resource `yaml:"available"` Keypair string `yaml:"keypair"` User string `yaml:"user"` Cloud string `yaml:"cloud"` Project string `yaml:"project"` InternalIp Ip `yaml:"internal-ip"` ExternalIp Ip `yaml:"external-ip"` InstanceLabels InstanceLabelList `yaml:"labels"` VolumeSection map[VolumeLabel]map[DiskKey]MountPoint `yaml:"volumes"` // contains filtered or unexported fields }
type InstanceKey ¶
type InstanceKey string
type InstanceLabel ¶
type InstanceLabel string
type InstanceLabelList ¶
type InstanceLabelList CommaSeparatedList
type Job ¶
type Job struct { ContainerKey ContainerKey `yaml:"container"` InstanceLabels InstanceLabelList `yaml:"instance-labels"` // Global resource requirements ResourceRequirements *Requirement `yaml:"requires"` // contains filtered or unexported fields }
Job - has container, instance labels, and resource requirements
type JobPortList ¶
type JobPortList CommaSeparatedList
type MaestroDoc ¶
type MaestroDoc struct { Imports []YmlFilePath `yaml:"import"` Deploys []ServiceKey `yaml:"deploy"` Vars map[string]string `yaml:"var"` ServiceSection map[ServiceKey][]map[JobKey]JobPortList `yaml:"service"` Artifacts map[ArtifactKey]*Artifact `yaml:"artifact"` Images map[ImageKey]*Image `yaml:"image"` Containers map[ContainerKey]*Container `yaml:"container"` Disks map[DiskKey]*Disk `yaml:"disk"` Instances map[InstanceKey]*Instance `yaml:"instance"` Jobs map[JobKey]*Job `yaml:"job"` // contains filtered or unexported fields }
func (*MaestroDoc) Apply ¶
func (this *MaestroDoc) Apply() error
func (*MaestroDoc) LoadFromBytes ¶
func (this *MaestroDoc) LoadFromBytes(buff []byte) error
func (*MaestroDoc) LoadFromFile ¶
func (this *MaestroDoc) LoadFromFile(filename string) error
func (*MaestroDoc) String ¶
func (this *MaestroDoc) String() string
func (*MaestroDoc) Validate ¶
func (this *MaestroDoc) Validate(c Context) error
type MountPoint ¶
type MountPoint string
type Requirement ¶
type Requirement Resource
type Resource ¶
type Resource struct { CPU int `yaml:"cpu"` Memory SizeQuantityUnit `yaml:"memory"` Disk SizeQuantityUnit `yaml:"disk"` }
type Service ¶
type Service struct {
// contains filtered or unexported fields
}
func (*Service) Name ¶
func (this *Service) Name() ServiceKey
type ServiceKey ¶
type ServiceKey string
type SizeQuantityUnit ¶
type SizeQuantityUnit string
const ( TbFormat SizeQuantityUnit = "%dT" GbFormat SizeQuantityUnit = "%dG" MbFormat SizeQuantityUnit = "%dM" KbFormat SizeQuantityUnit = "%dK" )
func (SizeQuantityUnit) ToUnit ¶
func (this SizeQuantityUnit) ToUnit(su SizeUnit) float64
func (SizeQuantityUnit) Validate ¶
func (this SizeQuantityUnit) Validate() error
type Verifiable ¶
type VolumeLabel ¶
type VolumeLabel string
type YmlFilePath ¶
type YmlFilePath string
Click to show internal directories.
Click to hide internal directories.