Support NATS.io streaming on ARMHF

Signed-off-by: Alex Ellis <alexellis2@gmail.com>
This commit is contained in:
Alex Ellis 2017-10-27 15:41:21 +00:00
parent 0248a5ea1d
commit 28d3e330c2
2 changed files with 112 additions and 1 deletions

View File

@ -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

View File

@ -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 .