From 56f542c36bd7d3204139978c9e530895f1ac8167 Mon Sep 17 00:00:00 2001 From: Thomas Calvet Date: Tue, 10 Dec 2019 16:24:44 +0100 Subject: [PATCH] [FrameworkBundle][Secrets] Hook configured local dotenv file --- .../FrameworkBundle/DependencyInjection/Configuration.php | 2 +- .../DependencyInjection/FrameworkExtension.php | 4 +++- .../Bundle/FrameworkBundle/Resources/config/secrets.xml | 6 +++--- .../Tests/DependencyInjection/ConfigurationTest.php | 2 +- 4 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Configuration.php b/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Configuration.php index 827b306bcf..c4a3c6f534 100644 --- a/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Configuration.php +++ b/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Configuration.php @@ -129,7 +129,7 @@ class Configuration implements ConfigurationInterface ->canBeDisabled() ->children() ->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() ->end() ->end() diff --git a/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php b/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php index 1832d962d2..6c282f1ed5 100644 --- a/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php +++ b/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php @@ -1478,7 +1478,9 @@ class FrameworkExtension extends Extension $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'); } diff --git a/src/Symfony/Bundle/FrameworkBundle/Resources/config/secrets.xml b/src/Symfony/Bundle/FrameworkBundle/Resources/config/secrets.xml index f70243dd84..65fd1073fd 100644 --- a/src/Symfony/Bundle/FrameworkBundle/Resources/config/secrets.xml +++ b/src/Symfony/Bundle/FrameworkBundle/Resources/config/secrets.xml @@ -7,12 +7,12 @@ - %kernel.project_dir%/config/secrets/%kernel.environment% - %env(base64:default::SYMFONY_DECRYPTION_SECRET)% + + - %kernel.project_dir%/.env.local + diff --git a/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/ConfigurationTest.php b/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/ConfigurationTest.php index 5356ffe486..aff4e5ea41 100644 --- a/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/ConfigurationTest.php +++ b/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/ConfigurationTest.php @@ -519,7 +519,7 @@ class ConfigurationTest extends TestCase 'secrets' => [ 'enabled' => true, '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', ], ];