@ -14,6 +14,7 @@ namespace Bit.Setup
@@ -14,6 +14,7 @@ namespace Bit.Setup
private IDictionary < string , string > _ mssqlValues ;
private IDictionary < string , string > _ globalOverrideValues ;
private IDictionary < string , string > _ mssqlOverrideValues ;
private IDictionary < string , string > _ keyConnectorOverrideValues ;
public EnvironmentFileBuilder ( Context context )
{
@ -45,6 +46,7 @@ namespace Bit.Setup
@@ -45,6 +46,7 @@ namespace Bit.Setup
Init ( ) ;
LoadExistingValues ( _ globalOverrideValues , "/bitwarden/env/global.override.env" ) ;
LoadExistingValues ( _ mssqlOverrideValues , "/bitwarden/env/mssql.override.env" ) ;
LoadExistingValues ( _ keyConnectorOverrideValues , "/bitwarden/env/key-connector.override.env" ) ;
if ( _ context . Config . PushNotifications & &
_ globalOverrideValues . ContainsKey ( "globalSettings__pushRelayBaseUri" ) & &
@ -107,6 +109,18 @@ namespace Bit.Setup
@@ -107,6 +109,18 @@ namespace Bit.Setup
{
["SA_PASSWORD"] = dbPassword ,
} ;
_ keyConnectorOverrideValues = new Dictionary < string , string >
{
["keyConnectorSettings__webVaultUri"] = _ context . Config . Url ,
["keyConnectorSettings__identityServerUri"] = "http://identity:5000" ,
["keyConnectorSettings__database__provider"] = "json" ,
["keyConnectorSettings__database__jsonFilePath"] = "/etc/bitwarden/key-connector/data.json" ,
["keyConnectorSettings__rsaKey__provider"] = "certificate" ,
["keyConnectorSettings__certificate__provider"] = "filesystem" ,
["keyConnectorSettings__certificate__filesystemPath"] = "/etc/bitwarden/key-connector/bwkc.pfx" ,
["keyConnectorSettings__certificate__filesystemPassword"] = Helpers . SecureRandomString ( 3 2 , alpha : true , numeric : true ) ,
} ;
}
private void LoadExistingValues ( IDictionary < string , string > _ values , string file )
@ -179,6 +193,16 @@ namespace Bit.Setup
@@ -179,6 +193,16 @@ namespace Bit.Setup
}
Helpers . Exec ( "chmod 600 /bitwarden/env/mssql.override.env" ) ;
if ( _ context . Config . EnableKeyConnector )
{
using ( var sw = File . CreateText ( "/bitwarden/env/key-connector.override.env" ) )
{
sw . Write ( template ( new TemplateModel ( _ keyConnectorOverrideValues ) ) ) ;
}
Helpers . Exec ( "chmod 600 /bitwarden/env/key-connector.override.env" ) ;
}
// Empty uid env file. Only used on Linux hosts.
if ( ! File . Exists ( "/bitwarden/env/uid.env" ) )
{