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

marathon

package
v1.2.3 Latest Latest
Warning

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

Go to latest
Published: Nov 3, 2016 License: Apache-2.0 Imports: 11 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"`
}

App describes a service running on Marathon.

type AppList

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

AppList is a list of Marathon apps.

func FetchApps

func FetchApps(url string) (*AppList, error)

FetchApps requests a list of applications from a marathon server.

type AppListClient

type AppListClient func(url 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 {
	Servers         []string
	RefreshInterval time.Duration

	Client AppListClient
	// contains filtered or unexported fields
}

Discovery provides service discovery based on a Marathon instance.

func (*Discovery) Run

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

Run implements the TargetProvider interface.

type DockerContainer

type DockerContainer struct {
	Image string `json:"image"`
}

DockerContainer describes a container which uses the docker runtime.

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