RAbraham
RAbraham

Reputation: 6314

Scala Config: Include another file.conf

Currently, I have a resources/application.conf file which has the following keys:

development {
    server = www.myapp.com
    aws_key = my_aws_key
    aws_secret = my_aws_secret

}

I would like to remove my aws_key and aws_secret from the file.

I was thinking of creating another file called resources/credentials.conf and storing my personal authentications there.

credentials {
    aws_key = my_aws_key
    aws_secret = my_aws_secret
}

and then include it some way in my application.conf or merge that config to the Config object in addition to application.conf.

credentials.conf would be git ignored. A sample file would be checked in credentials-sample.conf which each developer would change according to his own credentials and rename the sample file to credentials.conf

I tried different variation of include like

and so on.

I know I can pass it via system variables but I would like to try it like mentioned above. If you know of a better way, please let me know.

Upvotes: 2

Views: 6051

Answers (2)

Andrea Ciccotta
Andrea Ciccotta

Reputation: 672

Inside your conf file, add

include "another_file.conf"

ie: https://github.com/cicco94/scala-akka-slick-demo/blob/master/src/main/resources/application.conf

Upvotes: 1

LynxZh
LynxZh

Reputation: 835

Typesafe Config provide the way to fallback from one configuration to another. You can try the ConfigFactory.Load() to load different config and use withFallback to line them up in your designated order. Such as: ConfigFactory.Load("credentials.conf") withFallback ConfigFactory.Load("application.conf")

Upvotes: 4

Related Questions