abstract-ns 0.3.1

Abstract name service traits for use with futures (and tokio)
Documentation
commands:

  make: !Command
    description: Build the library
    container: ubuntu
    run: [cargo, build]

  cargo: !Command
    description: Run arbitrary cargo command
    container: ubuntu
    run: [cargo]

  test: !Command
    description: Run tests
    container: ubuntu
    run: [cargo, test]

  consul-server: !Command
    description: Start consul in server mode
    container: consul
    run: |
        /usr/bin/consul agent -dev -config-dir=/etc/consul.d

containers:

  ubuntu:
    setup:
    - !Ubuntu xenial
    - !Install [ca-certificates, git, build-essential]

    - !TarInstall
      url: "https://static.rust-lang.org/dist/rust-1.15.1-x86_64-unknown-linux-gnu.tar.gz"
      script: "./install.sh --prefix=/usr \
                --components=rustc,rust-std-x86_64-unknown-linux-gnu,cargo"

    environ:
      HOME: /work/target

  consul:
    setup:
    - !Ubuntu xenial
    - !Unzip
      url: https://releases.hashicorp.com/consul/0.7.0/consul_0.7.0_linux_amd64.zip
      path: /usr/bin
    - !EnsureDir /etc/consul.d
    - !Text
      /etc/consul.d/web.json: |
        {"service": {"name": "web", "tags": ["fake"], "port": 80}}