mirror of
https://github.com/nextcloud/all-in-one.git
synced 2025-10-03 03:56:38 +08:00
Merge pull request #3191 from nextcloud/enh/1581/image_tag
add image_tag to containers definition
This commit is contained in:
commit
b890fc211f
4 changed files with 26 additions and 2 deletions
|
@ -96,6 +96,10 @@
|
|||
"pattern": "^[A-Z_]+$"
|
||||
}
|
||||
},
|
||||
"image_tag": {
|
||||
"type": "string",
|
||||
"pattern": "^[a-z0-9.-]+$"
|
||||
},
|
||||
"devices": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
|
|
|
@ -33,6 +33,7 @@ class Container {
|
|||
private bool $readOnlyRootFs;
|
||||
private array $tmpfs;
|
||||
private bool $init;
|
||||
private string $imageTag;
|
||||
private DockerActionManager $dockerActionManager;
|
||||
|
||||
public function __construct(
|
||||
|
@ -56,6 +57,7 @@ class Container {
|
|||
bool $readOnlyRootFs,
|
||||
array $tmpfs,
|
||||
bool $init,
|
||||
string $imageTag,
|
||||
DockerActionManager $dockerActionManager
|
||||
) {
|
||||
$this->identifier = $identifier;
|
||||
|
@ -78,6 +80,7 @@ class Container {
|
|||
$this->readOnlyRootFs = $readOnlyRootFs;
|
||||
$this->tmpfs = $tmpfs;
|
||||
$this->init = $init;
|
||||
$this->imageTag = $imageTag;
|
||||
$this->dockerActionManager = $dockerActionManager;
|
||||
}
|
||||
|
||||
|
@ -97,6 +100,10 @@ class Container {
|
|||
return $this->restartPolicy;
|
||||
}
|
||||
|
||||
public function GetImageTag() : string {
|
||||
return $this->imageTag;
|
||||
}
|
||||
|
||||
public function GetReadOnlySetting() : bool {
|
||||
return $this->readOnlyRootFs;
|
||||
}
|
||||
|
|
|
@ -277,6 +277,11 @@ class ContainerDefinitionFetcher
|
|||
$init = $entry['init'];
|
||||
}
|
||||
|
||||
$imageTag = '';
|
||||
if (isset($entry['image_tag'])) {
|
||||
$imageTag = $entry['image_tag'];
|
||||
}
|
||||
|
||||
$containers[] = new Container(
|
||||
$entry['container_name'],
|
||||
$displayName,
|
||||
|
@ -298,6 +303,7 @@ class ContainerDefinitionFetcher
|
|||
$readOnlyRootFs,
|
||||
$tmpfs,
|
||||
$init,
|
||||
$imageTag,
|
||||
$this->container->get(DockerActionManager::class)
|
||||
);
|
||||
}
|
||||
|
|
|
@ -48,7 +48,11 @@ class DockerActionManager
|
|||
}
|
||||
|
||||
private function BuildImageName(Container $container) : string {
|
||||
return $container->GetContainerName() . ':' . $this->GetCurrentChannel();
|
||||
$tag = $container->GetImageTag();
|
||||
if ($tag === '') {
|
||||
$tag = $this->GetCurrentChannel();
|
||||
}
|
||||
return $container->GetContainerName() . ':' . $tag;
|
||||
}
|
||||
|
||||
public function GetContainerRunningState(Container $container) : IContainerState
|
||||
|
@ -95,7 +99,10 @@ class DockerActionManager
|
|||
|
||||
public function GetContainerUpdateState(Container $container) : IContainerState
|
||||
{
|
||||
$tag = $this->GetCurrentChannel();
|
||||
$tag = $container->GetImageTag();
|
||||
if ($tag === '') {
|
||||
$tag = $this->GetCurrentChannel();
|
||||
}
|
||||
|
||||
$runningDigests = $this->GetRepoDigestsOfContainer($container->GetIdentifier());
|
||||
if ($runningDigests === null) {
|
||||
|
|
Loading…
Add table
Reference in a new issue