This is an automated email from the ASF dual-hosted git repository.
abhi pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ranger.git
The following commit(s) were added to refs/heads/master by this push:
new 38e762f32 RANGER-5167: Merge all database compose files and use
extends (#542)
38e762f32 is described below
commit 38e762f329cd9015a7fc961a9bbeea529207c87e
Author: Abhishek Kumar <[email protected]>
AuthorDate: Sat Mar 29 16:30:21 2025 -0700
RANGER-5167: Merge all database compose files and use extends (#542)
---
.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} ]