This is an automated email from the ASF dual-hosted git repository.

madhan pushed a commit to branch ranger-2.7
in repository https://gitbox.apache.org/repos/asf/ranger.git

commit 69e9c3675dc8d406e0ad044c53daef18b4b50f7f
Author: Abhishek Kumar <abhishekkumar100...@gmail.com>
AuthorDate: Sat Mar 29 16:30:21 2025 -0700

    RANGER-5167: Merge all database compose files and use extends (#542)
    
    (cherry picked from commit 38e762f329cd9015a7fc961a9bbeea529207c87e)
---
 .github/workflows/maven.yml                        |  2 -
 dev-support/ranger-docker/README.md                | 12 +--
 .../docker-compose.ranger-db-mounted.yml           | 11 +++
 .../ranger-docker/docker-compose.ranger-db.yml     | 86 ++++++++++++++++++++++
 .../ranger-docker/docker-compose.ranger-mysql.yml  | 25 -------
 .../ranger-docker/docker-compose.ranger-oracle.yml | 23 ------
 .../docker-compose.ranger-postgres-mounted.yml     | 24 ------
 .../docker-compose.ranger-postgres.yml             | 23 ------
 .../docker-compose.ranger-sqlserver.yml            | 27 -------
 .../ranger-docker/docker-compose.ranger.yml        |  5 ++
 ranger_in_docker                                   |  7 +-
 11 files changed, 110 insertions(+), 135 deletions(-)

diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml
index b556905e5..94cc5c32b 100644
--- a/.github/workflows/maven.yml
+++ b/.github/workflows/maven.yml
@@ -130,7 +130,6 @@ jobs:
           export COMPOSE_DOCKER_CLI_BUILD=1
           export RANGER_DB_TYPE=postgres
           docker compose \
-          -f docker-compose.ranger-${RANGER_DB_TYPE}.yml \
           -f docker-compose.ranger.yml \
           -f docker-compose.ranger-usersync.yml \
           -f docker-compose.ranger-tagsync.yml \
@@ -148,7 +147,6 @@ jobs:
           ./scripts/ozone-plugin-docker-setup.sh
           export RANGER_DB_TYPE=postgres
           docker compose \
-          -f docker-compose.ranger-${RANGER_DB_TYPE}.yml \
           -f docker-compose.ranger.yml \
           -f docker-compose.ranger-usersync.yml \
           -f docker-compose.ranger-tagsync.yml \
diff --git a/dev-support/ranger-docker/README.md 
b/dev-support/ranger-docker/README.md
index 346ac5e66..05de7f839 100644
--- a/dev-support/ranger-docker/README.md
+++ b/dev-support/ranger-docker/README.md
@@ -83,33 +83,33 @@ docker-compose -f docker-compose.ranger-base-ubi.yml build 
--no-cache
 
 # valid values for RANGER_DB_TYPE: mysql/postgres/oracle
 
-docker-compose -f docker-compose.ranger.yml -f 
docker-compose.ranger-${RANGER_DB_TYPE}.yml -f 
docker-compose.ranger-usersync.yml -f docker-compose.ranger-tagsync.yml up -d
+docker-compose -f docker-compose.ranger.yml -f 
docker-compose.ranger-usersync.yml -f docker-compose.ranger-tagsync.yml up -d
 
 # Ranger Admin can be accessed at http://localhost:6080 (admin/rangerR0cks!)
 ~~~
 #### Bring up hive container
 ~~~
-docker-compose -f docker-compose.ranger.yml -f 
docker-compose.ranger-${RANGER_DB_TYPE}.yml -f docker-compose.ranger-hadoop.yml 
-f docker-compose.ranger-hive.yml up -d
+docker-compose -f docker-compose.ranger.yml -f 
docker-compose.ranger-hadoop.yml -f docker-compose.ranger-hive.yml up -d
 ~~~
 #### Bring up hbase container
 ~~~
-docker-compose -f docker-compose.ranger.yml -f 
docker-compose.ranger-${RANGER_DB_TYPE}.yml -f docker-compose.ranger-hadoop.yml 
-f docker-compose.ranger-hbase.yml up -d
+docker-compose -f docker-compose.ranger.yml -f 
docker-compose.ranger-hadoop.yml -f docker-compose.ranger-hbase.yml up -d
 ~~~
 #### Bring up ozone containers
 ~~~
 ./scripts/ozone-plugin-docker-setup.sh
-docker-compose -f docker-compose.ranger.yml -f 
docker-compose.ranger-${RANGER_DB_TYPE}.yml -f docker-compose.ranger-ozone.yml 
up -d
+docker-compose -f docker-compose.ranger.yml -f docker-compose.ranger-ozone.yml 
up -d
 ~~~
 #### Bring up trino container (requires docker build with jdk 11):
 ~~~
-docker-compose -f docker-compose.ranger.yml -f 
docker-compose.ranger-${RANGER_DB_TYPE}.yml -f docker-compose.ranger-trino.yml 
up -d
+docker-compose -f docker-compose.ranger.yml -f docker-compose.ranger-trino.yml 
up -d
 ~~~
 Similarly, check the `depends` section of the 
`docker-compose.ranger-service.yaml` file and add docker-compose files for 
these services when trying to bring up the `service` container.
 
 #### Bring up all containers
 ~~~
 ./scripts/ozone-plugin-docker-setup.sh
-docker compose -f docker-compose.ranger-${RANGER_DB_TYPE}.yml -f 
docker-compose.ranger.yml -f docker-compose.ranger-usersync.yml -f 
docker-compose.ranger-tagsync.yml -f docker-compose.ranger-kms.yml -f 
docker-compose.ranger-hadoop.yml -f docker-compose.ranger-hbase.yml -f 
docker-compose.ranger-kafka.yml -f docker-compose.ranger-hive.yml -f 
docker-compose.ranger-knox.yml -f docker-compose.ranger-ozone.yml up -d
+docker compose -f docker-compose.ranger.yml -f 
docker-compose.ranger-usersync.yml -f docker-compose.ranger-tagsync.yml -f 
docker-compose.ranger-kms.yml -f docker-compose.ranger-hadoop.yml -f 
docker-compose.ranger-hbase.yml -f docker-compose.ranger-kafka.yml -f 
docker-compose.ranger-hive.yml -f docker-compose.ranger-knox.yml -f 
docker-compose.ranger-ozone.yml up -d
 ~~~
           
 #### To rebuild specific images and start containers with the new image:
diff --git a/dev-support/ranger-docker/docker-compose.ranger-db-mounted.yml 
b/dev-support/ranger-docker/docker-compose.ranger-db-mounted.yml
new file mode 100644
index 000000000..2ab8aff31
--- /dev/null
+++ b/dev-support/ranger-docker/docker-compose.ranger-db-mounted.yml
@@ -0,0 +1,11 @@
+services:
+  ranger-db:
+    extends:
+      service: ${RANGER_DB_TYPE}
+      file: docker-compose.ranger-db.yml
+    volumes:
+      - ./postgres-db-mount:/var/lib/postgresql/data
+
+networks:
+  ranger:
+    name: rangernw
diff --git a/dev-support/ranger-docker/docker-compose.ranger-db.yml 
b/dev-support/ranger-docker/docker-compose.ranger-db.yml
new file mode 100644
index 000000000..3688a2a6d
--- /dev/null
+++ b/dev-support/ranger-docker/docker-compose.ranger-db.yml
@@ -0,0 +1,86 @@
+services:
+  postgres:
+    build:
+      context: .
+      dockerfile: Dockerfile.ranger-postgres
+      args:
+        - POSTGRES_VERSION=${POSTGRES_VERSION}
+    image: ranger-postgres
+    container_name: ranger-postgres
+    hostname: ranger-db.example.com
+    ports:
+      - "5432:5432"
+    networks:
+      - ranger
+    healthcheck:
+      test: 'su -c "pg_isready -q" postgres'
+      interval: 10s
+      timeout: 2s
+      retries: 30
+
+  mysql:
+    build:
+      context: .
+      dockerfile: Dockerfile.ranger-mysql
+      args:
+        - MARIADB_VERSION=${MARIADB_VERSION}
+    image: ranger-mysql
+    command: --default-authentication-plugin=mysql_native_password
+    container_name: ranger-mysql
+    hostname: ranger-db.example.com
+    ports:
+      - "3306:3306"
+    networks:
+      - ranger
+    healthcheck:
+      # Double dollar($$) is required to expand the env variable
+      test: "mysql -u root -p$$MYSQL_ROOT_PASSWORD ranger -e 'select 1' > 
/dev/null"
+      interval: 10s
+      timeout: 2s
+      retries: 30
+
+  oracle:
+    build:
+      context: .
+      dockerfile: Dockerfile.ranger-oracle
+      args:
+        - ORACLE_VERSION=${ORACLE_VERSION}
+    image: ranger-oracle
+    container_name: ranger-oracle
+    hostname: ranger-db.example.com
+    ports:
+      - "1521:1521"
+    networks:
+      - ranger
+    healthcheck:
+      test: ["CMD", "healthcheck.sh"]
+      interval: 10s
+      timeout: 2s
+      retries: 30
+
+  sqlserver:
+    build:
+      context: .
+      dockerfile: Dockerfile.ranger-sqlserver
+      args:
+        - SQLSERVER_VERSION=${SQLSERVER_VERSION}
+    image: ranger-sqlserver
+    container_name: ranger-sqlserver
+    hostname: ranger-db.example.com
+    ports:
+      - "1433:1433"
+    networks:
+      - ranger
+    healthcheck:
+      test: [
+        "CMD-SHELL",
+        "/opt/mssql-tools18/bin/sqlcmd -S localhost -U SA -P rangerR0cks! -Q 
\"SELECT 1\" -C" # -C bypasses SSL validation
+      ]
+      interval: 15s
+      timeout: 10s
+      retries: 3
+      start_period: 10s
+
+networks:
+  ranger:
+    name: rangernw
diff --git a/dev-support/ranger-docker/docker-compose.ranger-mysql.yml 
b/dev-support/ranger-docker/docker-compose.ranger-mysql.yml
deleted file mode 100644
index 25641a338..000000000
--- a/dev-support/ranger-docker/docker-compose.ranger-mysql.yml
+++ /dev/null
@@ -1,25 +0,0 @@
-services:
-  ranger-db:
-    build:
-      context: .
-      dockerfile: Dockerfile.ranger-mysql
-      args:
-        - MARIADB_VERSION=${MARIADB_VERSION}
-    image: ranger-mysql
-    command: --default-authentication-plugin=mysql_native_password
-    container_name: ranger-mysql
-    hostname: ranger-db.example.com
-    ports:
-      - "3306:3306"
-    networks:
-      - ranger
-    healthcheck:
-      # Double dollar($$) is required to expand the env variable
-      test: "mysql -u root -p$$MYSQL_ROOT_PASSWORD ranger -e 'select 1' > 
/dev/null"
-      interval: 10s
-      timeout: 2s
-      retries: 30
-
-networks:
-  ranger:
-    name: rangernw
diff --git a/dev-support/ranger-docker/docker-compose.ranger-oracle.yml 
b/dev-support/ranger-docker/docker-compose.ranger-oracle.yml
deleted file mode 100644
index bab2ffa06..000000000
--- a/dev-support/ranger-docker/docker-compose.ranger-oracle.yml
+++ /dev/null
@@ -1,23 +0,0 @@
-services:
-  ranger-db:
-    build:
-      context: .
-      dockerfile: Dockerfile.ranger-oracle
-      args:
-        - ORACLE_VERSION=${ORACLE_VERSION}
-    image: ranger-oracle
-    container_name: ranger-oracle
-    hostname: ranger-db.example.com
-    ports:
-      - "1521:1521"
-    networks:
-      - ranger
-    healthcheck:
-      test: ["CMD", "healthcheck.sh"]
-      interval: 10s
-      timeout: 2s
-      retries: 30
-
-networks:
-  ranger:
-    name: rangernw
diff --git 
a/dev-support/ranger-docker/docker-compose.ranger-postgres-mounted.yml 
b/dev-support/ranger-docker/docker-compose.ranger-postgres-mounted.yml
deleted file mode 100644
index 0ecbb139d..000000000
--- a/dev-support/ranger-docker/docker-compose.ranger-postgres-mounted.yml
+++ /dev/null
@@ -1,24 +0,0 @@
-services:
-  ranger-db:
-    build:
-      context: .
-      dockerfile: Dockerfile.ranger-postgres
-      args:
-        - POSTGRES_VERSION=${POSTGRES_VERSION}
-    image: ranger-postgres
-    container_name: ranger-postgres
-    hostname: ranger-db.example.com
-    ports:
-      - "5432:5432"
-    networks:
-      - ranger
-    volumes:
-      - ./postgres-db-mount:/var/lib/postgresql/data
-    healthcheck:
-      test: 'su -c "pg_isready -q" postgres'
-      interval: 10s
-      timeout: 2s
-      retries: 30
-networks:
-  ranger:
-    name: rangernw
diff --git a/dev-support/ranger-docker/docker-compose.ranger-postgres.yml 
b/dev-support/ranger-docker/docker-compose.ranger-postgres.yml
deleted file mode 100644
index 22d166b9d..000000000
--- a/dev-support/ranger-docker/docker-compose.ranger-postgres.yml
+++ /dev/null
@@ -1,23 +0,0 @@
-services:
-  ranger-db:
-    build:
-      context: .
-      dockerfile: Dockerfile.ranger-postgres
-      args:
-        - POSTGRES_VERSION=${POSTGRES_VERSION}
-    image: ranger-postgres
-    container_name: ranger-postgres
-    hostname: ranger-db.example.com
-    ports:
-      - "5432:5432"
-    networks:
-      - ranger
-    healthcheck:
-      test: 'su -c "pg_isready -q" postgres'
-      interval: 10s
-      timeout: 2s
-      retries: 30
-
-networks:
-  ranger:
-    name: rangernw
diff --git a/dev-support/ranger-docker/docker-compose.ranger-sqlserver.yml 
b/dev-support/ranger-docker/docker-compose.ranger-sqlserver.yml
deleted file mode 100644
index da15e17af..000000000
--- a/dev-support/ranger-docker/docker-compose.ranger-sqlserver.yml
+++ /dev/null
@@ -1,27 +0,0 @@
-services:
-  ranger-db:
-    build:
-      context: .
-      dockerfile: Dockerfile.ranger-sqlserver
-      args:
-        - SQLSERVER_VERSION=${SQLSERVER_VERSION}
-    image: ranger-sqlserver
-    container_name: ranger-sqlserver
-    hostname: ranger-db.example.com
-    ports:
-      - "1433:1433"
-    networks:
-      - ranger
-    healthcheck:
-      test: [
-        "CMD-SHELL",
-        "/opt/mssql-tools18/bin/sqlcmd -S localhost -U SA -P rangerR0cks! -Q 
\"SELECT 1\" -C" # -C bypasses SSL validation
-      ]
-      interval: 15s
-      timeout: 10s
-      retries: 3
-      start_period: 10s
-
-networks:
-  ranger:
-    name: rangernw
diff --git a/dev-support/ranger-docker/docker-compose.ranger.yml 
b/dev-support/ranger-docker/docker-compose.ranger.yml
index 08518c0b1..a7ac101ed 100644
--- a/dev-support/ranger-docker/docker-compose.ranger.yml
+++ b/dev-support/ranger-docker/docker-compose.ranger.yml
@@ -30,6 +30,11 @@ services:
     command:
       - /home/ranger/scripts/ranger.sh
 
+  ranger-db:
+    extends:
+      service: ${RANGER_DB_TYPE}
+      file: docker-compose.ranger-db.yml
+
   ranger-zk:
     build:
       context: .
diff --git a/ranger_in_docker b/ranger_in_docker
index 99089f878..f1499b184 100755
--- a/ranger_in_docker
+++ b/ranger_in_docker
@@ -61,15 +61,12 @@ ENABLED_RANGER_SERVICE_FILE=${HOME}/.ranger_docker_services
 
    export ENABLE_DB_MOUNT
 
+CORE_SERVICES="ranger-base,ranger,ranger-usersync"
 if [ "${ENABLE_DB_MOUNT}" = "true" ];
 then
-    DB_SERVICE_NAME="ranger-${RANGER_DB_TYPE}-mounted"
-else
-    DB_SERVICE_NAME="ranger-${RANGER_DB_TYPE}"
+    CORE_SERVICES="ranger-base,ranger,ranger-db-mounted,ranger-usersync"
 fi
 
-CORE_SERVICES="ranger-base,ranger,${DB_SERVICE_NAME},ranger-usersync"
-
 if [ -z "${ENABLED_RANGER_SERVICES}" ]
 then
     if [ -f ${ENABLED_RANGER_SERVICE_FILE} ]

Reply via email to