################################################################################
# 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: '3.5'

networks:
  docker-hadoop-cluster-network:
    name: docker-hadoop-cluster-network

services:
  kdc:
    container_name: "kdc"
    hostname: kdc.kerberos.com
    image: sequenceiq/kerberos
    networks:
      - docker-hadoop-cluster-network
    environment:
      REALM: EXAMPLE.COM
      DOMAIN_REALM: kdc.kerberos.com

  master:
    image: ${DOCKER_HADOOP_IMAGE_NAME:-flink/docker-hadoop-secure-cluster:latest}
    command: master
    depends_on:
      - kdc
    container_name: "master"
    hostname: master.docker-hadoop-cluster-network
    networks:
      - docker-hadoop-cluster-network
    environment:
      KRB_REALM: EXAMPLE.COM
      DOMAIN_REALM: kdc.kerberos.com

  worker1:
    image: ${DOCKER_HADOOP_IMAGE_NAME:-flink/docker-hadoop-secure-cluster:latest}
    command: worker
    depends_on:
      - kdc
      - master
    container_name: "worker1"
    hostname: worker1.docker-hadoop-cluster-network
    networks:
      - docker-hadoop-cluster-network
    environment:
      KRB_REALM: EXAMPLE.COM
      DOMAIN_REALM: kdc.kerberos.com

  worker2:
    image: ${DOCKER_HADOOP_IMAGE_NAME:-flink/docker-hadoop-secure-cluster:latest}
    command: worker
    depends_on:
      - kdc
      - master
    container_name: "worker2"
    hostname: worker2.docker-hadoop-cluster-network
    networks:
      - docker-hadoop-cluster-network
    environment:
      KRB_REALM: EXAMPLE.COM
      DOMAIN_REALM: kdc.kerberos.com
