[FrameworkBundle][Secrets] Hook configured local dotenv file
This commit is contained in:
parent
25494fa519
commit
56f542c36b
@ -129,7 +129,7 @@ class Configuration implements ConfigurationInterface
|
|||||||
->canBeDisabled()
|
->canBeDisabled()
|
||||||
->children()
|
->children()
|
||||||
->scalarNode('vault_directory')->defaultValue('%kernel.project_dir%/config/secrets/%kernel.environment%')->cannotBeEmpty()->end()
|
->scalarNode('vault_directory')->defaultValue('%kernel.project_dir%/config/secrets/%kernel.environment%')->cannotBeEmpty()->end()
|
||||||
->scalarNode('local_dotenv_file')->defaultValue('%kernel.project_dir%/.env.local')->end()
|
->scalarNode('local_dotenv_file')->defaultValue('%kernel.project_dir%/.env.%kernel.environment%.local')->end()
|
||||||
->scalarNode('decryption_env_var')->defaultValue('base64:default::SYMFONY_DECRYPTION_SECRET')->end()
|
->scalarNode('decryption_env_var')->defaultValue('base64:default::SYMFONY_DECRYPTION_SECRET')->end()
|
||||||
->end()
|
->end()
|
||||||
->end()
|
->end()
|
||||||
|
@ -1478,7 +1478,9 @@ class FrameworkExtension extends Extension
|
|||||||
|
|
||||||
$container->getDefinition('secrets.vault')->replaceArgument(0, $config['vault_directory']);
|
$container->getDefinition('secrets.vault')->replaceArgument(0, $config['vault_directory']);
|
||||||
|
|
||||||
if (!$config['local_dotenv_file']) {
|
if ($config['local_dotenv_file']) {
|
||||||
|
$container->getDefinition('secrets.local_vault')->replaceArgument(0, $config['local_dotenv_file']);
|
||||||
|
} else {
|
||||||
$container->removeDefinition('secrets.local_vault');
|
$container->removeDefinition('secrets.local_vault');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -7,12 +7,12 @@
|
|||||||
<services>
|
<services>
|
||||||
<service id="secrets.vault" class="Symfony\Bundle\FrameworkBundle\Secrets\SodiumVault">
|
<service id="secrets.vault" class="Symfony\Bundle\FrameworkBundle\Secrets\SodiumVault">
|
||||||
<tag name="container.env_var_loader" />
|
<tag name="container.env_var_loader" />
|
||||||
<argument>%kernel.project_dir%/config/secrets/%kernel.environment%</argument>
|
<argument />
|
||||||
<argument>%env(base64:default::SYMFONY_DECRYPTION_SECRET)%</argument>
|
<argument />
|
||||||
</service>
|
</service>
|
||||||
|
|
||||||
<service id="secrets.local_vault" class="Symfony\Bundle\FrameworkBundle\Secrets\DotenvVault">
|
<service id="secrets.local_vault" class="Symfony\Bundle\FrameworkBundle\Secrets\DotenvVault">
|
||||||
<argument>%kernel.project_dir%/.env.local</argument>
|
<argument />
|
||||||
</service>
|
</service>
|
||||||
</services>
|
</services>
|
||||||
</container>
|
</container>
|
||||||
|
@ -519,7 +519,7 @@ class ConfigurationTest extends TestCase
|
|||||||
'secrets' => [
|
'secrets' => [
|
||||||
'enabled' => true,
|
'enabled' => true,
|
||||||
'vault_directory' => '%kernel.project_dir%/config/secrets/%kernel.environment%',
|
'vault_directory' => '%kernel.project_dir%/config/secrets/%kernel.environment%',
|
||||||
'local_dotenv_file' => '%kernel.project_dir%/.env.local',
|
'local_dotenv_file' => '%kernel.project_dir%/.env.%kernel.environment%.local',
|
||||||
'decryption_env_var' => 'base64:default::SYMFONY_DECRYPTION_SECRET',
|
'decryption_env_var' => 'base64:default::SYMFONY_DECRYPTION_SECRET',
|
||||||
],
|
],
|
||||||
];
|
];
|
||||||
|
Reference in New Issue
Block a user