---
networks:
  internal:
    driver: "bridge"
    driver_opts:
      com.docker.network.bridge.name: "internal"
    enable_ipv4: true
    enable_ipv6: false
    external: false
    internal: true
    ipam:
      driver: "default"
      config:
        - subnet: "172.21.0.0/20"
          ip_range: "172.21.8.0/21"
          gateway: "172.21.0.1"
    name: "internal"

services:
  backend-ui:
    networks:
      internal:
    labels:
      logger_type: "kotlin_default"
      ru.eltex-co.image.title: "eccm-backend-ui"
      ru.eltex-co.image.vendor: "ELTEX"
      ru.eltex-co.metrics.job: "actuator"
      ru.eltex-co.metrics.path: "actuator/prometheus"
      ru.eltex-co.metrics.port: "8081"

  cron-manager:
    networks:
      internal:
    labels:
      logger_type: "kotlin_default"
      ru.eltex-co.image.title: "eccm-cron-manager"
      ru.eltex-co.image.vendor: "ELTEX"
      ru.eltex-co.metrics.job: "actuator"
      ru.eltex-co.metrics.path: "actuator/prometheus"
      ru.eltex-co.metrics.port: "8082"

  data-presenter:
    networks:
      internal:
    labels:
      logger_type: "kotlin_default"
      ru.eltex-co.image.title: "eccm-data-presenter"
      ru.eltex-co.image.vendor: "ELTEX"
      ru.eltex-co.metrics.job: "actuator"
      ru.eltex-co.metrics.path: "actuator/prometheus"
      ru.eltex-co.metrics.port: "8089"

  device-manager:
    networks:
      internal:
    labels:
      logger_type: "kotlin_default"
      ru.eltex-co.image.title: "eccm-device-manager"
      ru.eltex-co.image.vendor: "ELTEX"
      ru.eltex-co.metrics.job: "actuator"
      ru.eltex-co.metrics.path: "actuator/prometheus"
      ru.eltex-co.metrics.port: "8083"

  dhcp:
    networks:
      internal:
    labels:
      logger_type: "kea_dhcp_default"

  eccm-gateway:
    networks:
      internal:
    labels:
      logger_type: "nginx_default"

  identity-provider:
    networks:
      internal:
    labels:
      logger_type: "kotlin_default"
      ru.eltex-co.image.title: "eccm-identity-provider"
      ru.eltex-co.image.vendor: "ELTEX"
      ru.eltex-co.metrics.job: "actuator"
      ru.eltex-co.metrics.path: "actuator/prometheus"
      ru.eltex-co.metrics.port: "9999"

  license-service:
    networks:
      internal:
    labels:
      logger_type: "kotlin_default"
      ru.eltex-co.image.title: "eccm-license-service"
      ru.eltex-co.image.vendor: "ELTEX"
      ru.eltex-co.metrics.job: "actuator"
      ru.eltex-co.metrics.path: "actuator/prometheus"
      ru.eltex-co.metrics.port: "8103"

  monitoring-service:
    networks:
      internal:
    labels:
      logger_type: "kotlin_default"
      ru.eltex-co.image.title: "eccm-monitoring-service"
      ru.eltex-co.image.vendor: "ELTEX"
      ru.eltex-co.metrics.job: "actuator"
      ru.eltex-co.metrics.path: "actuator/prometheus"
      ru.eltex-co.metrics.port: "8088"

  notification-service:
    networks:
      internal:
    labels:
      logger_type: "kotlin_default"
      ru.eltex-co.image.title: "eccm-notification-service"
      ru.eltex-co.image.vendor: "ELTEX"
      ru.eltex-co.metrics.job: "actuator"
      ru.eltex-co.metrics.path: "actuator/prometheus"
      ru.eltex-co.metrics.port: "8100"

  problem-manager:
    networks:
      internal:
    labels:
      logger_type: "kotlin_default"
      ru.eltex-co.image.title: "eccm-problem-manager"
      ru.eltex-co.image.vendor: "ELTEX"
      ru.eltex-co.metrics.job: "actuator"
      ru.eltex-co.metrics.path: "actuator/prometheus"
      ru.eltex-co.metrics.port: "8099"

  rabbitmq-service:
    networks:
      internal:
    labels:
      logger_type: "rabbit_default"
      ru.eltex-co.image.title: "eccm-rabbitmq"
      ru.eltex-co.image.vendor: "ELTEX"
      ru.eltex-co.metrics.job: "rabbitmq"
      ru.eltex-co.metrics.path: "metrics"
      ru.eltex-co.metrics.port: "15692"

  redis:
    networks:
      internal:
    labels:
      logger_type: "redis_default"

  syslog-receiver:
    networks:
      internal:
    labels:
      logger_type: "kotlin_default"
      ru.eltex-co.image.title: "eccm-syslog-receiver"
      ru.eltex-co.image.vendor: "ELTEX"
      ru.eltex-co.metrics.job: "actuator"
      ru.eltex-co.metrics.path: "actuator/prometheus"
      ru.eltex-co.metrics.port: "8101"

  terminal-manager:
    networks:
      internal:
    labels:
      logger_type: "kotlin_default"
      ru.eltex-co.image.title: "eccm-terminal-manager"
      ru.eltex-co.image.vendor: "ELTEX"
      ru.eltex-co.metrics.job: "actuator"
      ru.eltex-co.metrics.path: "actuator/prometheus"
      ru.eltex-co.metrics.port: "8097"

  trap-receiver:
    networks:
      internal:
    labels:
      logger_type: "kotlin_default"
      ru.eltex-co.image.title: "eccm-trap-receiver"
      ru.eltex-co.image.vendor: "ELTEX"
      ru.eltex-co.metrics.job: "actuator"
      ru.eltex-co.metrics.path: "actuator/prometheus"
      ru.eltex-co.metrics.port: "8098"

  upgrader:
    networks:
      internal:
    labels:
      logger_type: "kotlin_default"
      ru.eltex-co.image.title: "eccm-upgrader"
      ru.eltex-co.image.vendor: "ELTEX"
      ru.eltex-co.metrics.job: "actuator"
      ru.eltex-co.metrics.path: "actuator/prometheus"
      ru.eltex-co.metrics.port: "8084"

  web-gui:
    networks:
      internal:
    labels:
      logger_type: "nginx_default"

  ztp-manager:
    networks:
      internal:
    labels:
      logger_type: "kotlin_default"
      ru.eltex-co.image.title: "eccm-ztp-manager"
      ru.eltex-co.image.vendor: "ELTEX"
      ru.eltex-co.metrics.job: "actuator"
      ru.eltex-co.metrics.path: "actuator/prometheus"
      ru.eltex-co.metrics.port: "8095"
