Goal of this project is to provide low and high level API for Apache Mesos using HTTP API
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.
- Mesos 1.0.0+ (latest supported is 1.3.0)
- Go 1.7+
- Leading master detection
- Scheduler API
- Operator API
- High level Flow API
- Low level Client API
make
- add $(GOPATH)/bin to your PATH
operator master tasks -e http://127.0.0.1:5050/api/v1
operator master event-stream -e http://127.0.0.1:5050/api/v1
scheduler -e http://127.0.0.1:5050/api/v1/scheduler --cmd=sleep --arg=15 --tasks=5
For easy testing of master failover, agent failure ...
- 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
Project uses [go-kit/log] (https://github.com/go-kit/kit/tree/v0.5.0/log) compatible interfaces for logging
make install-test-dependencies
make test
This project uses code from mesos-go licensed under the Apache Licence 2.0
This project is Apache License 2.0.