Help us shape the future of Go! Take the 2026 Go Developer Survey

marathon

package
v1.7.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 26, 2017 License: Apache-2.0 Imports: 16 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AppsToTargetGroups

func AppsToTargetGroups(apps *AppList) map[string]*config.TargetGroup

AppsToTargetGroups takes an array of Marathon apps and converts them into target groups.

func RandomAppsURL

func RandomAppsURL(servers []string) string

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 AppList

type AppList struct {
	Apps []App `json:"apps"`
}

AppList is a list of Marathon apps.

type AppListClient

type AppListClient func(client *http.Client, url, token string) (*AppList, error)

AppListClient defines a function that can be used to get an application list from marathon.

type Container

type Container struct {
	Docker DockerContainer `json:"docker"`
}

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

func NewDiscovery(conf *config.MarathonSDConfig, logger log.Logger) (*Discovery, error)

NewDiscovery returns a new Marathon Discovery.

func (*Discovery) Run

func (d *Discovery) Run(ctx context.Context, ch chan<- []*config.TargetGroup)

Run implements the TargetProvider interface.

type DockerContainer

type DockerContainer struct {
	Image        string         `json:"image"`
	PortMappings []PortMappings `json:"portMappings"`
}

DockerContainer describes a container which uses the docker runtime.

type PortDefinitions added in v1.6.0

type PortDefinitions struct {
	Labels map[string]string `json:"labels"`
}

PortDefinitions describes which load balancer port you should access to access the service.

type PortMappings added in v1.6.0

type PortMappings struct {
	Labels map[string]string `json:"labels"`
}

PortMappings describes in which port the process are binding inside the docker container.

type Task

type Task struct {
	ID    string   `json:"id"`
	Host  string   `json:"host"`
	Ports []uint32 `json:"ports"`
}

Task describes one instance of a service running on Marathon.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL