From db4693c1dc5aab88042741ed49f40fee0ef23633 Mon Sep 17 00:00:00 2001 From: Martin Weise <martin.weise@tuwien.ac.at> Date: Wed, 31 May 2023 13:45:42 +0200 Subject: [PATCH] Add replication for metadata db in dbrepo2 --- .env.unix.example | 2 ++ dbrepo-metadata-db/setup-schema.sql | 3 +-- docker-compose.dbrepo2.yml | 27 +++++++++++++++++++++++++++ docker-compose.yml | 8 ++++---- 4 files changed, 34 insertions(+), 6 deletions(-) diff --git a/.env.unix.example b/.env.unix.example index 5e3cb074dc..c378a36878 100644 --- a/.env.unix.example +++ b/.env.unix.example @@ -8,6 +8,8 @@ ELASTIC_PASSWORD=elastic METADATA_DB=fda METADATA_USERNAME=root METADATA_PASSWORD=dbrepo +METADATA_REPLICATION_USER=rep +METADATA_REPLICATION_PASSWORD=rep BROKER_USERNAME=fda BROKER_PASSWORD=fda KEYCLOAK_ADMIN=fda diff --git a/dbrepo-metadata-db/setup-schema.sql b/dbrepo-metadata-db/setup-schema.sql index 0eb04c0fd5..782e96e89d 100644 --- a/dbrepo-metadata-db/setup-schema.sql +++ b/dbrepo-metadata-db/setup-schema.sql @@ -489,8 +489,7 @@ VALUES ('MIT', 'https://opensource.org/licenses/MIT'), ('CC-BY-4.0', 'https://creativecommons.org/licenses/by/4.0/legalcode'); INSERT INTO `fda`.`mdb_images` (repository, tag, default_port, dialect, driver_class, jdbc_method) -VALUES ('mariadb', '10.5', 3306, 'org.hibernate.dialect.MariaDBDialect', 'org.mariadb.jdbc.Driver', 'mariadb'), - ('bitnami/mariadb', '10.5', 3306, 'org.hibernate.dialect.MariaDBDialect', 'org.mariadb.jdbc.Driver', 'mariadb'); +VALUES ('bitnami/mariadb', '10.5', 3306, 'org.hibernate.dialect.MariaDBDialect', 'org.mariadb.jdbc.Driver', 'mariadb'); INSERT INTO `fda`.`mdb_images_environment_item` (`key`, value, etype, iid) VALUES ('ROOT', 'root', 'PRIVILEGED_USERNAME', 1), diff --git a/docker-compose.dbrepo2.yml b/docker-compose.dbrepo2.yml index 8395c8a79e..2ee781b628 100644 --- a/docker-compose.dbrepo2.yml +++ b/docker-compose.dbrepo2.yml @@ -46,6 +46,33 @@ services: - "9100:9100" env_file: - .env + environment: + MARIADB_REPLICATION_MODE: master + MARIADB_REPLICATION_USER: "${METADATA_REPLICATION_USER}" + MARIADB_REPLICATION_PASSWORD: "${METADATA_REPLICATION_PASSWORD}" + logging: + driver: json-file + + dbrepo-metadata-db-slave: + restart: "no" + hostname: metadata-db-slave + image: bitnami/mariadb:10.5 + networks: + core: + env_file: + - .env + environment: + MARIADB_REPLICATION_MODE: slave + MARIADB_REPLICATION_USER: "${METADATA_REPLICATION_USER}" + MARIADB_REPLICATION_PASSWORD: "${METADATA_REPLICATION_PASSWORD}" + MARIADB_MASTER_HOST: metadata-db + MARIADB_MASTER_PORT_NUMBER: 3306 + MARIADB_MASTER_ROOT_PASSWORD: "${METADATA_PASSWORD}" + depends_on: + - dbrepo-metadata-db + deploy: + mode: replicated + replicas: 3 logging: driver: json-file diff --git a/docker-compose.yml b/docker-compose.yml index d921ef70ef..f18117bdf3 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -11,14 +11,14 @@ volumes: authentication-service-data: networks: - userdb: - name: userdb + public: + name: public driver: bridge ipam: config: - subnet: 172.30.0.0/16 - public: - name: public + userdb: + name: userdb driver: bridge ipam: config: -- GitLab