dploy
The DC/OS deployment tool for appops allows you to create, deploy and manage services and apps composed of microservices (µS):
- It is simple: it has 8 commands and that's that.
- It is stateless: state is exclusively kept in (local) descriptor and spec files (a collection of Marathon app specs).
- It is self-contained: written in Go,
dploy
is a single binary incl. all dependencies.
Installation
From source (will get you always the latest version):
$ go get github.com/mhausenblas/dploy
Alternatively, you can download binaries for Linux, Mac OS X, and Windows or use it via Docker:
$ docker pull mhausenblas/dploy:0.8.2
# you can use dploy as follows then (note the usage of the volume):
$ docker run --rm -it -v /Users/mhausenblas/tmp:/tmp mhausenblas/dploy:0.8.2 -workspace=/tmp init
Dependencies
Features
-
dploy init
… creates a new µS-based app
-
dploy dryrun
… validates deployment of the µS-based app
-
dploy run
… launches the µS-based app using the Marathon API
-
dploy destroy
… tears down µS-based app using the Marathon API
-
dploy ls
… lists the resources of the µS-based app
-
dploy ps
… lists runtime properties of the µS-based app
-
dploy scale
… scales the µS-based app
- Support push-to-deploy, see observer
- Add examples (blog2go, rolling upgrades, etc.)
- Expose metrics via
dploy -all ps
- Transparent handling of secrets with Vault
- Advanced µS examples using linkerd, VAMP
-
dploy publish
… publishes the the µS-based app into the DC/OS Universe
- Enable tracing using Zipkin: Mesos scheduler and Go lib
Docs
To view the dploy
package docs locally, do the following in your Go workspace:
$ mkdir -p $GOPATH/github.com/mhausenblas/ && cd $GOPATH/github.com/mhausenblas/
$ git clone https://github.com/mhausenblas/dploy.git && cd dploy
$ godoc -http=":6060"
If you now visit http://localhost:6060/pkg/github.com/mhausenblas/dploy/lib/ in your favorite Web browser you should be able to see the dploy
package docs: