From f086f821fa2fcc4dbb2c1a2fb19e0ece6c4cb2cd Mon Sep 17 00:00:00 2001 From: Felipe D'Abrantes <felidabrantes@gmail> Date: Sat, 18 Mar 2023 15:08:47 +0000 Subject: [PATCH] Add mongo image to docker-compose --- .gitignore | 2 ++ .../feed-service/app/models/MongoDBClient.scala | 10 +++++++--- backend-services/feed-service/conf/application.conf | 4 +++- backend-services/feed-service/conf/reference.conf | 4 ++++ docker-compose.yml | 9 +++++++++ 5 files changed, 25 insertions(+), 4 deletions(-) create mode 100644 .gitignore create mode 100644 backend-services/feed-service/conf/reference.conf diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..c20156c6 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +# Docker Output +/mongo diff --git a/backend-services/feed-service/app/models/MongoDBClient.scala b/backend-services/feed-service/app/models/MongoDBClient.scala index 80583bb3..bd44c198 100644 --- a/backend-services/feed-service/app/models/MongoDBClient.scala +++ b/backend-services/feed-service/app/models/MongoDBClient.scala @@ -1,6 +1,6 @@ package models -import com.typesafe.config.ConfigFactory +import com.typesafe.config.{Config, ConfigFactory} import org.mongodb.scala.{MongoClient, MongoDatabase, MongoCollection, Document, FindObservable, Observer, Observable} import org.mongodb.scala.model.{Filters, Projections, Sorts} @@ -18,7 +18,11 @@ import scala.util.{Success, Failure, Try} */ class MongoDBClient { // Loads the default configuration - private val config = ConfigFactory.load() + private val applicationConfig: Config = ConfigFactory.load("application.conf") + private val referenceConfig: Config = ConfigFactory.parseResources("reference.conf") + private val config: Config = referenceConfig.withFallback(applicationConfig).resolve() + + private val mongoUri = config.getString("mongodb.uri") // Connects to a MongoDB Client when class is constructed private var client: MongoClient = this.connect() @@ -29,7 +33,7 @@ class MongoDBClient { * @return A MongoClient instance. */ def connect(): MongoClient = { - MongoClient(config.getString("mongo.default.url")) + MongoClient(mongoUri) } /** diff --git a/backend-services/feed-service/conf/application.conf b/backend-services/feed-service/conf/application.conf index 48131680..852c11d6 100644 --- a/backend-services/feed-service/conf/application.conf +++ b/backend-services/feed-service/conf/application.conf @@ -1,2 +1,4 @@ +# Default Configuration File + # MongoDB Connection Strings -mongo.default.url="mongodb://localhost:27017/" +mongodb.uri = "mongodb://localhost:27017/" diff --git a/backend-services/feed-service/conf/reference.conf b/backend-services/feed-service/conf/reference.conf new file mode 100644 index 00000000..1eba4d76 --- /dev/null +++ b/backend-services/feed-service/conf/reference.conf @@ -0,0 +1,4 @@ +# Configuration File to be replaced with environment variables, if present + +# MongoDB Connection Strings +mongodb.uri = ${?MONGO_URI} diff --git a/docker-compose.yml b/docker-compose.yml index 17479baf..d354d3cd 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -7,3 +7,12 @@ services: restart: unless-stopped ports: - "9001:9000" + environment: + - MONGO_URI=mongodb://feed-mongo:27017/ + + mongo: + image: mongo + container_name: feed-mongo + ports: + - "27017:27017" + \ No newline at end of file -- GitLab