package Ġ` in `. ta zj . k 8 s . lets encrypt . util Ċ Ċ import Ġorg . f unktion ale . option . Option Ċ import Ġorg . f unktion ale . option . getOrElse Ċ import Ġorg . f unktion ale . option . to Option Ċ Ċ data Ġclass ĠSecret Filename s ( ĊĠĠĠĠĠĠĠ Ġval Ġcertificate : ĠString , ĊĠĠĠĠĠĠĠ Ġval Ġchain : ĠString , ĊĠĠĠĠĠĠĠ Ġval Ġkey : ĠString , ĊĠĠĠĠĠĠĠ Ġval Ġfull chain : ĠString Ċ ) Ċ Ċ data Ġclass ĠConfiguration ( ĊĠĠĠĠĠĠĠ Ġval Ġcloud Platform : ĠCloud Platform , ĊĠĠĠĠĠĠĠ Ġval Ġac me Url : ĠString , ĊĠĠĠĠĠĠĠ Ġval Ġsecret Filename s : ĠSecret Filename s Ċ ) Ċ Ċ private Ġfun Ġget Or Detect Cloud Platform ( platform : ĠOption < String >): ĠCloud Platform Ġ{ ĊĠĠĠ Ġreturn Ġplatform ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ ĠCloud Platform . valueOf ( it ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. getOrElse Ġ{ Ġdetect Cloud Platform () Ġ} Ċ } Ċ Ċ private Ġfun Ġget Secret Filename s ( env : ĠMap < String , ĠString >): ĠSecret Filename s Ġ{ ĊĠĠĠ Ġreturn ĠSecret Filename s ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġenv . get OrDefault (" CER TIFICATE _ FILENAME ", Ġ" certificate . pem "), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġenv . get OrDefault (" CHAIN _ FILENAME ", Ġ" chain . pem "), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġenv . get OrDefault (" KEY _ FILENAME ", Ġ" key . pem "), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġenv . get OrDefault (" FULL CHAIN _ FILENAME ", Ġ" full chain . pem ") ĊĠĠĠ Ġ) Ċ } Ċ Ċ fun Ġload Configuration (): ĠConfiguration Ġ{ ĊĠĠĠ Ġval Ġenv Ġ= ĠSystem . getenv (). toMap () ĊĠĠĠ Ġreturn ĠConfiguration ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Or Detect Cloud Platform ( env . get (" CLOUD _ PLATFORM "). to Option ()), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġenv . get OrDefault (" AC ME _ URL ", Ġ" https :// acme - v 0 1 . api . lets encrypt . org / directory "), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Secret Filename s ( env ) ĊĠĠĠ Ġ) Ċ } Ċ