mentorenwahl/docker/backend/src/backend/config.cr
Dominic Grimm 1b3bdbd389
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
Added env_config and removed senf
2022-02-03 17:28:32 +01:00

61 lines
1 KiB
Crystal

require "secrets-env"
require "env_config"
module Backend
extend self
@@config = Config.new(ENV, prefix: "BACKEND")
def config : Config
@@config
end
class Config
include EnvConfig
getter url : String
@[EnvConfig::Setting(key: "api")]
getter api : APIConfig
@[EnvConfig::Setting(key: "worker")]
getter worker : WorkerConfig
@[EnvConfig::Setting(key: "smtp")]
getter smtp : SMTPConfig
@[EnvConfig::Setting(key: "db")]
getter db : DbConfig
class APIConfig
include EnvConfig
getter graphql_playground : Bool
getter jwt_secret : String
end
class WorkerConfig
include EnvConfig
getter redis_url : String
end
class SMTPConfig
include EnvConfig
getter helo : String
getter address : String
getter port : Int32
getter name : String
getter username : String
getter password : String
end
class DbConfig
include EnvConfig
getter url : String
end
end
end