faas/docker-compose.armhf.yml
rgee0 f3ae1a2f62 Added AlertManager ARM Dockerfile and openfaas label to armhf network
Signed-off-by: rgee0 <richard@technologee.co.uk>
2018-03-15 21:50:16 +01:00

212 lines
6.1 KiB
YAML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

version: "3.3"
services:
gateway:
ports:
- 8080:8080
image: functions/gateway:0.7.3-armhf
networks:
- functions
environment:
functions_provider_url: "http://faas-swarm:8080/"
read_timeout: 10 # set both here, and on your functions
write_timeout: 10 # set both here, and on your functions
dnsrr: "true" # Temporarily use dnsrr in place of VIP while issue persists on PWD
faas_nats_address: "nats"
faas_nats_port: 4222
deploy:
resources:
# limits: # uncomment to enable limits
# memory: 100M
reservations:
memory: 100M
restart_policy:
condition: on-failure
delay: 5s
max_attempts: 20
window: 380s
placement:
constraints:
- 'node.platform.os == linux'
# Docker Swarm provider
faas-swarm:
volumes:
- "/var/run/docker.sock:/var/run/docker.sock"
# ports:
# - 8081:8080
image: functions/faas-swarm:0.2.1-armhf
networks:
- functions
environment:
read_timeout: 10 # set both here, and on your functions
write_timeout: 10 # set both here, and on your functions
DOCKER_API_VERSION: "1.30"
deploy:
placement:
constraints:
- 'node.role == manager'
- 'node.platform.os == linux'
resources:
# limits: # uncomment to enable limits
# memory: 100M
reservations:
memory: 100M
restart_policy:
condition: on-failure
delay: 5s
max_attempts: 20
window: 380s
nats:
image: nats-streaming:0.6.0
# Uncomment the following port mappings if you wish to expose the
# NATS client and/or management ports
# ports:
# - 4222:4222
# - 8222:8222
command: "--store memory --cluster_id faas-cluster"
networks:
- functions
deploy:
resources:
limits:
memory: 125M
reservations:
memory: 50M
placement:
constraints:
- 'node.platform.os == linux'
queue-worker:
image: functions/queue-worker:0.4-armhf
networks:
- functions
environment:
max_inflight: "1"
ack_timeout: "30s" # Max duration of any async task / request
deploy:
resources:
limits:
memory: 50M
reservations:
memory: 20M
restart_policy:
condition: on-failure
delay: 5s
max_attempts: 20
window: 380s
placement:
constraints:
- 'node.platform.os == linux'
# End services
# Start monitoring
prometheus:
image: alexellis2/prometheus:2.0-armhf
environment:
no_proxy: "gateway"
configs:
- source: prometheus_config
target: /etc/prometheus/prometheus.yml
- source: prometheus_rules
target: /etc/prometheus/alert.rules.yml
command:
- '--config.file=/etc/prometheus/prometheus.yml'
# - '-storage.local.path=/prometheus'
ports:
- 9090:9090
networks:
- functions
deploy:
placement:
constraints:
- 'node.role == manager'
- 'node.platform.os == linux'
resources:
limits:
memory: 500M
reservations:
memory: 200M
alertmanager:
image: alexellis2/alertmanager-armhf:0.5.1
environment:
no_proxy: "gateway"
command:
- '-config.file=/alertmanager.yml'
networks:
- functions
# Uncomment the following port mapping if you wish to expose the Prometheus
# Alertmanager UI.
# ports:
# - 9093:9093
deploy:
resources:
limits:
memory: 50M
reservations:
memory: 20M
placement:
constraints:
- 'node.role == manager'
- 'node.platform.os == linux'
configs:
- source: alertmanager_config
target: /alertmanager.yml
# sample functions go here, but can be created in the UI too.
nodeinfo:
image: functions/nodeinfo:latest-armhf
labels:
function: "true"
networks:
- functions
environment:
no_proxy: "gateway"
https_proxy: $https_proxy
markdown:
image: functions/markdownrender:latest-armhf
labels:
function: "true"
networks:
- functions
environment:
no_proxy: "gateway"
https_proxy: $https_proxy
wordcount:
image: functions/alpine:latest-armhf
labels:
function: "true"
networks:
- functions
environment:
fprocess: "wc"
no_proxy: "gateway"
https_proxy: $https_proxy
echoit:
image: functions/alpine:latest-armhf
labels:
function: "true"
networks:
- functions
environment:
fprocess: "cat"
no_proxy: "gateway"
https_proxy: $https_proxy
configs:
prometheus_config:
file: ./prometheus/prometheus.yml
prometheus_rules:
file: ./prometheus/alert.rules.yml
alertmanager_config:
file: ./prometheus/alertmanager.yml
networks:
functions:
driver: overlay
attachable: true
labels:
- "openfaas=true"