mirror of
https://github.com/coollabsio/coolify.git
synced 2026-08-28 18:14:35 -05:00
Integrates Valkey as a new standalone database type. This includes adding the necessary model, updating actions to handle Valkey instances, and documenting the integration process.
40 lines
1.2 KiB
PHP
40 lines
1.2 KiB
PHP
<?php
|
|
|
|
namespace App\Actions\Database;
|
|
|
|
use App\Events\DatabaseProxyStopped;
|
|
use App\Models\ServiceDatabase;
|
|
use App\Models\StandaloneClickhouse;
|
|
use App\Models\StandaloneDragonfly;
|
|
use App\Models\StandaloneKeydb;
|
|
use App\Models\StandaloneMariadb;
|
|
use App\Models\StandaloneMongodb;
|
|
use App\Models\StandaloneMysql;
|
|
use App\Models\StandalonePostgresql;
|
|
use App\Models\StandaloneRedis;
|
|
use App\Models\StandaloneValkey;
|
|
use Lorisleiva\Actions\Concerns\AsAction;
|
|
|
|
class StopDatabaseProxy
|
|
{
|
|
use AsAction;
|
|
|
|
public string $jobQueue = 'high';
|
|
|
|
public function handle(StandaloneRedis|StandalonePostgresql|StandaloneMongodb|StandaloneMysql|StandaloneMariadb|StandaloneKeydb|ServiceDatabase|StandaloneDragonfly|StandaloneClickhouse|StandaloneValkey $database)
|
|
{
|
|
$server = data_get($database, 'destination.server');
|
|
$uuid = $database->uuid;
|
|
if ($database->getMorphClass() === \App\Models\ServiceDatabase::class) {
|
|
$uuid = $database->service->uuid;
|
|
$server = data_get($database, 'service.server');
|
|
}
|
|
instant_remote_process(["docker rm -f {$uuid}-proxy"], $server);
|
|
|
|
$database->save();
|
|
|
|
DatabaseProxyStopped::dispatch();
|
|
|
|
}
|
|
}
|