diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..378eac2 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +build diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..186137b --- /dev/null +++ b/Dockerfile @@ -0,0 +1,8 @@ +FROM alpine:latest +RUN apk --no-cache add ca-certificates + +WORKDIR / + +COPY build/lim /bin/ + +CMD ["/bin/sh", "-c", "cat /dev/urandom | /bin/lim 16b | xxd"] diff --git a/Dockerfile.build b/Dockerfile.build new file mode 100644 index 0000000..dd87bcc --- /dev/null +++ b/Dockerfile.build @@ -0,0 +1,7 @@ +FROM golang:1.10.1 + +WORKDIR /go/src/mcquay.me/lim + +COPY . . + +RUN CGO_ENABLED=0 GOOS=linux go build -o /usr/local/bin/lim . diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..47dcc99 --- /dev/null +++ b/Makefile @@ -0,0 +1,19 @@ +GOFILES := $(shell find . -type f | grep go$$ ) + +build/lim: build ${GOFILES} + docker build -t smcquay/lim:build . -f Dockerfile.build + docker create --name ext smcquay/lim:build + docker cp ext:/usr/local/bin/lim build/ + docker rm -f ext + docker image rm smcquay/lim:build + +build: + @mkdir build + +.PHONY: docker-image +docker-image: build/lim + docker build --no-cache -t smcquay/lim:latest . + +.PHONY: clean +clean: + @rm -rf build