Documentation
¶
Index ¶
- type Command
- type Compose
- type Config
- type Deploy
- type ErrorMsg
- type Executor
- type FrameworkConfig
- type GPUs
- type Mesos
- type MesosAgent
- type MesosAgentContainers
- type MesosFrameworkStatus
- 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
GPUs float64
Disk float64
Agent string
Labels []*mesosproto.Label
State string
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
Attributes []*mesosproto.Label
}
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
RedisPoolSize 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
ThreadEnable 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"`
Runtime string `yaml:"runtime"`
}
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 MesosFrameworkStatus ¶ added in v1.1.4
type MesosFrameworkStatus struct {
Frameworks []struct {
ID string `json:"id"`
Name string `json:"name"`
UsedResources struct {
Disk float64 `json:"disk"`
Mem float64 `json:"mem"`
Gpus float64 `json:"gpus"`
Cpus float64 `json:"cpus"`
} `json:"used_resources"`
OfferedResources struct {
Disk float64 `json:"disk"`
Mem float64 `json:"mem"`
Gpus float64 `json:"gpus"`
Cpus float64 `json:"cpus"`
} `json:"offered_resources"`
Capabilities []interface{} `json:"capabilities"`
Hostname string `json:"hostname"`
WebuiURL string `json:"webui_url"`
Active bool `json:"active"`
Connected bool `json:"connected"`
Recovered bool `json:"recovered"`
User string `json:"user"`
FailoverTimeout float64 `json:"failover_timeout"`
Checkpoint bool `json:"checkpoint"`
RegisteredTime float64 `json:"registered_time"`
UnregisteredTime float64 `json:"unregistered_time"`
Principal string `json:"principal"`
Resources struct {
Disk float64 `json:"disk"`
Mem float64 `json:"mem"`
Gpus float64 `json:"gpus"`
Cpus float64 `json:"cpus"`
} `json:"resources"`
Role string `json:"role"`
Tasks []interface{} `json:"tasks"`
UnreachableTasks []interface{} `json:"unreachable_tasks"`
CompletedTasks []interface{} `json:"completed_tasks"`
Offers []interface{} `json:"offers"`
Executors []interface{} `json:"executors"`
OfferConstraints struct {
} `json:"offer_constraints"`
} `json:"frameworks"`
CompletedFrameworks []interface{} `json:"completed_frameworks"`
UnregisteredFrameworks []interface{} `json:"unregistered_frameworks"`
}
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 {
Attributes []string `yaml:"attributes"`
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"`
GPUs GPUs `yaml:"gpus"`
}
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