diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..c20156c6d1f9d0dee893f07ba1eabd8244f75cf3 --- /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 80583bb392da35a7be0d982134f29b2853a92b7e..bd44c198aa72ef35802d86f92a5ed51e69ede20f 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 4813168066f5b540753cf085860c08ff54404a50..852c11d6e6d10588b23cae3f2b3e8131c4827c11 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 0000000000000000000000000000000000000000..1eba4d767f858cae4f72900eb06b7f47bfbbf5f1 --- /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 17479baf38566ee091cd84d8e9b93d150bd6e546..d354d3cdf5120eb132636b78f2a868f2489dbba6 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