From 59b1db76c8bf8124f3cf92c92f5ef2140c6220c0 Mon Sep 17 00:00:00 2001 From: Michael Bridgen Date: Fri, 3 Oct 2014 20:08:32 +0100 Subject: [PATCH 1/5] Added Makefile and updated Dockerfile The Dockerfile is now more like the weave one, with a scratch layer underneath. Makefile taken more or less from weave, too; except, it uses environment variables to cross-compile the binary (which should probably be done for weave as well) --- dns/Dockerfile | 8 +++++--- dns/Makefile | 20 ++++++++++++++++++++ 2 files changed, 25 insertions(+), 3 deletions(-) create mode 100644 dns/Makefile diff --git a/dns/Dockerfile b/dns/Dockerfile index b4feddc1..181bcbbc 100644 --- a/dns/Dockerfile +++ b/dns/Dockerfile @@ -1,3 +1,5 @@ -FROM ubuntu -EXPOSE 53/udp -ADD ./dns /home/dns +FROM scratch +# EXPOSE 53/udp +WORKDIR /home/weave +ADD ./dns /home/weave/weavedns +ENTRYPOINT ["/home/weave/weavedns"] diff --git a/dns/Makefile b/dns/Makefile new file mode 100644 index 00000000..63939da5 --- /dev/null +++ b/dns/Makefile @@ -0,0 +1,20 @@ +IMAGE:=/tmp/weavedns.tar + +.DEFAULT: docker-image + +all: docker-image + +dns: ../*.go main.go + go get && GOARCH=amd64 GOOS=linux go build -v + +.PHONY: docker-image + +docker-image: $(IMAGE) + +$(IMAGE): Dockerfile dns + sudo -E docker build --rm -t zettio/weavedns . + sudo -E docker save zettio/weavedns > $(IMAGE) + +clean: + -sudo docker rmi zettio/weavedns + rm -f dns $(IMAGE) From 9dcb7e2d73944d702f7cde5301de1ea6f703a4e5 Mon Sep 17 00:00:00 2001 From: Michael Bridgen Date: Fri, 3 Oct 2014 20:55:53 +0100 Subject: [PATCH 2/5] Separated dockerising from code --- {dns => docker}/Dockerfile | 0 {dns => docker}/Makefile | 0 {dns => main}/main.go | 0 3 files changed, 0 insertions(+), 0 deletions(-) rename {dns => docker}/Dockerfile (100%) rename {dns => docker}/Makefile (100%) rename {dns => main}/main.go (100%) diff --git a/dns/Dockerfile b/docker/Dockerfile similarity index 100% rename from dns/Dockerfile rename to docker/Dockerfile diff --git a/dns/Makefile b/docker/Makefile similarity index 100% rename from dns/Makefile rename to docker/Makefile diff --git a/dns/main.go b/main/main.go similarity index 100% rename from dns/main.go rename to main/main.go From 1ff9f7e9b757e3d13e911b872ba9e09689c84670 Mon Sep 17 00:00:00 2001 From: Michael Bridgen Date: Fri, 3 Oct 2014 21:01:45 +0100 Subject: [PATCH 3/5] Reformed Dockerfile and Makefile to account for moves --- docker/Dockerfile | 2 +- docker/Makefile | 9 +++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index 181bcbbc..de94f53e 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -1,5 +1,5 @@ FROM scratch # EXPOSE 53/udp WORKDIR /home/weave -ADD ./dns /home/weave/weavedns +ADD ./weavedns /home/weave/ ENTRYPOINT ["/home/weave/weavedns"] diff --git a/docker/Makefile b/docker/Makefile index 63939da5..d7f24eb0 100644 --- a/docker/Makefile +++ b/docker/Makefile @@ -1,20 +1,21 @@ IMAGE:=/tmp/weavedns.tar +MAIN:=../main .DEFAULT: docker-image all: docker-image -dns: ../*.go main.go - go get && GOARCH=amd64 GOOS=linux go build -v +dns: ../*.go ../main/main.go + go get $(MAIN) && GOARCH=amd64 GOOS=linux go build -o weavedns -v $(MAIN) .PHONY: docker-image docker-image: $(IMAGE) $(IMAGE): Dockerfile dns - sudo -E docker build --rm -t zettio/weavedns . + sudo -E docker build -t zettio/weavedns . sudo -E docker save zettio/weavedns > $(IMAGE) clean: -sudo docker rmi zettio/weavedns - rm -f dns $(IMAGE) + rm -f weavedns $(IMAGE) From 3976e5ceaf63621365f200accee776f015ee962a Mon Sep 17 00:00:00 2001 From: Michael Bridgen Date: Sat, 4 Oct 2014 14:51:46 +0100 Subject: [PATCH 4/5] Moved main to top, libs to subpackage --- main/main.go => main.go | 0 http.go => server/http.go | 0 mdns_client.go => server/mdns_client.go | 0 zone.go => server/zone.go | 0 4 files changed, 0 insertions(+), 0 deletions(-) rename main/main.go => main.go (100%) rename http.go => server/http.go (100%) rename mdns_client.go => server/mdns_client.go (100%) rename zone.go => server/zone.go (100%) diff --git a/main/main.go b/main.go similarity index 100% rename from main/main.go rename to main.go diff --git a/http.go b/server/http.go similarity index 100% rename from http.go rename to server/http.go diff --git a/mdns_client.go b/server/mdns_client.go similarity index 100% rename from mdns_client.go rename to server/mdns_client.go diff --git a/zone.go b/server/zone.go similarity index 100% rename from zone.go rename to server/zone.go From bc5bbd349a588e0b11acdb0a2c9605600d288f5b Mon Sep 17 00:00:00 2001 From: Michael Bridgen Date: Sat, 4 Oct 2014 15:23:32 +0100 Subject: [PATCH 5/5] Fix up Makefile and main.go for file moves --- docker/Makefile | 8 ++++---- main.go | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/docker/Makefile b/docker/Makefile index d7f24eb0..c4e1a207 100644 --- a/docker/Makefile +++ b/docker/Makefile @@ -1,18 +1,18 @@ IMAGE:=/tmp/weavedns.tar -MAIN:=../main +MAIN:=../ .DEFAULT: docker-image all: docker-image -dns: ../*.go ../main/main.go - go get $(MAIN) && GOARCH=amd64 GOOS=linux go build -o weavedns -v $(MAIN) +weavedns: ../server/*.go ../main.go + go get $(MAIN) && GOARCH=amd64 GOOS=linux go build -o $@ -v $(MAIN) .PHONY: docker-image docker-image: $(IMAGE) -$(IMAGE): Dockerfile dns +$(IMAGE): Dockerfile weavedns sudo -E docker build -t zettio/weavedns . sudo -E docker save zettio/weavedns > $(IMAGE) diff --git a/main.go b/main.go index a1ee520c..076d2bcf 100644 --- a/main.go +++ b/main.go @@ -4,7 +4,7 @@ import ( "flag" "fmt" "github.com/miekg/dns" - "github.com/zettio/weavedns" + "github.com/zettio/weavedns/server" "log" "net" )