diff --git a/docker-compose.extended.armhf.yml b/docker-compose.extended.armhf.yml new file mode 100644 index 00000000..95dcab1a --- /dev/null +++ b/docker-compose.extended.armhf.yml @@ -0,0 +1,110 @@ +version: "3.2" +services: + gateway: + volumes: + - "/var/run/docker.sock:/var/run/docker.sock" + ports: + - 8080:8080 + image: functions/gateway:0.6.7-armhf + networks: + - functions + environment: + dnsrr: "true" # Temporarily use dnsrr in place of VIP while issue persists on PWD + faas_nats_address: "nats" + faas_nats_port: 4222 + # Start Add for NATS Streaming + depends_on: + - nats + deploy: + restart_policy: + condition: on-failure + delay: 5s + max_attempts: 20 + window: 380s + placement: + constraints: + - 'node.role == manager' + - 'node.platform.os == linux' + + nats: + image: nats-streaming:0.6.0 + ports: + - 4222:4222 + - 8222:8222 + command: "--store memory --cluster_id faas-cluster" + networks: + - functions + deploy: + placement: + constraints: + - 'node.platform.os == linux' + + queue-worker: + image: alexellis2/nats-queue-worker:0.1-armhf + networks: + - functions + deploy: + restart_policy: + condition: on-failure + delay: 5s + max_attempts: 20 + window: 380s + placement: + constraints: + - 'node.platform.os == linux' + + prometheus: + image: alexellis2/prometheus-armhf:1.5.2 + volumes: + - ./prometheus/prometheus.yml:/etc/prometheus/prometheus.yml + - ./prometheus/alert.rules:/etc/prometheus/alert.rules + + command: "-config.file=/etc/prometheus/prometheus.yml -storage.local.path=/prometheus -storage.local.memory-chunks=10000 --alertmanager.url=http://alertmanager:9093" + ports: + - 9090:9090 + depends_on: + - gateway + - alertmanager + environment: + no_proxy: "gateway" + networks: + - functions + deploy: + placement: + constraints: [node.role == manager] + + + alertmanager: + image: alexellis2/alertmanager-armhf:0.5.1 + environment: + no_proxy: "gateway" + volumes: + - ./prometheus/alertmanager.yml:/alertmanager.yml + command: + - '-config.file=/alertmanager.yml' + networks: + - functions + ports: + - 9093:9093 + deploy: + placement: + constraints: [node.role == manager] + +# sample functions go here, but can be created in the UI too. + nodeinfo: + image: functions/nodeinfo:latest-armhf + labels: + function: "true" + depends_on: + - gateway + networks: + - functions + environment: + no_proxy: "gateway" + https_proxy: $https_proxy + + +networks: + functions: + driver: overlay + #attachable: true diff --git a/gateway/Dockerfile.armhf b/gateway/Dockerfile.armhf index 1716c708..806b4eef 100644 --- a/gateway/Dockerfile.armhf +++ b/gateway/Dockerfile.armhf @@ -10,7 +10,8 @@ COPY requests requests COPY tests tests COPY server.go . COPY types types -COPY plugin plugin +COPY plugin plugin +COPY queue queue RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o gateway .