@@ -49,6 +49,7 @@ const defaultEnclavedConfig: EnclavedConfig = {
4949 bind : 'localhost' ,
5050 timeout : 305 * 1000 ,
5151 logFile : '' ,
52+ kmsUrl : '' , // Will be overridden by environment variable
5253 tlsMode : TlsMode . ENABLED ,
5354 mtlsRequestCert : false ,
5455 mtlsRejectUnauthorized : false ,
@@ -68,6 +69,12 @@ function determineTlsMode(): TlsMode {
6869}
6970
7071function enclavedEnvConfig ( ) : Partial < EnclavedConfig > {
72+ const kmsUrl = readEnvVar ( 'KMS_URL' ) ;
73+
74+ if ( ! kmsUrl ) {
75+ throw new Error ( 'KMS_URL environment variable is required and cannot be empty' ) ;
76+ }
77+
7178 return {
7279 appMode : AppMode . ENCLAVED ,
7380 port : Number ( readEnvVar ( 'MASTER_BITGO_EXPRESS_PORT' ) ) ,
@@ -80,6 +87,8 @@ function enclavedEnvConfig(): Partial<EnclavedConfig> {
8087 timeout : Number ( readEnvVar ( 'MASTER_BITGO_EXPRESS_TIMEOUT' ) ) ,
8188 keepAliveTimeout : Number ( readEnvVar ( 'MASTER_BITGO_EXPRESS_KEEP_ALIVE_TIMEOUT' ) ) ,
8289 headersTimeout : Number ( readEnvVar ( 'MASTER_BITGO_EXPRESS_HEADERS_TIMEOUT' ) ) ,
90+ // KMS settings
91+ kmsUrl,
8392 // TLS settings
8493 keyPath : readEnvVar ( 'MASTER_BITGO_EXPRESS_KEYPATH' ) ,
8594 crtPath : readEnvVar ( 'MASTER_BITGO_EXPRESS_CRTPATH' ) ,
@@ -112,6 +121,7 @@ function mergeEnclavedConfigs(...configs: Partial<EnclavedConfig>[]): EnclavedCo
112121 timeout : get ( 'timeout' ) ,
113122 keepAliveTimeout : get ( 'keepAliveTimeout' ) ,
114123 headersTimeout : get ( 'headersTimeout' ) ,
124+ kmsUrl : get ( 'kmsUrl' ) ,
115125 keyPath : get ( 'keyPath' ) ,
116126 crtPath : get ( 'crtPath' ) ,
117127 tlsKey : get ( 'tlsKey' ) ,
0 commit comments