feat(sentinel): add support for custom Docker images in StartSentinel and related methods
This commit is contained in:
parent
08d257535a
commit
4027c1426c
3 changed files with 13 additions and 7 deletions
|
|
@ -10,7 +10,7 @@ class StartSentinel
|
|||
{
|
||||
use AsAction;
|
||||
|
||||
public function handle(Server $server, bool $restart = false, ?string $latestVersion = null)
|
||||
public function handle(Server $server, bool $restart = false, ?string $latestVersion = null, ?string $customImage = null)
|
||||
{
|
||||
if ($server->isSwarm() || $server->isBuildServer()) {
|
||||
return;
|
||||
|
|
@ -44,7 +44,9 @@ public function handle(Server $server, bool $restart = false, ?string $latestVer
|
|||
];
|
||||
if (isDev()) {
|
||||
// data_set($environments, 'DEBUG', 'true');
|
||||
// $image = 'sentinel';
|
||||
if ($customImage && ! empty($customImage)) {
|
||||
$image = $customImage;
|
||||
}
|
||||
$mountDir = '/var/lib/docker/volumes/coolify_dev_coolify_data/_data/sentinel';
|
||||
}
|
||||
$dockerEnvironments = '-e "'.implode('" -e "', array_map(fn ($key, $value) => "$key=$value", array_keys($environments), $environments)).'"';
|
||||
|
|
|
|||
|
|
@ -63,6 +63,8 @@ class Show extends Component
|
|||
|
||||
public bool $isSentinelDebugEnabled;
|
||||
|
||||
public ?string $sentinelCustomDockerImage = null;
|
||||
|
||||
public string $serverTimezone;
|
||||
|
||||
public function getListeners()
|
||||
|
|
@ -267,7 +269,8 @@ public function restartSentinel()
|
|||
{
|
||||
try {
|
||||
$this->authorize('manageSentinel', $this->server);
|
||||
$this->server->restartSentinel();
|
||||
$customImage = isDev() ? $this->sentinelCustomDockerImage : null;
|
||||
$this->server->restartSentinel($customImage);
|
||||
$this->dispatch('success', 'Restarting Sentinel.');
|
||||
} catch (\Throwable $e) {
|
||||
return handleError($e, $this);
|
||||
|
|
@ -300,7 +303,8 @@ public function updatedIsSentinelEnabled($value)
|
|||
try {
|
||||
$this->authorize('manageSentinel', $this->server);
|
||||
if ($value === true) {
|
||||
StartSentinel::run($this->server, true);
|
||||
$customImage = isDev() ? $this->sentinelCustomDockerImage : null;
|
||||
StartSentinel::run($this->server, true, null, $customImage);
|
||||
} else {
|
||||
$this->isMetricsEnabled = false;
|
||||
$this->isSentinelDebugEnabled = false;
|
||||
|
|
|
|||
|
|
@ -1252,13 +1252,13 @@ public function isIpv6(): bool
|
|||
return str($this->ip)->contains(':');
|
||||
}
|
||||
|
||||
public function restartSentinel(bool $async = true)
|
||||
public function restartSentinel(?string $customImage = null, bool $async = true)
|
||||
{
|
||||
try {
|
||||
if ($async) {
|
||||
StartSentinel::dispatch($this, true);
|
||||
StartSentinel::dispatch($this, true, null, $customImage);
|
||||
} else {
|
||||
StartSentinel::run($this, true);
|
||||
StartSentinel::run($this, true, null, $customImage);
|
||||
}
|
||||
} catch (\Throwable $e) {
|
||||
return handleError($e);
|
||||
|
|
|
|||
Loading…
Reference in a new issue