# Copyright 2021 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

version: "3"
services:
  ##############################################################################drone
  conf_creator:
    container_name: conf-creator
    image: ${SATLAB_REGISTRY_URI:-gcr.io/satlab-images}/conf_creator:${CONF_CREATOR:-release}
    labels:
      - "skip.while.pruning.docker.system=yes"
    volumes:
      - nginx_configs:/mnt/conf/nginx:rw
  ##############################################################################drone
  drone:
    container_name: drone
    image: &drone_image ${SATLAB_REGISTRY_URI:-gcr.io/satlab-images}/drone:${SATLAB_DRONE:-release}
    environment:
      - DOCKER_DRONE_QUEEN_SERVICE=drone-queen-prod.appspot.com
      - DOCKER_DRONE_SWARMING_SERVER_URL=https://chromeos-swarming.appspot.com
      - DOCKER_DRONE_ADMIN_SERVICE=chromeos-skylab-bot-fleet.appspot.com
      - DOCKER_DRONE_INVENTORY_ENVIRONMENT=prod
      - DOCKER_DRONE_TKO_INSTANCES=google.com:chromeos-lab:us-central1:tko
      - DOCKER_DRONE_AGENT_DUT_CAPACITY=10
      - DOCKER_DRONE_LOG_PROJECT=drone-queen-prod
      - DOCKER_DRONE_IMAGE=*drone_image
      - DOCKER_DRONE_INVENTORY_SERVICE=cros-lab-inventory.appspot.com
      - DOCKER_DRONE_UFS_SERVICE=ufs.api.cr.dev
      - DOCKER_DRONE_AGENT_HIVE=${DRONE_HOSTNAME:-satlab-drone}
      - DOCKER_DRONE_LABPACK_DIR=/usr/local/labpack
      - DOCKER_DRONE_CACHESERVER_IP=192.168.100.1
      - SERVOD_CONTAINER_LABEL=release
      - DOCKER_SERVOD_DEBUG_MODE=0
      - DOCKER_DEFAULT_NETWORK=default_satlab
    privileged: true
    hostname: ${DRONE_HOSTNAME:-satlab-drone}
    restart: always
    volumes:
      - ssp:/usr/local/autotest/containers/ssp_volume:rw
      - service_accounts:/creds/service_accounts:rw
      - /var/run/docker.sock:/var/run/docker.sock:rw
      - servod_profile:/var/servod/profile/:rw
    # TODO (prasadv): Make static ip addresses higher numbers
    # so that the lower number are available for dhcp to assign it
    # to dynamically created containers such as servod container
    networks:
      satlab:
        ipv4_address: 192.168.100.10
    dns:
      - 192.168.100.51
    depends_on:
      - dns
      - satlab_secrets
  ##############################################################################dns
  dns:
    container_name: dns
    image: ${COMMON_CORE_URI:-gcr.io/chromeos-partner-moblab}/moblab-dns:${DNS:-release}
    restart: unless-stopped
    volumes:
        - logs:/var/log/
        - dut_hosts:/etc/dut_hosts:rw
    command: ['/usr/sbin/dnsmasq', '--no-daemon', '-u', 'moblab', '-g', 'moblab', '-H', '/etc/dut_hosts/hosts']
    networks:
      satlab:
        ipv4_address: 192.168.100.51
  ##############################################################################gsa_server
  gsa_server:
    container_name: gsa_server
    image: ${SATLAB_REGISTRY_URI:-gcr.io/satlab-images}/gsa_server:${GSA_SERVER:-release}
    environment:
      - BOTO_CONFIG=/home/chromeos-test/boto_key/.boto
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:rw
      - images:/home/chromeos-test/images
      - boto_file:/home/chromeos-test/boto_key
    command: ['python', '-m', 'gs_archive_server', '-p', '8887', '-c', '192.168.100.3:8082', '-b', '0.0.0.0']
    networks:
      satlab:
        ipv4_address: 192.168.100.2
    dns:
      - 192.168.100.51
    depends_on:
      - dns
      - satlab_secrets
  ##############################################################################ngix
  nginx:
    container_name: nginx
    image: ${SATLAB_REGISTRY_URI:-gcr.io/satlab-images}/nginx:${NGINX:-release}
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:rw
      - /var/logs/nginx:/var/log/nginx
      - cache:/var/cache/nginx
      - nginx_configs:/mnt/conf/nginx:ro
    ports:
      - "8082:8082"
    command: ['nginx', '-g', 'daemon off;', '-c', '/mnt/conf/nginx/nginx.conf']
    networks:
      satlab:
        ipv4_address: 192.168.100.3
    dns:
      - 192.168.100.51
    extra_hosts:
        - "cacheserver:192.168.100.1"
    depends_on:
      - conf_creator
      - dns
      - gsa_server
  ##############################################################################satlab-secrets
  satlab_secrets:
    container_name: satlab_secrets
    image: ${SATLAB_REGISTRY_URI:-gcr.io/satlab-images}/satlab_secrets:${SATLAB_SECRETS:-release}
    labels:
      - "skip.while.pruning.docker.system=yes"
    volumes:
      - service_accounts:/creds/service_accounts
      - boto_file:/boto_file
  ##############################################################################volumes
  openssh_server:
    container_name: openssh_server
    image: ${SATLAB_REGISTRY_URI:-gcr.io/satlab-images}/openssh_server:${OPENSSH_SERVER:-release}
    network_mode: host
    cap_add:
      - NET_ADMIN
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Etc/UTC
      - SUDO_ACCESS=false
      - USER_NAME=chromeos-test
    ports:
      - "2222:2222"
    dns:
      - 192.168.100.51
  ##############################################################################volumes
volumes:
    logs: {}
    images: {}
    cache: {}
    dut_hosts: {}
    nginx_configs: {}
    service_accounts: {}
    boto_file: {}
    servod_profile: {}
    satlab_keys:
      external: True
    ssp: {}
  ##############################################################################networks
networks:
  satlab:
    ipam:
      driver: default
      config:
        - subnet: "192.168.100.0/24"
