Merge pull request #5945 from nextcloud/enh/5938/show-secret-in-interface

containers-schema: allow to specify ui-secret and show in aio interface
This commit is contained in:
Simon L. 2025-01-28 10:36:50 +01:00 committed by GitHub
commit 1eebe6fd60
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
16 changed files with 42 additions and 4 deletions

View file

@ -21,6 +21,7 @@ readonly class Container {
private array $dependsOn,
/** @var string[] */
private array $secrets,
private string $uiSecret,
/** @var string[] */
private array $devices,
private bool $enableNvidiaGpu,
@ -85,6 +86,10 @@ readonly class Container {
return $this->secrets;
}
public function GetUiSecret() : string {
return $this->dockerActionManager->GetAndGenerateSecretWrapper($this->uiSecret);
}
public function GetTmpfs() : array {
return $this->tmpfs;
}

View file

@ -244,6 +244,11 @@ readonly class ContainerDefinitionFetcher {
$secrets = $entry['secrets'];
}
$uiSecret = '';
if (isset($entry['ui_secret'])) {
$uiSecret = $entry['ui_secret'];
}
$devices = [];
if (isset($entry['devices'])) {
$devices = $entry['devices'];
@ -316,6 +321,7 @@ readonly class ContainerDefinitionFetcher {
$variables,
$dependsOn,
$secrets,
$uiSecret,
$devices,
$enableNvidiaGpu,
$capAdd,

View file

@ -33,6 +33,10 @@ class ConfigurationManager
}
public function GetAndGenerateSecret(string $secretId) : string {
if ($secretId === '') {
return '';
}
$config = $this->GetConfig();
if(!isset($config['secrets'][$secretId])) {
$config['secrets'][$secretId] = bin2hex(random_bytes(24));

View file

@ -1032,6 +1032,10 @@ readonly class DockerActionManager {
}
}
public function GetAndGenerateSecretWrapper(string $secretId) : string {
return $this->configurationManager->GetAndGenerateSecret($secretId);
}
public function isNextcloudImageOutdated() : bool {
$createdTime = $this->GetCreatedTimeOfNextcloudImage();