mesos-go

module
v0.0.5 Latest Latest
Warning

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

Go to latest
Published: Sep 19, 2017 License: Apache-2.0

README

Go bindings for Apache Mesos

Pure Go language bindings for Apache Mesos, under development. As with other pure implementations, mesos-go uses the HTTP wire protocol to communicate directly with a running Mesos master and its slave instances. One of the objectives of this project is to provide an idiomatic Go API that makes it super easy to create Mesos frameworks using Go.

Build Status GoDoc Coverage Status

Status

New projects should use the Mesos v1 API bindings, located in api/v1. Unless otherwise indicated, the remainder of this README describes the Mesos v1 API implementation.

Please vendor this library to avoid unpleasant surprises via go get ....

The Mesos v0 API version of the bindings, located in api/v0, are more mature but will not see any major development besides critical compatibility and bug fixes.

Compatibility

mesos-N tags mark the start of support for a specific Mesos version while maintaining backwards compatibility with the previous major version.

Features
  • The SchedulerDriver API implemented
  • The ExecutorDriver API implemented
  • Example programs on how to use the API
  • Modular design for easy readability/extensibility
Pre-Requisites

Installing

Users of this library are encouraged to vendor it. API stability isn't guaranteed at this stage.

# download the source code
$ go get -d github.com/mesos/mesos-go

# build the example binaries
$ cd $GOPATH/src/github.com/mesos/mesos-go
$ make install

Testing

$ make test

Contributing

Contributions are welcome. Please refer to CONTRIBUTING.md for guidelines.

License

This project is Apache License 2.0.

Directories

Path Synopsis
api
Package api presents two independently developed and maintained Mesos API implementations.
Package api presents two independently developed and maintained Mesos API implementations.
v0/detector
The detector package houses implementation of master detectors.
The detector package houses implementation of master detectors.
v0/detector/zoo
Zookeeper-based mesos-master leaderhip detection.
Zookeeper-based mesos-master leaderhip detection.
v0/examples/Godeps/_workspace/src/github.com/gogo/protobuf/proto
Package proto converts data structures to and from the wire format of protocol buffers.
Package proto converts data structures to and from the wire format of protocol buffers.
v0/examples/Godeps/_workspace/src/github.com/gogo/protobuf/proto/proto3_proto
Package proto3_proto is a generated protocol buffer package.
Package proto3_proto is a generated protocol buffer package.
v0/examples/Godeps/_workspace/src/github.com/golang/glog
Package glog implements logging analogous to the Google-internal C++ INFO/ERROR/V setup.
Package glog implements logging analogous to the Google-internal C++ INFO/ERROR/V setup.
v0/examples/Godeps/_workspace/src/github.com/pborman/uuid
The uuid package generates and inspects UUIDs.
The uuid package generates and inspects UUIDs.
v0/examples/Godeps/_workspace/src/github.com/stretchr/objx
objx - Go package for dealing with maps, slices, JSON and other data.
objx - Go package for dealing with maps, slices, JSON and other data.
v0/examples/Godeps/_workspace/src/github.com/stretchr/testify/assert
Package assert provides a set of comprehensive testing tools for use with the normal Go testing system.
Package assert provides a set of comprehensive testing tools for use with the normal Go testing system.
v0/examples/Godeps/_workspace/src/github.com/stretchr/testify/mock
Provides a system by which it is possible to mock your objects and verify calls are happening as expected.
Provides a system by which it is possible to mock your objects and verify calls are happening as expected.
v0/examples/Godeps/_workspace/src/golang.org/x/net/context
Package context defines the Context type, which carries deadlines, cancelation signals, and other request-scoped values across API boundaries and between processes.
Package context defines the Context type, which carries deadlines, cancelation signals, and other request-scoped values across API boundaries and between processes.
v0/examples/Godeps/_workspace/src/golang.org/x/net/context/ctxhttp
Package ctxhttp provides helper functions for performing context-aware HTTP requests.
Package ctxhttp provides helper functions for performing context-aware HTTP requests.
v0/executor
Package executor includes the interfaces of the mesos executor and the mesos executor driver, as well as an implementation of the driver.
Package executor includes the interfaces of the mesos executor and the mesos executor driver, as well as an implementation of the driver.
v0/mesosproto
Package mesosproto is a generated protocol buffer package.
Package mesosproto is a generated protocol buffer package.
v0/mesosproto/scheduler
Package scheduler is a generated protocol buffer package.
Package scheduler is a generated protocol buffer package.
v0/messenger
Package messenger includes a messenger and a transporter.
Package messenger includes a messenger and a transporter.
v0/messenger/testmessage
Package testmessage is a generated protocol buffer package.
Package testmessage is a generated protocol buffer package.
v0/scheduler
Package scheduler includes the interfaces for the mesos scheduler and the mesos executor driver.
Package scheduler includes the interfaces for the mesos scheduler and the mesos executor driver.
v0/testutil
Collection of resources for teting mesos artifacts.
Collection of resources for teting mesos artifacts.
v0/upid
Package upid defines the UPID type and some utilities of the UPID.
Package upid defines the UPID type and some utilities of the UPID.
v1
Package v1 contains library and example subpackages for working with the Mesos v1 HTTP API.
Package v1 contains library and example subpackages for working with the Mesos v1 HTTP API.
v1/cmd/msh
msh is a minimal mesos v1 scheduler; it executes a shell command on a mesos agent.
msh is a minimal mesos v1 scheduler; it executes a shell command on a mesos agent.
v1/lib
Package mesos presents common v1 HTTP API message types in addition to extension APIs that aim to simplify use of the machine-generated code.
Package mesos presents common v1 HTTP API message types in addition to extension APIs that aim to simplify use of the machine-generated code.
v1/lib/agent
Package agent is a generated protocol buffer package.
Package agent is a generated protocol buffer package.
v1/lib/allocator
Package allocator is a generated protocol buffer package.
Package allocator is a generated protocol buffer package.
v1/lib/encoding/proto
Package proto implements protobuf utilities such as functional options to construct complex structs and encoders and decoders composable with io.ReadWriters.
Package proto implements protobuf utilities such as functional options to construct complex structs and encoders and decoders composable with io.ReadWriters.
v1/lib/executor
Package executor is a generated protocol buffer package.
Package executor is a generated protocol buffer package.
v1/lib/maintenance
Package maintenance is a generated protocol buffer package.
Package maintenance is a generated protocol buffer package.
v1/lib/master
Package master is a generated protocol buffer package.
Package master is a generated protocol buffer package.
v1/lib/quota
Package quota is a generated protocol buffer package.
Package quota is a generated protocol buffer package.
v1/lib/recordio
Package recordio implements the Mesos variant of RecordIO framing, whereby each record is prefixed by a line that indicates the length of the record in decimal ASCII.
Package recordio implements the Mesos variant of RecordIO framing, whereby each record is prefixed by a line that indicates the length of the record in decimal ASCII.
v1/lib/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