mesos-go-http

module
v0.0.0-...-96640ab Latest Latest
Warning

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

Go to latest
Published: Mar 2, 2019 License: Apache-2.0

README

Go HTTP client for Apache Mesos

Goal of this project is to provide low and high level API for Apache Mesos using HTTP API

Build Status

Status

Current state of project is alpha as it needs more adoption/feedback. Users of this library are encouraged to vendor it. API stability isn't guaranteed at this stage.

Requirements
  • Mesos 1.0.0+ (latest supported is 1.3.0)
  • Go 1.7+
Features
  • Leading master detection
  • Scheduler API
  • Operator API
  • High level Flow API
  • Low level Client API

Get started

make
  • add $(GOPATH)/bin to your PATH
List master tasks
operator master tasks -e http://127.0.0.1:5050/api/v1
Subscribe for master events
operator master event-stream -e http://127.0.0.1:5050/api/v1
Run example scheduler
scheduler -e http://127.0.0.1:5050/api/v1/scheduler --cmd=sleep --arg=15 --tasks=5

Local infrastructure

For easy testing of master failover, agent failure ...

Docker compose
  • Set DOCKER_IP to IP of docker host (e.g. 10.0.75.2 docker for windows, 127.0.0.1 local docker)
  • In project root
docker-compose up -d
  • Creates 3 masters and 2 agents
  • Each agent reports all host resources (means double your CPU count will be reported)
    • Only for testing purposes (multiple offers, agent disconnects, ...)
    • For launching multiple tasks that actually utilize all resources start only 1 agent or modify per agent resources

Logging

Project uses [go-kit/log] (https://github.com/go-kit/kit/tree/v0.5.0/log) compatible interfaces for logging

Testing

make install-test-dependencies
make test

Notice

This project uses code from mesos-go licensed under the Apache Licence 2.0

License

This project is Apache License 2.0.

Directories

Path Synopsis
examples
operator command
scheduler command
lib
Package mesos is a generated protocol buffer package.
Package mesos is a generated protocol buffer package.
executor
Package executor is a generated protocol buffer package.
Package executor is a generated protocol buffer package.
log
operator/agent
Package agent is a generated protocol buffer package.
Package agent is a generated protocol buffer package.
operator/allocator
Package allocator is a generated protocol buffer package.
Package allocator is a generated protocol buffer package.
operator/maintenance
Package maintenance is a generated protocol buffer package.
Package maintenance is a generated protocol buffer package.
operator/master
Package master is a generated protocol buffer package.
Package master is a generated protocol buffer package.
operator/quota
Package quota is a generated protocol buffer package.
Package quota is a generated protocol buffer package.
operator/resource_provider
Package resource_provider is a generated protocol buffer package.
Package resource_provider is a generated protocol buffer package.
scheduler
Package scheduler is a generated protocol buffer package.
Package scheduler is a generated protocol buffer package.

Jump to

Keyboard shortcuts

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