mesos-dns

command module
v0.6.0 Latest Latest
Warning

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

Go to latest
Published: Sep 14, 2016 License: Apache-2.0 Imports: 13 Imported by: 0

README

Mesos-DNS Circle CI velocity Coverage Status GoDoc Gitter

Mesos-DNS enables DNS based service discovery in Apache Mesos clusters.

Architecture Diagram

Compatibility

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

Installing

The official distribution and installation channel is pre-compiled binaries available in Github releases.

Building

Building the master branch from source should always succeed but doesn't provide the same stability and compatibility guarantees as releases.

All branches and pull requests are tested by Circle-CI, which also outputs artifacts for Mac OS X, Windows, and Linux via cross-compilation.

You will need Go 1.6 or later to build the project. All dependencies are vendored using Govendor. You must first install it in order to build from source.

$ go get github.com/kardianos/govendor
$ govendor sync
$ go build ./...
Building for release
To do a build:
  1. Cut a branch
  2. Tag it with the relevant version, and push the tags along with the branch
  3. If the build doesn't trigger automatically, go here: https://circleci.com/gh/mesosphere/mesos-dns, find your branch, and trigger the build.
If you choose to do a private build:
  1. Fork the repo on Github to a private repo

  2. Customize that repo

  3. Add it to Circle-CI

    Circle-CI allows for private repositories to be kept, and built in private

  4. Go to the build steps.

Releasing
  1. Download the artifacts from the Circle-CI builds
  2. Cut a release based on the tag on Github
  3. Upload the artifacts back to Github. Ensure you upload all the artifacts, including the .asc files.
Code signing

This repo using code signing. There is an armored, encrypted gpg key in the repo at build/private.key. This file includes the Mesos-DNS gpg signing key. The passphrase for the key is stored in Circle-CI's environment. This makes it fairly difficult to leak both components without detectable maliciousness.

There are only very few users with access to the private key, and they also have access to a revocation certificate in case the private key leaks.

Testing

$ go test -race ./...

Documentation

Detailed documentation on how to configure, operate and use Mesos-DNS under different scenarios and environments is available in http://mesosphere.github.io/mesos-dns/.

Contributing

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

Contact

For any discussion that isn't well suited for Github issues, please use our mailing list or our public chat room.

License

This project is Apache License 2.0.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
Package dnstest provides DNS testing utilities and convenience functions.
Package dnstest provides DNS testing utilities and convenience functions.
Package exchanger provides DNS exchanger decorators and other utilities.
Package exchanger provides DNS exchanger decorators and other utilities.
iam
Package records contains functions to generate resource records from mesos master states to serve through a dns server
Package records contains functions to generate resource records from mesos master states to serve through a dns server
Package resolver contains functions to handle resolving .mesos domains
Package resolver contains functions to handle resolving .mesos domains

Jump to

Keyboard shortcuts

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