add image_tag to containers definition

Signed-off-by: Simon L <szaimen@e.mail.de>
This commit is contained in:
Simon L 2023-08-17 16:28:42 +02:00
parent 2cf6c7401e
commit c69a5d2065
4 changed files with 26 additions and 2 deletions

View file

@ -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;
}

View file

@ -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)
);
}

View file

@ -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) {