diff --git a/docker-compose-armhf.yml b/docker-compose-armhf.yml new file mode 100644 index 0000000000000000000000000000000000000000..b2a96f6a3da5df7195aed61d2db92a91d540bc93 --- /dev/null +++ b/docker-compose-armhf.yml @@ -0,0 +1,30 @@ +version: "3" +services: + gateway: + volumes: + - "/var/run/docker.sock:/var/run/docker.sock" + ports: + - 8080:8080 + image: alexellis2/faas-gateway:latest-armhf + networks: + - functions + + prometheus: + image: alexellis2/prometheus-armhf:latest + volumes: + - ./prometheus/prometheus.yml:/etc/prometheus/prometheus.yml + command: "-config.file=/etc/prometheus/prometheus.yml -storage.local.path=/prometheus -storage.local.memory-chunks=10000" + ports: + - 9090:9090 + depends_on: + - gateway + environment: + no_proxy: "gateway" + networks: + - functions + +networks: + functions: + driver: overlay + # Docker does not support this option yet - maybe create outside of the stack and reference as "external"? + #attachable: true diff --git a/gateway/Dockerfile.build.armhf b/gateway/Dockerfile.build.armhf new file mode 100644 index 0000000000000000000000000000000000000000..3a8914988b7fd36eeded535ae5f3bb67638fbcc4 --- /dev/null +++ b/gateway/Dockerfile.build.armhf @@ -0,0 +1,16 @@ +FROM alexellis2/go-armhf:1.7.4 + +RUN go get -d github.com/docker/docker/api/types \ + && go get -d github.com/docker/docker/api/types/filters \ + && go get -d github.com/docker/docker/api/types/swarm \ + && go get -d github.com/docker/docker/client \ + && go get github.com/gorilla/mux \ + && go get github.com/prometheus/client_golang/prometheus + +WORKDIR /go/src/github.com/alexellis/faas/gateway + +COPY metrics metrics +COPY server.go . + +RUN find /go/src/github.com/alexellis/faas/gateway/ +RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o app . diff --git a/gateway/armhf.build.sh b/gateway/armhf.build.sh new file mode 100755 index 0000000000000000000000000000000000000000..1185c10bf84c6ee25d7c044fef7f9e842b10fb60 --- /dev/null +++ b/gateway/armhf.build.sh @@ -0,0 +1,13 @@ +#!/bin/sh +echo Building alexellis2/faas-gateway:build-armhf + +docker build --build-arg https_proxy=$https_proxy --build-arg http_proxy=$http_proxy \ + -t alexellis2/faas-gateway:build-armhf . -f Dockerfile.build.armhf + +docker create --name gateway_extract alexellis2/faas-gateway:build-armhf echo +docker cp gateway_extract:/go/src/github.com/alexellis/faas/gateway/app ./gateway +docker rm -f gateway_extract + +echo Building alexellis2/faas-gateway:latest-armhf + +docker build -t alexellis2/faas-gateway:latest-armhf . diff --git a/watchdog/Dockerfile.armhf b/watchdog/Dockerfile.armhf new file mode 100644 index 0000000000000000000000000000000000000000..9b3478db258485c844f6c0d2d92dcbd5d7c02e7a --- /dev/null +++ b/watchdog/Dockerfile.armhf @@ -0,0 +1,7 @@ +FROM alexellis2/go-armhf:1.7.4 + +RUN mkdir -p /go/src/app +COPY main.go /go/src/app +WORKDIR /go/src/app +RUN go get -d -v +RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o app . diff --git a/watchdog/armhf.build.sh b/watchdog/armhf.build.sh new file mode 100755 index 0000000000000000000000000000000000000000..f1fd28cf46f7ea3acb16fc924d343df3ce685cb1 --- /dev/null +++ b/watchdog/armhf.build.sh @@ -0,0 +1,13 @@ +#!/bin/sh + +# Below makes use of "builder pattern" so that binary is extracted separate +# from the golang runtime/SDK + +echo Building alexellis2/faas-watchdog:build-armhf + +docker build --build-arg https_proxy=$https_proxy --build-arg http_proxy=$http_proxy \ + -t alexellis2/faas-watchdog:build-armhf . -f Dockerfile.armhf +docker create --name buildoutput alexellis2/faas-watchdog:build-armhf echo +docker cp buildoutput:/go/src/app/app ./fwatchdog +docker rm buildoutput + diff --git a/watchdog/build.sh b/watchdog/build.sh index c48da1f7f896ca5dc9d0cd2a12d011ab02257433..e0dab6083260806be3ea67e1bcbfe8dc9294e7e5 100755 --- a/watchdog/build.sh +++ b/watchdog/build.sh @@ -5,6 +5,6 @@ docker build --build-arg https_proxy=$https_proxy --build-arg http_proxy=$http_proxy \ -t alexellis2/faas-watchdog:build . -docker create --name buildoutput alexellis2/faas-watchdog:build +docker create --name buildoutput alexellis2/faas-watchdog:build echo docker cp buildoutput:/go/src/app/app ./fwatchdog docker rm buildoutput