Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
Functions ¶
func AppsToTargetGroups ¶
func AppsToTargetGroups(apps *AppList) map[string]*targetgroup.Group
AppsToTargetGroups takes an array of Marathon apps and converts them into target groups.
func RandomAppsURL ¶
RandomAppsURL randomly selects a server from an array and creates an URL pointing to the app list.
Types ¶
type App ¶
type App struct { ID string `json:"id"` Tasks []Task `json:"tasks"` RunningTasks int `json:"tasksRunning"` Labels map[string]string `json:"labels"` Container Container `json:"container"` PortDefinitions []PortDefinitions `json:"portDefinitions"` }
App describes a service running on Marathon.
type AppListClient ¶
AppListClient defines a function that can be used to get an application list from marathon.
type Container ¶
type Container struct { Docker DockerContainer `json:"docker"` PortMappings []PortMappings `json:"portMappings"` }
Container describes the runtime an app in running in.
type Discovery ¶
type Discovery struct {
// contains filtered or unexported fields
}
Discovery provides service discovery based on a Marathon instance.
func NewDiscovery ¶
NewDiscovery returns a new Marathon Discovery.
type DockerContainer ¶
type DockerContainer struct { Image string `json:"image"` PortMappings []PortMappings `json:"portMappings"` }
DockerContainer describes a container which uses the docker runtime.
type PortDefinitions ¶
PortDefinitions describes which load balancer port you should access to access the service.
type PortMappings ¶
PortMappings describes in which port the process are binding inside the docker container.
type SDConfig ¶
type SDConfig struct { Servers []string `yaml:"servers,omitempty"` Timeout model.Duration `yaml:"timeout,omitempty"` RefreshInterval model.Duration `yaml:"refresh_interval,omitempty"` TLSConfig config_util.TLSConfig `yaml:"tls_config,omitempty"` BearerToken config_util.Secret `yaml:"bearer_token,omitempty"` BearerTokenFile string `yaml:"bearer_token_file,omitempty"` // Catches all undefined fields and must be empty after parsing. XXX map[string]interface{} `yaml:",inline"` }
SDConfig is the configuration for services running on Marathon.
func (*SDConfig) UnmarshalYAML ¶
UnmarshalYAML implements the yaml.Unmarshaler interface.