#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
#
#   http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied.  See the License for the
# specific language governing permissions and limitations
# under the License.
#

version: '2'

services:
  hello:
    build: .
    ports:
      - 8080:8080

  prometheus:
    image: prom/prometheus:v2.8.0
    volumes:
      - ./docker-compose/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml
    command: '--config.file=/etc/prometheus/prometheus.yml'
    ports:
      - '9090:9090'
    depends_on:
      - hello

  grafana:
    image: grafana/grafana:6.6.1
    depends_on:
      - prometheus
    ports:
      - 3000:3000
    volumes:
      - ./docker-compose/grafana/provisioning/:/etc/grafana/provisioning/
      - ./docker-compose/grafana/grafana.ini:/etc/grafana/grafana.ini
