├── .gitignore ├── config └── consul.json ├── Dockerfile ├── tests └── Vagrantfile ├── start └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | .vagrant 2 | -------------------------------------------------------------------------------- /config/consul.json: -------------------------------------------------------------------------------- 1 | { 2 | "data_dir": "/data", 3 | "ui_dir": "/ui", 4 | "client_addr": "0.0.0.0", 5 | "ports": { 6 | "http": 8500, 7 | "rpc": 8400, 8 | "serf_lan": 8301, 9 | "serf_wan": 8302, 10 | "server": 8300, 11 | "dns": 53 12 | }, 13 | "recursor": "8.8.8.8" 14 | } -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | FROM ubuntu:trusty 2 | MAINTAINER Jeff Lindsay 3 | 4 | RUN apt-get update && apt-get install -y iptables curl unzip 5 | 6 | ADD https://dl.bintray.com/mitchellh/consul/0.3.0_linux_amd64.zip /tmp/consul.zip 7 | RUN cd /bin && unzip /tmp/consul.zip && chmod +x /bin/consul && rm /tmp/consul.zip 8 | 9 | ADD https://dl.bintray.com/mitchellh/consul/0.3.0_web_ui.zip /tmp/webui.zip 10 | RUN cd /tmp && unzip /tmp/webui.zip && mv dist /ui && rm /tmp/webui.zip 11 | 12 | ADD https://github.com/progrium/ambassadord/releases/download/v0.0.1/ambassadord_0.0.1_linux_x86_64.tgz /tmp/ambassadord.tgz 13 | RUN cd /bin && tar -zxf /tmp/ambassadord.tgz && rm /tmp/ambassadord.tgz 14 | 15 | ADD https://github.com/progrium/docksul/releases/download/v0.1.0/docksul_0.1.0_linux_x86_64.tgz /tmp/docksul.tgz 16 | RUN cd /bin && tar -zxf /tmp/docksul.tgz && rm /tmp/docksul.tgz 17 | 18 | ADD ./config /config/ 19 | ADD ./start /bin/start 20 | 21 | ENV SERVICE_53_NAME consul-dns 22 | ENV SERVICE_18500_NAME consul-http 23 | ENV SERVICE_18400_NAME consul-rpc 24 | ENV SERVICE_18300_NAME consul-server 25 | ENV SERVICE_18301_NAME serf-lan 26 | ENV SERVICE_18302_NAME serf-wan 27 | ENV DOCKER_HOST unix:///tmp/docker.sock 28 | 29 | EXPOSE 8300 8301 8301/udp 8302 8302/udp 8400 8500 53/udp 30 | VOLUME ["/data"] 31 | 32 | ENTRYPOINT ["/bin/start"] 33 | CMD [] 34 | -------------------------------------------------------------------------------- /tests/Vagrantfile: -------------------------------------------------------------------------------- 1 | # -*- mode: ruby -*- 2 | # vi: set ft=ruby : 3 | 4 | VAGRANTFILE_API_VERSION = "2" 5 | 6 | Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| 7 | config.vm.box = "3scale/docker" 8 | 9 | config.vm.provision "shell", inline: <