## ---------------------------------------------------------------------------
## 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.1'

services:
  database:
    image: "postgres"
    hostname: postgres
    environment:
      - POSTGRES_DB=saga
      - POSTGRES_USER=saga
      - POSTGRES_PASSWORD=password
    healthcheck:
        test: ["CMD-SHELL", "nc -z localhost 5432 &> /dev/null; echo $$?"]
        interval: 30s
        timeout: 10s
        retries: 5

  alpha:
    image: "alpha-server:${TAG}"
    hostname: alpha-server
    links:
      - "database:postgresql.servicecomb.io"
      - "grafana:grafana.servicecomb.io"
    environment:
      - JAVA_OPTS=-javaagent:/maven/saga/aspectjweaver.jar -Dspring.profiles.active=prd -Dkamon.statsd.hostname=grafana.servicecomb.io -Dkamon.statsd.port=8125 -Dkamon.modules.kamon-annotation.auto-start=yes  -Dkamon.modules.kamon-log-reporter.auto-start=yes -Dkamon.modules.kamon-statsd.auto-start=yes
    healthcheck:
        test: ["CMD-SHELL", "nc -z localhost 8080 &> /dev/null; echo $$?"]
        interval: 30s
        timeout: 10s
        retries: 5
    depends_on:
      database:
        condition: service_healthy

  grafana:
    image: "kamon/grafana_graphite"
    hostname: grafana
    ports:
      - "9081:80"
    healthcheck:
        test: ["CMD-SHELL", "nc -z localhost 80 &> /dev/null; echo $$?"]
        interval: 30s
        timeout: 10s
        retries: 5
