Newer
Older
services:
gateway:
volumes:
- "/var/run/docker.sock:/var/run/docker.sock"
ports:
- functions
environment:
dnsrr: "true" # Temporarily use dnsrr in place of VIP while issue persists on PWD
constraints:
- 'node.role == manager'
- 'node.platform.os == linux'
image: functions/prometheus:latest # autobuild from Dockerfile in repo.
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
constraints:
- 'node.role == manager'
- 'node.platform.os == linux'
alertmanager:
image: functions/alertmanager:latest # autobuild from Dockerfile in repo.
environment:
# volumes:
# - ./prometheus/alertmanager.yml:/alertmanager.yml
command:
- '-config.file=/alertmanager.yml'
networks:
- functions
ports:
- 9093:9093
constraints:
- 'node.role == manager'
- 'node.platform.os == linux'
# Service label of "function" allows functions to show up in UI on http://gateway:8080/
depends_on:
- gateway
networks:
- functions
environment:
deploy:
placement:
constraints:
- 'node.platform.os == linux'
# Pass a username as an argument to find how many images user has pushed to Docker Hub.
depends_on:
- gateway
networks:
- functions
environment:
deploy:
placement:
constraints:
- 'node.platform.os == linux'
# Node.js gives OS info about the node (Host)
depends_on:
- gateway
networks:
- functions
environment:
deploy:
placement:
constraints:
- 'node.platform.os == linux'
# Uses `cat` to echo back response, fastest function to execute.
echoit:
depends_on:
- gateway
networks:
- functions
environment:
fprocess: "cat"
no_proxy: "gateway"
https_proxy: $https_proxy
deploy:
placement:
constraints:
- 'node.platform.os == linux'
# Counts words in request with `wc` utility
wordcount:
com.faas.max_replicas: "10"
depends_on:
- gateway
networks:
- functions
environment:
fprocess: "wc"
no_proxy: "gateway"
https_proxy: $https_proxy
deploy:
placement:
constraints:
- 'node.platform.os == linux'
# Calculates base64 representation of request body.
base64:
labels:
function: "true"
depends_on:
- gateway
networks:
- functions
environment:
fprocess: "base64"
no_proxy: "gateway"
deploy:
placement:
constraints:
- 'node.platform.os == linux'
# Decodes base64 representation of request body.
decodebase64:
labels:
function: "true"
depends_on:
- gateway
networks:
- functions
environment:
fprocess: "base64 -d"
no_proxy: "gateway"
deploy:
placement:
constraints:
- 'node.platform.os == linux'
# Converts body in (markdown format) -> (html)
markdown:
image: alexellis2/faas-markdownrender:latest
depends_on:
- gateway
networks:
- functions
environment:
deploy:
placement:
constraints:
- 'node.platform.os == linux'
networks:
functions:
driver: overlay