diff --git a/src/App/Container.php b/src/App/Container.php index beedcde3f2..e1e210220f 100644 --- a/src/App/Container.php +++ b/src/App/Container.php @@ -325,6 +325,7 @@ function () { $this->container->make(DeployProcess\InstallUpdate\ConfigUpdate\CronConsumersRunner::class), $this->container->make(DeployProcess\InstallUpdate\ConfigUpdate\DbConnection::class), $this->container->make(DeployProcess\InstallUpdate\ConfigUpdate\Amqp::class), + $this->container->make(DeployProcess\InstallUpdate\ConfigUpdate\Storage::class), $this->container->make(DeployProcess\InstallUpdate\ConfigUpdate\Session::class), $this->container->make(DeployProcess\InstallUpdate\ConfigUpdate\SearchEngine::class), $this->container->make(DeployProcess\InstallUpdate\ConfigUpdate\Urls::class), diff --git a/src/Config/Schema.php b/src/Config/Schema.php index 83611c6a16..ca29a3f9a9 100644 --- a/src/Config/Schema.php +++ b/src/Config/Schema.php @@ -413,6 +413,16 @@ public function getSchema() StageConfigInterface::STAGE_DEPLOY => [], ], ], + DeployInterface::VAR_STORAGE_CONFIGURATION => [ + self::SCHEMA_TYPE => ['array'], + self::SCHEMA_STAGE => [ + StageConfigInterface::STAGE_GLOBAL, + StageConfigInterface::STAGE_DEPLOY + ], + self::SCHEMA_DEFAULT_VALUE => [ + StageConfigInterface::STAGE_DEPLOY => [], + ], + ], DeployInterface::VAR_RESOURCE_CONFIGURATION => [ self::SCHEMA_TYPE => ['array'], self::SCHEMA_STAGE => [ diff --git a/src/Config/Stage/DeployInterface.php b/src/Config/Stage/DeployInterface.php index 7cad63d161..5772acce84 100644 --- a/src/Config/Stage/DeployInterface.php +++ b/src/Config/Stage/DeployInterface.php @@ -18,6 +18,7 @@ interface DeployInterface extends StageConfigInterface const VAR_CACHE_CONFIGURATION = 'CACHE_CONFIGURATION'; const VAR_SESSION_CONFIGURATION = 'SESSION_CONFIGURATION'; const VAR_DATABASE_CONFIGURATION = 'DATABASE_CONFIGURATION'; + const VAR_STORAGE_CONFIGURATION = 'STORAGE_CONFIGURATION'; const VAR_RESOURCE_CONFIGURATION = 'RESOURCE_CONFIGURATION'; const VAR_CRON_CONSUMERS_RUNNER = 'CRON_CONSUMERS_RUNNER'; const VAR_CONSUMERS_WAIT_FOR_MAX_MESSAGES = 'CONSUMERS_WAIT_FOR_MAX_MESSAGES'; diff --git a/src/Process/Deploy/InstallUpdate/ConfigUpdate/Storage.php b/src/Process/Deploy/InstallUpdate/ConfigUpdate/Storage.php new file mode 100644 index 0000000000..9b148fa8e3 --- /dev/null +++ b/src/Process/Deploy/InstallUpdate/ConfigUpdate/Storage.php @@ -0,0 +1,61 @@ +configReader = $configReader; + $this->configWriter = $configWriter; + $this->logger = $logger; + $this->storageConfig = $storageConfig; + } + + + /** + * Executes the step. + * + * @return void + */ + public function execute() + { + $config = $this->configReader->read(); + $this->logger->info('Updating storage configuration.'); + + $config['storage'] = $this->storageConfig->get(); + + $this->configWriter->create($config); + } +} diff --git a/src/Process/Deploy/InstallUpdate/ConfigUpdate/Storage/Config.php b/src/Process/Deploy/InstallUpdate/ConfigUpdate/Storage/Config.php new file mode 100644 index 0000000000..4c2c443e1e --- /dev/null +++ b/src/Process/Deploy/InstallUpdate/ConfigUpdate/Storage/Config.php @@ -0,0 +1,29 @@ +stageConfig = $stageConfig; + } + + public function get(): array + { + $envStorageConfiguration = (array)$this->stageConfig->get(DeployInterface::VAR_STORAGE_CONFIGURATION); + return $envStorageConfiguration; + } +}