Implement Keystone environment deployments
This commit is contained in:
@@ -2,7 +2,9 @@
|
||||
|
||||
namespace App\Drivers;
|
||||
|
||||
use App\Data\Deployments\Plan;
|
||||
use App\Data\Operations\Plan;
|
||||
use App\Data\Operations\PlannedStep;
|
||||
use App\Enums\ServiceType;
|
||||
use App\Models\Service;
|
||||
|
||||
abstract class Driver
|
||||
@@ -19,5 +21,41 @@ abstract class Driver
|
||||
?Service $service = null,
|
||||
);
|
||||
|
||||
abstract public function getDeploymentPlan(string $deploymentHash): Plan;
|
||||
abstract public function getOperationPlan(string $operationHash): Plan;
|
||||
|
||||
abstract public function serviceType(): ServiceType;
|
||||
|
||||
abstract public function versionTrack(): string;
|
||||
|
||||
abstract public function defaultImage(): string;
|
||||
|
||||
/**
|
||||
* @return array<int, int>
|
||||
*/
|
||||
abstract public function defaultPorts(): array;
|
||||
|
||||
/**
|
||||
* @return array<int, string>
|
||||
*/
|
||||
abstract public function firewallRules(): array;
|
||||
|
||||
/**
|
||||
* @return array<string, string>
|
||||
*/
|
||||
abstract public function environmentSchema(): array;
|
||||
|
||||
/**
|
||||
* @return array{cpu?: string, memory_mb?: int}
|
||||
*/
|
||||
abstract public function resourceDefaults(): array;
|
||||
|
||||
abstract public function updateBehavior(): string;
|
||||
|
||||
/**
|
||||
* @return array<int, PlannedStep>
|
||||
*/
|
||||
public function preSwitchSteps(): array
|
||||
{
|
||||
return [];
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user