Documentation ¶
Index ¶
- type Command
- type Compose
- type Config
- type Deploy
- type ErrorMsg
- type Executor
- type FrameworkConfig
- type Mesos
- type MesosAgent
- type MesosAgentContainers
- type MesosSlaves
- type MesosTasks
- type Networks
- type NetworksLong
- type Placement
- type Service
- type State
- type Ulimits
- type UserCredentials
- type Volumes
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Command ¶ added in v1.0.0
type Command struct { ContainerImage string `json:"container_image,omitempty"` ContainerType string `json:"container_type,omitempty"` TaskName string `json:"task_name,omitempty"` Command string `json:"command,omitempty"` Hostname string `json:"hostname,omitempty"` Domain string `json:"domain,omitempty"` Privileged bool `json:"privileged,omitempty"` NetworkMode string `json:"network_mode,omitempty"` Volumes []*mesosproto.Volume `protobuf:"bytes,1,rep,name=volumes" json:"volumes,omitempty"` Shell bool `protobuf:"varint,2,opt,name=shell,def=1" json:"shell,omitempty"` Uris []*mesosproto.CommandInfo_URI `protobuf:"bytes,3,rep,name=uris" json:"uris,omitempty"` Environment *mesosproto.Environment `protobuf:"bytes,4,opt,name=environment" json:"environment,omitempty"` NetworkInfo []*mesosproto.NetworkInfo `protobuf:"bytes,5,opt,name=networkinfo" json:"networkinfo,omitempty"` DockerPortMappings []*mesosproto.ContainerInfo_DockerInfo_PortMapping `protobuf:"bytes,6,rep,name=port_mappings,json=portMappings" json:"port_mappings,omitempty"` DockerParameter []*mesosproto.Parameter `protobuf:"bytes,7,rep,name=parameters" json:"parameters,omitempty"` Arguments []string `protobuf:"bytes,8,rep,name=arguments" json:"arguments,omitempty"` Discovery *mesosproto.DiscoveryInfo `protobuf:"bytes,9,opt,name=discovery" json:"discovery,omitempty"` Executor *mesosproto.ExecutorInfo `protobuf:"bytes,10,opt,name=executor" json:"executor,omitempty"` Restart string InternalID int TaskID string Memory float64 Mesos Mesos CPU float64 Disk float64 Agent string Labels []*mesosproto.Label State string Killed bool StateTime time.Time Instances int LinuxInfo *mesosproto.LinuxInfo `protobuf:"bytes,11,opt,name=linux_info,json=linuxInfo" json:"linux_info,omitempty"` PullPolicy string EnableHealthCheck bool Health *mesosproto.HealthCheck MesosAgent MesosSlaves }
Command is a chan which include all the Information about the started tasks
type Compose ¶
type Compose struct { Version string `yaml:"version"` Services map[string]Service `yaml:"services"` Networks map[string]Networks `yaml:"networks"` Volumes map[string]Volumes `yaml:"volumes"` }
Compose - The main structure of the supported docker-compose syntax
type Config ¶
type Config struct { Principal string LogLevel string MinVersion string AppName string EnableSyslog bool Hostname string Listen string Domain string Credentials UserCredentials PrefixHostname string PrefixTaskName string CPU float64 Memory float64 Disk float64 RedisServer string RedisPassword string RedisDB int SkipSSL bool SSLKey string SSLCrt string Suppress bool EventLoopTime time.Duration ReconcileLoopTime time.Duration VaultToken string VaultURL string VaultTimeout time.Duration DefaultVolumeDriver string DiscoveryInfoNameDelimiter string DiscoveryPortNameDelimiter string Plugins map[string]*plugin.Plugin PluginsEnable bool }
Config is a struct of the framework configuration
type Deploy ¶
type Deploy struct { Placement Placement `yaml:"placement"` Replicas string `yaml:"replicas"` Resources struct { Limits struct { CPUs float64 `yaml:"cpus"` Memory float64 `yaml:"memory"` } `yaml:"limits"` } `yaml:"resources"` }
Deploy - Deploy information of a mesos task
type Executor ¶ added in v1.0.0
type Executor struct {
Command string `yaml:"command"`
}
Executor to configure the to use executor
type FrameworkConfig ¶ added in v1.0.0
type FrameworkConfig struct { FrameworkHostname string FrameworkPort string FrameworkBind string FrameworkUser string FrameworkName string FrameworkRole string FrameworkInfo mesosproto.FrameworkInfo FrameworkInfoFile string FrameworkInfoFilePath string PortRangeFrom int PortRangeTo int CommandChan chan Command `json:"-"` Username string Password string MesosMasterServer string MesosSSL bool MesosStreamID string TaskID string SSL bool State map[string]State }
type Mesos ¶ added in v1.0.0
type Mesos struct { TaskName string `yaml:"task_name"` Executor Executor `yaml:"executor"` Fetch []*mesosproto.CommandInfo_URI `yaml:"fetch"` }
Mesos custom mesos task configuration
type MesosAgent ¶ added in v0.3.0
type MesosAgent struct { Slaves []MesosSlaves `json:"slaves"` RecoveredSlaves []interface{} `json:"recovered_slaves"` }
MesosAgents
type MesosAgentContainers ¶ added in v0.3.0
type MesosAgentContainers []struct { ContainerID string `json:"container_id"` ExecutorID string `json:"executor_id"` ExecutorName string `json:"executor_name"` FrameworkID string `json:"framework_id"` Source string `json:"source"` Status struct { ContainerID struct { Value string `json:"value"` } `json:"container_id"` } `json:"status"` }
MesosAgentContainers ..
type MesosSlaves ¶ added in v1.0.0
type MesosSlaves struct { ID string `json:"id"` Hostname string `json:"hostname"` Port int `json:"port"` Attributes struct { } `json:"attributes"` Pid string `json:"pid"` RegisteredTime float64 `json:"registered_time"` ReregisteredTime float64 `json:"reregistered_time"` Resources struct { Disk float64 `json:"disk"` Mem float64 `json:"mem"` Gpus float64 `json:"gpus"` Cpus float64 `json:"cpus"` Ports string `json:"ports"` } `json:"resources"` UsedResources struct { Disk float64 `json:"disk"` Mem float64 `json:"mem"` Gpus float64 `json:"gpus"` Cpus float64 `json:"cpus"` Ports string `json:"ports"` } `json:"used_resources"` OfferedResources struct { Disk float64 `json:"disk"` Mem float64 `json:"mem"` Gpus float64 `json:"gpus"` Cpus float64 `json:"cpus"` } `json:"offered_resources"` ReservedResources struct { } `json:"reserved_resources"` UnreservedResources struct { Disk float64 `json:"disk"` Mem float64 `json:"mem"` Gpus float64 `json:"gpus"` Cpus float64 `json:"cpus"` Ports string `json:"ports"` } `json:"unreserved_resources"` Active bool `json:"active"` Deactivated bool `json:"deactivated"` Version string `json:"version"` Capabilities []string `json:"capabilities"` ReservedResourcesFull struct { } `json:"reserved_resources_full"` UnreservedResourcesFull []struct { Name string `json:"name"` Type string `json:"type"` Scalar struct { Value float64 `json:"value"` } `json:"scalar,omitempty"` Role string `json:"role"` Ranges struct { Range []struct { Begin int `json:"begin"` End int `json:"end"` } `json:"range"` } `json:"ranges,omitempty"` } `json:"unreserved_resources_full"` UsedResourcesFull []struct { Name string `json:"name"` Type string `json:"type"` Scalar struct { Value float64 `json:"value"` } `json:"scalar,omitempty"` Role string `json:"role"` AllocationInfo struct { Role string `json:"role"` } `json:"allocation_info"` Ranges struct { Range []struct { Begin int `json:"begin"` End int `json:"end"` } `json:"range"` } `json:"ranges,omitempty"` } `json:"used_resources_full"` OfferedResourcesFull []interface{} `json:"offered_resources_full"` }
MesosSlaves ..
type MesosTasks ¶ added in v1.0.0
type MesosTasks struct { Tasks []struct { ID string `json:"id"` Name string `json:"name"` FrameworkID string `json:"framework_id"` ExecutorID string `json:"executor_id"` SlaveID string `json:"slave_id"` AgentID string `json:"agent_id"` State string `json:"state"` Resources struct { Disk float64 `json:"disk"` Mem float64 `json:"mem"` Gpus float64 `json:"gpus"` Cpus float64 `json:"cpus"` } `json:"resources"` Role string `json:"role"` Statuses []struct { State string `json:"state"` Timestamp float64 `json:"timestamp"` ContainerStatus struct { ContainerID struct { Value string `json:"value"` } `json:"container_id"` NetworkInfos []*mesosproto.NetworkInfo `json:"network_infos"` } `json:"container_status,omitempty"` } `json:"statuses"` Discovery mesosproto.DiscoveryInfo `json:"discovery"` Container mesosproto.ContainerInfo `json:"container"` } `json:"tasks"` }
MesosTasks hold the information of the task
type Networks ¶
type Networks struct { External bool `yaml:"external"` Name string `yaml:"name"` Driver string `yaml:"driver"` }
Networks - The docker-compose network syntax
type NetworksLong ¶ added in v0.4.2
type NetworksLong struct {
Aliases []string `yaml:"aliases"`
}
NetworksLong - Supportet structure for Networks
type Placement ¶ added in v0.4.2
type Placement struct {
Constraints []string `yaml:"constraints"`
}
Placement - The docker-compose placement
type Service ¶
type Service struct { Network string `yaml:"network"` Networks map[string]NetworksLong `yaml:"networks"` Build string `yaml:"build"` Restart string `yaml:"restart" default:"unless-stopped"` Volumes []string `yaml:"volumes"` Environment map[string]string `yaml:"environment"` Arguments []string `yaml:"arguments"` DependsOn []string `yaml:"depends_on"` Ports []string `yaml:"ports"` Image string `yaml:"image"` Labels map[string]interface{} `yaml:"labels"` NetworkMode string `yaml:"network_mode"` Privileged bool `yaml:"privileged"` Command string `yaml:"command"` Shell bool `yaml:"shell"` Deploy Deploy `yaml:"deploy"` Hostname string `yaml:"hostname"` ContainerName string `yaml:"container_name"` ContainerType string `yaml:"container_type" default:"docker"` CapAdd []string `yaml:"cap_add"` CapDrop []string `yaml:"cap_drop"` PullPolicy string `yaml:"pull_policy" default:"always"` Ulimits Ulimits `yaml:"ulimits"` Mesos Mesos `yaml:"mesos"` HealthCheck *mesosproto.HealthCheck `yaml:"healthcheck"` }
Service - The docker-compose service parameters
type State ¶ added in v1.0.0
type State struct { Command Command `json:"command"` Status *mesosproto.TaskStatus `json:"status"` }
State will have the state of all tasks stated by this framework
type Ulimits ¶ added in v1.0.0
type Ulimits struct { Memlock struct { Soft int `yaml:"soft"` Hard int `yaml:"hard"` } `yaml:"memlock"` Nofile struct { Soft int `yaml:"soft"` Hard int `yaml:"hard"` } `yaml:"nofile"` }
Ulimits - Configure ulimits of a mesos task
type UserCredentials ¶
UserCredentials - The Username and Password to authenticate against this framework