Get rid of many useless blank lines
This commit is contained in:
@@ -39,7 +39,6 @@ class RunRemoteProcess
|
|||||||
*/
|
*/
|
||||||
public function __construct(Activity $activity, bool $hide_from_output = false, bool $ignore_errors = false, $call_event_on_finish = null, $call_event_data = null)
|
public function __construct(Activity $activity, bool $hide_from_output = false, bool $ignore_errors = false, $call_event_on_finish = null, $call_event_data = null)
|
||||||
{
|
{
|
||||||
|
|
||||||
if ($activity->getExtraProperty('type') !== ActivityTypes::INLINE->value && $activity->getExtraProperty('type') !== ActivityTypes::COMMAND->value) {
|
if ($activity->getExtraProperty('type') !== ActivityTypes::INLINE->value && $activity->getExtraProperty('type') !== ActivityTypes::COMMAND->value) {
|
||||||
throw new \RuntimeException('Incompatible Activity to run a remote command.');
|
throw new \RuntimeException('Incompatible Activity to run a remote command.');
|
||||||
}
|
}
|
||||||
|
@@ -70,6 +70,5 @@ class StartProxy
|
|||||||
|
|
||||||
return 'OK';
|
return 'OK';
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -50,7 +50,6 @@ class ConfigureCloudflared
|
|||||||
'rm -fr /tmp/cloudflared',
|
'rm -fr /tmp/cloudflared',
|
||||||
]);
|
]);
|
||||||
instant_remote_process($commands, $server);
|
instant_remote_process($commands, $server);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -64,6 +64,5 @@ class CleanupDatabase extends Command
|
|||||||
if ($this->option('yes')) {
|
if ($this->option('yes')) {
|
||||||
$webhooks->delete();
|
$webhooks->delete();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -26,6 +26,5 @@ class CleanupRedis extends Command
|
|||||||
collect($queueOverlaps)->each(function ($key) {
|
collect($queueOverlaps)->each(function ($key) {
|
||||||
Redis::connection()->del($key);
|
Redis::connection()->del($key);
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -36,7 +36,6 @@ class CleanupStuckedResources extends Command
|
|||||||
|
|
||||||
private function cleanup_stucked_resources()
|
private function cleanup_stucked_resources()
|
||||||
{
|
{
|
||||||
|
|
||||||
try {
|
try {
|
||||||
$servers = Server::all()->filter(function ($server) {
|
$servers = Server::all()->filter(function ($server) {
|
||||||
return $server->isFunctional();
|
return $server->isFunctional();
|
||||||
|
@@ -73,7 +73,6 @@ class CloudCleanupSubscriptions extends Command
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
$this->error($e->getMessage());
|
$this->error($e->getMessage());
|
||||||
|
|
||||||
@@ -95,6 +94,5 @@ class CloudCleanupSubscriptions extends Command
|
|||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -25,7 +25,6 @@ class Dev extends Command
|
|||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function generateOpenApi()
|
public function generateOpenApi()
|
||||||
|
@@ -32,7 +32,6 @@ class Init extends Command
|
|||||||
|
|
||||||
$this->servers = Server::all();
|
$this->servers = Server::all();
|
||||||
if (isCloud()) {
|
if (isCloud()) {
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
$this->send_alive_signal();
|
$this->send_alive_signal();
|
||||||
get_public_ips();
|
get_public_ips();
|
||||||
@@ -120,7 +119,6 @@ class Init extends Command
|
|||||||
} catch (\Throwable $e) {
|
} catch (\Throwable $e) {
|
||||||
echo "Error in cleaning up unnecessary dynamic proxy configuration: {$e->getMessage()}\n";
|
echo "Error in cleaning up unnecessary dynamic proxy configuration: {$e->getMessage()}\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -21,6 +21,5 @@ class OpenApi extends Command
|
|||||||
$error = preg_replace('/^\h*\v+/m', '', $error);
|
$error = preg_replace('/^\h*\v+/m', '', $error);
|
||||||
echo $error;
|
echo $error;
|
||||||
echo $process->output();
|
echo $process->output();
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -1213,7 +1213,6 @@ class ApplicationsController extends Controller
|
|||||||
}
|
}
|
||||||
|
|
||||||
return response()->json(['message' => 'Invalid type.'], 400);
|
return response()->json(['message' => 'Invalid type.'], 400);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#[OA\Get(
|
#[OA\Get(
|
||||||
@@ -1869,18 +1868,15 @@ class ApplicationsController extends Controller
|
|||||||
|
|
||||||
return response()->json($this->removeSensitiveData($env))->setStatusCode(201);
|
return response()->json($this->removeSensitiveData($env))->setStatusCode(201);
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
return response()->json([
|
return response()->json([
|
||||||
'message' => 'Environment variable not found.',
|
'message' => 'Environment variable not found.',
|
||||||
], 404);
|
], 404);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return response()->json([
|
return response()->json([
|
||||||
'message' => 'Something is not okay. Are you okay?',
|
'message' => 'Something is not okay. Are you okay?',
|
||||||
], 500);
|
], 500);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#[OA\Patch(
|
#[OA\Patch(
|
||||||
@@ -2225,14 +2221,12 @@ class ApplicationsController extends Controller
|
|||||||
return response()->json([
|
return response()->json([
|
||||||
'uuid' => $env->uuid,
|
'uuid' => $env->uuid,
|
||||||
])->setStatusCode(201);
|
])->setStatusCode(201);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return response()->json([
|
return response()->json([
|
||||||
'message' => 'Something went wrong.',
|
'message' => 'Something went wrong.',
|
||||||
], 500);
|
], 500);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#[OA\Delete(
|
#[OA\Delete(
|
||||||
@@ -2580,7 +2574,6 @@ class ApplicationsController extends Controller
|
|||||||
'deployment_uuid' => $deployment_uuid->toString(),
|
'deployment_uuid' => $deployment_uuid->toString(),
|
||||||
],
|
],
|
||||||
);
|
);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#[OA\Post(
|
#[OA\Post(
|
||||||
@@ -2746,7 +2739,6 @@ class ApplicationsController extends Controller
|
|||||||
'custom_labels' => 'The custom_labels should be base64 encoded.',
|
'custom_labels' => 'The custom_labels should be base64 encoded.',
|
||||||
],
|
],
|
||||||
], 422);
|
], 422);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ($request->has('domains') && $server->isProxyShouldRun()) {
|
if ($request->has('domains') && $server->isProxyShouldRun()) {
|
||||||
|
@@ -471,7 +471,6 @@ class DatabasesController extends Controller
|
|||||||
$request->offsetSet('mysql_conf', $mysqlConf);
|
$request->offsetSet('mysql_conf', $mysqlConf);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
}
|
}
|
||||||
$extraFields = array_diff(array_keys($request->all()), $allowedFields);
|
$extraFields = array_diff(array_keys($request->all()), $allowedFields);
|
||||||
if ($validator->fails() || ! empty($extraFields)) {
|
if ($validator->fails() || ! empty($extraFields)) {
|
||||||
@@ -506,7 +505,6 @@ class DatabasesController extends Controller
|
|||||||
return response()->json([
|
return response()->json([
|
||||||
'message' => 'Database updated.',
|
'message' => 'Database updated.',
|
||||||
]);
|
]);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#[OA\Post(
|
#[OA\Post(
|
||||||
@@ -1165,7 +1163,6 @@ class DatabasesController extends Controller
|
|||||||
}
|
}
|
||||||
|
|
||||||
return response()->json(serializeApiResponse($payload))->setStatusCode(201);
|
return response()->json(serializeApiResponse($payload))->setStatusCode(201);
|
||||||
|
|
||||||
} elseif ($type === NewDatabaseTypes::MARIADB) {
|
} elseif ($type === NewDatabaseTypes::MARIADB) {
|
||||||
$allowedFields = ['name', 'description', 'image', 'public_port', 'is_public', 'project_uuid', 'environment_name', 'server_uuid', 'destination_uuid', 'instant_deploy', 'limits_memory', 'limits_memory_swap', 'limits_memory_swappiness', 'limits_memory_reservation', 'limits_cpus', 'limits_cpuset', 'limits_cpu_shares', 'mariadb_conf', 'mariadb_root_password', 'mariadb_user', 'mariadb_password', 'mariadb_database'];
|
$allowedFields = ['name', 'description', 'image', 'public_port', 'is_public', 'project_uuid', 'environment_name', 'server_uuid', 'destination_uuid', 'instant_deploy', 'limits_memory', 'limits_memory_swap', 'limits_memory_swappiness', 'limits_memory_reservation', 'limits_cpus', 'limits_cpuset', 'limits_cpu_shares', 'mariadb_conf', 'mariadb_root_password', 'mariadb_user', 'mariadb_password', 'mariadb_database'];
|
||||||
$validator = customApiValidator($request->all(), [
|
$validator = customApiValidator($request->all(), [
|
||||||
@@ -1826,6 +1823,5 @@ class DatabasesController extends Controller
|
|||||||
],
|
],
|
||||||
200
|
200
|
||||||
);
|
);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -356,7 +356,6 @@ class ProjectController extends Controller
|
|||||||
'name' => $project->name,
|
'name' => $project->name,
|
||||||
'description' => $project->description,
|
'description' => $project->description,
|
||||||
])->setStatusCode(201);
|
])->setStatusCode(201);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#[OA\Delete(
|
#[OA\Delete(
|
||||||
|
@@ -1238,6 +1238,5 @@ class ServicesController extends Controller
|
|||||||
],
|
],
|
||||||
200
|
200
|
||||||
);
|
);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -174,7 +174,6 @@ class Gitea extends Controller
|
|||||||
'pull_request_html_url' => $pull_request_html_url,
|
'pull_request_html_url' => $pull_request_html_url,
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
queue_application_deployment(
|
queue_application_deployment(
|
||||||
application: $application,
|
application: $application,
|
||||||
|
@@ -31,7 +31,6 @@ class CheckHelperImageJob implements ShouldBeEncrypted, ShouldQueue
|
|||||||
$settings->update(['helper_version' => $latest_version]);
|
$settings->update(['helper_version' => $latest_version]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
} catch (\Throwable $e) {
|
} catch (\Throwable $e) {
|
||||||
send_internal_notification('CheckHelperImageJob failed with: '.$e->getMessage());
|
send_internal_notification('CheckHelperImageJob failed with: '.$e->getMessage());
|
||||||
throw $e;
|
throw $e;
|
||||||
|
@@ -129,7 +129,6 @@ class DatabaseBackupJob implements ShouldBeEncrypted, ShouldQueue
|
|||||||
if ($this->postgres_password) {
|
if ($this->postgres_password) {
|
||||||
$this->postgres_password = str($this->postgres_password)->after('POSTGRES_PASSWORD=')->value();
|
$this->postgres_password = str($this->postgres_password)->after('POSTGRES_PASSWORD=')->value();
|
||||||
}
|
}
|
||||||
|
|
||||||
} elseif (str($databaseType)->contains('mysql')) {
|
} elseif (str($databaseType)->contains('mysql')) {
|
||||||
$this->container_name = "{$this->database->name}-$serviceUuid";
|
$this->container_name = "{$this->database->name}-$serviceUuid";
|
||||||
$this->directory_name = $serviceName.'-'.$this->container_name;
|
$this->directory_name = $serviceName.'-'.$this->container_name;
|
||||||
|
@@ -167,7 +167,6 @@ class PushServerUpdateJob implements ShouldBeEncrypted, ShouldQueue
|
|||||||
$this->foundServiceDatabaseIds->push($subId);
|
$this->foundServiceDatabaseIds->push($subId);
|
||||||
$this->updateServiceSubStatus($serviceId, $subType, $subId, $containerStatus);
|
$this->updateServiceSubStatus($serviceId, $subType, $subId, $containerStatus);
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
$uuid = $labels->get('com.docker.compose.service');
|
$uuid = $labels->get('com.docker.compose.service');
|
||||||
$type = $labels->get('coolify.type');
|
$type = $labels->get('coolify.type');
|
||||||
@@ -265,7 +264,6 @@ class PushServerUpdateJob implements ShouldBeEncrypted, ShouldQueue
|
|||||||
instant_remote_process($connectProxyToDockerNetworks, $this->server, false);
|
instant_remote_process($connectProxyToDockerNetworks, $this->server, false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private function updateDatabaseStatus(string $databaseUuid, string $containerStatus, bool $tcpProxy = false)
|
private function updateDatabaseStatus(string $databaseUuid, string $containerStatus, bool $tcpProxy = false)
|
||||||
|
@@ -68,7 +68,6 @@ class ScheduledTaskJob implements ShouldQueue
|
|||||||
|
|
||||||
public function handle(): void
|
public function handle(): void
|
||||||
{
|
{
|
||||||
|
|
||||||
try {
|
try {
|
||||||
$this->task_log = ScheduledTaskExecution::create([
|
$this->task_log = ScheduledTaskExecution::create([
|
||||||
'scheduled_task_id' => $this->task->id,
|
'scheduled_task_id' => $this->task->id,
|
||||||
|
@@ -94,11 +94,9 @@ class ServerCheckJob implements ShouldBeEncrypted, ShouldQueue
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
} catch (\Throwable $e) {
|
} catch (\Throwable $e) {
|
||||||
return handleError($e);
|
return handleError($e);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private function checkLogDrainContainer()
|
private function checkLogDrainContainer()
|
||||||
|
@@ -33,10 +33,8 @@ class ServerCleanupMux implements ShouldBeEncrypted, ShouldQueue
|
|||||||
return 'Server is not reachable or not ready.';
|
return 'Server is not reachable or not ready.';
|
||||||
}
|
}
|
||||||
SshMultiplexingHelper::removeMuxFile($this->server);
|
SshMultiplexingHelper::removeMuxFile($this->server);
|
||||||
|
|
||||||
} catch (\Throwable $e) {
|
} catch (\Throwable $e) {
|
||||||
return handleError($e);
|
return handleError($e);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -58,10 +58,8 @@ class ServerStorageCheckJob implements ShouldBeEncrypted, ShouldQueue
|
|||||||
} else {
|
} else {
|
||||||
RateLimiter::hit('high-disk-usage:'.$this->server->id, 600);
|
RateLimiter::hit('high-disk-usage:'.$this->server->id, 600);
|
||||||
}
|
}
|
||||||
|
|
||||||
} catch (\Throwable $e) {
|
} catch (\Throwable $e) {
|
||||||
return handleError($e);
|
return handleError($e);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -41,7 +41,6 @@ class UpdateCoolifyJob implements ShouldBeEncrypted, ShouldQueue
|
|||||||
|
|
||||||
$settings->update(['new_version_available' => false]);
|
$settings->update(['new_version_available' => false]);
|
||||||
Log::info('Coolify update completed successfully.');
|
Log::info('Coolify update completed successfully.');
|
||||||
|
|
||||||
} catch (\Throwable $e) {
|
} catch (\Throwable $e) {
|
||||||
Log::error('UpdateCoolifyJob failed: '.$e->getMessage());
|
Log::error('UpdateCoolifyJob failed: '.$e->getMessage());
|
||||||
// Consider implementing a notification to administrators
|
// Consider implementing a notification to administrators
|
||||||
|
@@ -88,7 +88,6 @@ class Import extends Component
|
|||||||
|
|
||||||
public function runImport()
|
public function runImport()
|
||||||
{
|
{
|
||||||
|
|
||||||
if ($this->filename === '') {
|
if ($this->filename === '') {
|
||||||
$this->dispatch('error', 'Please select a file to import.');
|
$this->dispatch('error', 'Please select a file to import.');
|
||||||
|
|
||||||
|
@@ -51,7 +51,6 @@ class General extends Component
|
|||||||
$this->db_url = $this->database->internal_db_url;
|
$this->db_url = $this->database->internal_db_url;
|
||||||
$this->db_url_public = $this->database->external_db_url;
|
$this->db_url_public = $this->database->external_db_url;
|
||||||
$this->server = data_get($this->database, 'destination.server');
|
$this->server = data_get($this->database, 'destination.server');
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function instantSaveAdvanced()
|
public function instantSaveAdvanced()
|
||||||
|
@@ -57,7 +57,6 @@ class General extends Component
|
|||||||
$this->db_url = $this->database->internal_db_url;
|
$this->db_url = $this->database->internal_db_url;
|
||||||
$this->db_url_public = $this->database->external_db_url;
|
$this->db_url_public = $this->database->external_db_url;
|
||||||
$this->server = data_get($this->database, 'destination.server');
|
$this->server = data_get($this->database, 'destination.server');
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function instantSaveAdvanced()
|
public function instantSaveAdvanced()
|
||||||
|
@@ -55,7 +55,6 @@ class General extends Component
|
|||||||
$this->db_url = $this->database->internal_db_url;
|
$this->db_url = $this->database->internal_db_url;
|
||||||
$this->db_url_public = $this->database->external_db_url;
|
$this->db_url_public = $this->database->external_db_url;
|
||||||
$this->server = data_get($this->database, 'destination.server');
|
$this->server = data_get($this->database, 'destination.server');
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function instantSaveAdvanced()
|
public function instantSaveAdvanced()
|
||||||
|
@@ -99,7 +99,6 @@ class PublicGitRepository extends Component
|
|||||||
$this->base_directory = '/'.$this->base_directory;
|
$this->base_directory = '/'.$this->base_directory;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function updatedDockerComposeLocation()
|
public function updatedDockerComposeLocation()
|
||||||
|
@@ -100,7 +100,6 @@ class Create extends Component
|
|||||||
'is_preview' => false,
|
'is_preview' => false,
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
$service->parse(isNew: true);
|
$service->parse(isNew: true);
|
||||||
|
@@ -48,7 +48,6 @@ class Index extends Component
|
|||||||
} catch (\Throwable $e) {
|
} catch (\Throwable $e) {
|
||||||
return handleError($e, $this);
|
return handleError($e, $this);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function generateDockerCompose()
|
public function generateDockerCompose()
|
||||||
|
@@ -132,7 +132,6 @@ class ExecuteContainerCommand extends Component
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
if ($this->containers->count() > 0) {
|
if ($this->containers->count() > 0) {
|
||||||
$this->container = $this->containers->first();
|
$this->container = $this->containers->first();
|
||||||
@@ -155,7 +154,6 @@ class ExecuteContainerCommand extends Component
|
|||||||
data_get($this->server, 'name'),
|
data_get($this->server, 'name'),
|
||||||
data_get($this->server, 'uuid')
|
data_get($this->server, 'uuid')
|
||||||
);
|
);
|
||||||
|
|
||||||
} catch (\Throwable $e) {
|
} catch (\Throwable $e) {
|
||||||
return handleError($e, $this);
|
return handleError($e, $this);
|
||||||
}
|
}
|
||||||
@@ -185,7 +183,6 @@ class ExecuteContainerCommand extends Component
|
|||||||
data_get($container, 'container.Names'),
|
data_get($container, 'container.Names'),
|
||||||
data_get($container, 'server.uuid')
|
data_get($container, 'server.uuid')
|
||||||
);
|
);
|
||||||
|
|
||||||
} catch (\Throwable $e) {
|
} catch (\Throwable $e) {
|
||||||
return handleError($e, $this);
|
return handleError($e, $this);
|
||||||
}
|
}
|
||||||
|
@@ -109,9 +109,7 @@ class Logs extends Component
|
|||||||
$this->containers = $this->containers->filter(function ($container) {
|
$this->containers = $this->containers->filter(function ($container) {
|
||||||
return str_contains($container, $this->query['pull_request_id']);
|
return str_contains($container, $this->query['pull_request_id']);
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
return handleError($e, $this);
|
return handleError($e, $this);
|
||||||
}
|
}
|
||||||
|
@@ -147,7 +147,6 @@ class ResourceOperations extends Component
|
|||||||
|
|
||||||
return redirect()->to($route);
|
return redirect()->to($route);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function moveTo($environment_id)
|
public function moveTo($environment_id)
|
||||||
|
@@ -100,7 +100,6 @@ class Add extends Component
|
|||||||
} catch (\Throwable $e) {
|
} catch (\Throwable $e) {
|
||||||
return handleError($e, $this);
|
return handleError($e, $this);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function submitFileStorageDirectory()
|
public function submitFileStorageDirectory()
|
||||||
@@ -127,7 +126,6 @@ class Add extends Component
|
|||||||
} catch (\Throwable $e) {
|
} catch (\Throwable $e) {
|
||||||
return handleError($e, $this);
|
return handleError($e, $this);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function submitPersistentVolume()
|
public function submitPersistentVolume()
|
||||||
@@ -144,7 +142,6 @@ class Add extends Component
|
|||||||
'mount_path' => $this->mount_path,
|
'mount_path' => $this->mount_path,
|
||||||
'host_path' => $this->host_path,
|
'host_path' => $this->host_path,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
} catch (\Throwable $e) {
|
} catch (\Throwable $e) {
|
||||||
return handleError($e, $this);
|
return handleError($e, $this);
|
||||||
}
|
}
|
||||||
|
@@ -26,7 +26,6 @@ class Terminal extends Component
|
|||||||
#[On('send-terminal-command')]
|
#[On('send-terminal-command')]
|
||||||
public function sendTerminalCommand($isContainer, $identifier, $serverUuid)
|
public function sendTerminalCommand($isContainer, $identifier, $serverUuid)
|
||||||
{
|
{
|
||||||
|
|
||||||
$server = Server::ownedByCurrentTeam()->whereUuid($serverUuid)->firstOrFail();
|
$server = Server::ownedByCurrentTeam()->whereUuid($serverUuid)->firstOrFail();
|
||||||
|
|
||||||
if ($isContainer) {
|
if ($isContainer) {
|
||||||
|
@@ -37,7 +37,6 @@ class UploadConfig extends Component
|
|||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function render()
|
public function render()
|
||||||
|
@@ -49,7 +49,6 @@ class Charts extends Component
|
|||||||
$this->dispatch("refreshChartData-{$this->chartId}-memory", [
|
$this->dispatch("refreshChartData-{$this->chartId}-memory", [
|
||||||
'seriesData' => $memoryMetrics,
|
'seriesData' => $memoryMetrics,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
} catch (\Throwable $e) {
|
} catch (\Throwable $e) {
|
||||||
return handleError($e, $this);
|
return handleError($e, $this);
|
||||||
}
|
}
|
||||||
|
@@ -86,7 +86,6 @@ class Form extends Component
|
|||||||
$this->server = $server;
|
$this->server = $server;
|
||||||
$this->timezones = collect(timezone_identifiers_list())->sort()->values()->toArray();
|
$this->timezones = collect(timezone_identifiers_list())->sort()->values()->toArray();
|
||||||
$this->wildcard_domain = $this->server->settings->wildcard_domain;
|
$this->wildcard_domain = $this->server->settings->wildcard_domain;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function checkSyncStatus()
|
public function checkSyncStatus()
|
||||||
@@ -169,7 +168,6 @@ class Form extends Component
|
|||||||
public function instantSave()
|
public function instantSave()
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
|
|
||||||
$this->validate();
|
$this->validate();
|
||||||
refresh_server_connection($this->server->privateKey);
|
refresh_server_connection($this->server->privateKey);
|
||||||
$this->validateServer(false);
|
$this->validateServer(false);
|
||||||
|
@@ -51,7 +51,6 @@ class LogDrains extends Component
|
|||||||
|
|
||||||
public function syncData(bool $toModel = false)
|
public function syncData(bool $toModel = false)
|
||||||
{
|
{
|
||||||
|
|
||||||
if ($toModel) {
|
if ($toModel) {
|
||||||
$this->validate();
|
$this->validate();
|
||||||
$this->server->settings->is_logdrain_newrelic_enabled = $this->isLogDrainNewRelicEnabled;
|
$this->server->settings->is_logdrain_newrelic_enabled = $this->isLogDrainNewRelicEnabled;
|
||||||
@@ -78,7 +77,6 @@ class LogDrains extends Component
|
|||||||
$this->logDrainCustomConfig = $this->server->settings->logdrain_custom_config;
|
$this->logDrainCustomConfig = $this->server->settings->logdrain_custom_config;
|
||||||
$this->logDrainCustomConfigParser = $this->server->settings->logdrain_custom_config_parser;
|
$this->logDrainCustomConfigParser = $this->server->settings->logdrain_custom_config_parser;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function instantSave()
|
public function instantSave()
|
||||||
|
@@ -99,7 +99,6 @@ class Proxy extends Component
|
|||||||
} else {
|
} else {
|
||||||
$this->dispatch('traefikDashboardAvailable', false);
|
$this->dispatch('traefikDashboardAvailable', false);
|
||||||
}
|
}
|
||||||
|
|
||||||
} catch (\Throwable $e) {
|
} catch (\Throwable $e) {
|
||||||
return handleError($e, $this);
|
return handleError($e, $this);
|
||||||
}
|
}
|
||||||
|
@@ -47,7 +47,6 @@ class SettingsEmail extends Component
|
|||||||
} else {
|
} else {
|
||||||
return redirect()->route('dashboard');
|
return redirect()->route('dashboard');
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function submitFromFields()
|
public function submitFromFields()
|
||||||
|
@@ -140,7 +140,6 @@ class Change extends Component
|
|||||||
} catch (\Throwable $e) {
|
} catch (\Throwable $e) {
|
||||||
return handleError($e, $this);
|
return handleError($e, $this);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function submit()
|
public function submit()
|
||||||
|
@@ -23,11 +23,9 @@ class Upgrade extends Component
|
|||||||
try {
|
try {
|
||||||
$this->latestVersion = get_latest_version_of_coolify();
|
$this->latestVersion = get_latest_version_of_coolify();
|
||||||
$this->isUpgradeAvailable = data_get(InstanceSettings::get(), 'new_version_available', false);
|
$this->isUpgradeAvailable = data_get(InstanceSettings::get(), 'new_version_available', false);
|
||||||
|
|
||||||
} catch (\Throwable $e) {
|
} catch (\Throwable $e) {
|
||||||
return handleError($e, $this);
|
return handleError($e, $this);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function upgrade()
|
public function upgrade()
|
||||||
|
@@ -15,7 +15,6 @@ class VerifyEmail extends Component
|
|||||||
$this->rateLimit(1, 300);
|
$this->rateLimit(1, 300);
|
||||||
auth()->user()->sendVerificationEmail();
|
auth()->user()->sendVerificationEmail();
|
||||||
$this->dispatch('success', 'Email verification link sent!');
|
$this->dispatch('success', 'Email verification link sent!');
|
||||||
|
|
||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
return handleError($e, $this);
|
return handleError($e, $this);
|
||||||
}
|
}
|
||||||
|
@@ -29,7 +29,6 @@ class Environment extends Model
|
|||||||
foreach ($shared_variables as $shared_variable) {
|
foreach ($shared_variables as $shared_variable) {
|
||||||
$shared_variable->delete();
|
$shared_variable->delete();
|
||||||
}
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -162,7 +162,6 @@ class EnvironmentVariable extends Model
|
|||||||
$environment_variable = trim($environment_variable);
|
$environment_variable = trim($environment_variable);
|
||||||
$sharedEnvsFound = str($environment_variable)->matchAll('/{{(.*?)}}/');
|
$sharedEnvsFound = str($environment_variable)->matchAll('/{{(.*?)}}/');
|
||||||
if ($sharedEnvsFound->isEmpty()) {
|
if ($sharedEnvsFound->isEmpty()) {
|
||||||
|
|
||||||
return $environment_variable;
|
return $environment_variable;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -36,7 +36,6 @@ class InstanceSettings extends Model implements SendsEmail
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function fqdn(): Attribute
|
public function fqdn(): Attribute
|
||||||
|
@@ -72,7 +72,6 @@ class LocalFileVolume extends BaseModel
|
|||||||
if ($path && $path != '/' && $path != '.' && $path != '..') {
|
if ($path && $path != '/' && $path != '.' && $path != '..') {
|
||||||
if ($isFile === 'OK') {
|
if ($isFile === 'OK') {
|
||||||
$commands->push("rm -rf $path > /dev/null 2>&1 || true");
|
$commands->push("rm -rf $path > /dev/null 2>&1 || true");
|
||||||
|
|
||||||
} elseif ($isDir === 'OK') {
|
} elseif ($isDir === 'OK') {
|
||||||
$commands->push("rm -rf $path > /dev/null 2>&1 || true");
|
$commands->push("rm -rf $path > /dev/null 2>&1 || true");
|
||||||
$commands->push("rmdir $path > /dev/null 2>&1 || true");
|
$commands->push("rmdir $path > /dev/null 2>&1 || true");
|
||||||
|
@@ -1095,7 +1095,6 @@ class Service extends BaseModel
|
|||||||
}
|
}
|
||||||
$fields->put('MariaDB', $data->toArray());
|
$fields->put('MariaDB', $data->toArray());
|
||||||
break;
|
break;
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1304,7 +1303,6 @@ class Service extends BaseModel
|
|||||||
} else {
|
} else {
|
||||||
return collect([]);
|
return collect([]);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function networks()
|
public function networks()
|
||||||
|
@@ -30,7 +30,6 @@ class TaskFailed extends Notification implements ShouldQueue
|
|||||||
|
|
||||||
public function via(object $notifiable): array
|
public function via(object $notifiable): array
|
||||||
{
|
{
|
||||||
|
|
||||||
return setNotificationChannels($notifiable, 'scheduled_tasks');
|
return setNotificationChannels($notifiable, 'scheduled_tasks');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -28,7 +28,6 @@ function serializeApiResponse($data)
|
|||||||
if ($created_at) {
|
if ($created_at) {
|
||||||
unset($d['created_at']);
|
unset($d['created_at']);
|
||||||
$d['created_at'] = $created_at;
|
$d['created_at'] = $created_at;
|
||||||
|
|
||||||
}
|
}
|
||||||
if ($updated_at) {
|
if ($updated_at) {
|
||||||
unset($d['updated_at']);
|
unset($d['updated_at']);
|
||||||
@@ -59,7 +58,6 @@ function serializeApiResponse($data)
|
|||||||
if ($created_at) {
|
if ($created_at) {
|
||||||
unset($d['created_at']);
|
unset($d['created_at']);
|
||||||
$d['created_at'] = $created_at;
|
$d['created_at'] = $created_at;
|
||||||
|
|
||||||
}
|
}
|
||||||
if ($updated_at) {
|
if ($updated_at) {
|
||||||
unset($d['updated_at']);
|
unset($d['updated_at']);
|
||||||
|
@@ -581,7 +581,6 @@ function generateLabelsApplication(Application $application, ?ApplicationPreview
|
|||||||
redirect_direction: $application->redirect
|
redirect_direction: $application->redirect
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (data_get($preview, 'fqdn')) {
|
if (data_get($preview, 'fqdn')) {
|
||||||
@@ -633,7 +632,6 @@ function generateLabelsApplication(Application $application, ?ApplicationPreview
|
|||||||
is_stripprefix_enabled: $application->isStripprefixEnabled()
|
is_stripprefix_enabled: $application->isStripprefixEnabled()
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return $labels->all();
|
return $labels->all();
|
||||||
|
@@ -21,7 +21,6 @@ function collectProxyDockerNetworksByServer(Server $server)
|
|||||||
})->flatten()->unique();
|
})->flatten()->unique();
|
||||||
|
|
||||||
return $networks;
|
return $networks;
|
||||||
|
|
||||||
}
|
}
|
||||||
function collectDockerNetworksByServer(Server $server)
|
function collectDockerNetworksByServer(Server $server)
|
||||||
{
|
{
|
||||||
|
@@ -3188,7 +3188,6 @@ function newParser(Application|Service $resource, int $pull_request_id = 0, ?int
|
|||||||
'is_build_time' => false,
|
'is_build_time' => false,
|
||||||
'is_preview' => false,
|
'is_preview' => false,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
$value = generateEnvValue($command, $resource);
|
$value = generateEnvValue($command, $resource);
|
||||||
$resource->environment_variables()->where('key', $key->value())->where($nameOfId, $resource->id)->firstOrCreate([
|
$resource->environment_variables()->where('key', $key->value())->where($nameOfId, $resource->id)->firstOrCreate([
|
||||||
@@ -3616,7 +3615,6 @@ function newParser(Application|Service $resource, int $pull_request_id = 0, ?int
|
|||||||
'is_required' => $isRequired,
|
'is_required' => $isRequired,
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ($isApplication) {
|
if ($isApplication) {
|
||||||
@@ -3980,7 +3978,6 @@ function convertComposeEnvironmentToArray($environment)
|
|||||||
}
|
}
|
||||||
|
|
||||||
return $convertedServiceVariables;
|
return $convertedServiceVariables;
|
||||||
|
|
||||||
}
|
}
|
||||||
function instanceSettings()
|
function instanceSettings()
|
||||||
{
|
{
|
||||||
@@ -3989,7 +3986,6 @@ function instanceSettings()
|
|||||||
|
|
||||||
function loadConfigFromGit(string $repository, string $branch, string $base_directory, int $server_id, int $team_id)
|
function loadConfigFromGit(string $repository, string $branch, string $base_directory, int $server_id, int $team_id)
|
||||||
{
|
{
|
||||||
|
|
||||||
$server = Server::find($server_id)->where('team_id', $team_id)->first();
|
$server = Server::find($server_id)->where('team_id', $team_id)->first();
|
||||||
if (! $server) {
|
if (! $server) {
|
||||||
return;
|
return;
|
||||||
|
@@ -13,7 +13,6 @@ return new class extends Migration
|
|||||||
{
|
{
|
||||||
Schema::table('subscriptions', function (Blueprint $table) {
|
Schema::table('subscriptions', function (Blueprint $table) {
|
||||||
$table->string('stripe_plan_id')->nullable()->after('stripe_cancel_at_period_end');
|
$table->string('stripe_plan_id')->nullable()->after('stripe_cancel_at_period_end');
|
||||||
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -14,7 +14,6 @@ return new class extends Migration
|
|||||||
Schema::table('subscriptions', function (Blueprint $table) {
|
Schema::table('subscriptions', function (Blueprint $table) {
|
||||||
$table->string('stripe_feedback')->nullable()->after('stripe_cancel_at_period_end');
|
$table->string('stripe_feedback')->nullable()->after('stripe_cancel_at_period_end');
|
||||||
$table->string('stripe_comment')->nullable()->after('stripe_feedback');
|
$table->string('stripe_comment')->nullable()->after('stripe_feedback');
|
||||||
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -13,7 +13,6 @@ return new class extends Migration
|
|||||||
{
|
{
|
||||||
Schema::table('subscriptions', function (Blueprint $table) {
|
Schema::table('subscriptions', function (Blueprint $table) {
|
||||||
$table->boolean('stripe_trial_already_ended')->default(false)->after('stripe_cancel_at_period_end');
|
$table->boolean('stripe_trial_already_ended')->default(false)->after('stripe_cancel_at_period_end');
|
||||||
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -13,7 +13,6 @@ return new class extends Migration
|
|||||||
{
|
{
|
||||||
Schema::table('team_invitations', function (Blueprint $table) {
|
Schema::table('team_invitations', function (Blueprint $table) {
|
||||||
$table->text('link')->change();
|
$table->text('link')->change();
|
||||||
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -16,7 +16,6 @@ return new class extends Migration
|
|||||||
$table->longText('description')->nullable();
|
$table->longText('description')->nullable();
|
||||||
$table->longText('docker_compose_raw');
|
$table->longText('docker_compose_raw');
|
||||||
$table->longText('docker_compose')->nullable();
|
$table->longText('docker_compose')->nullable();
|
||||||
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -13,7 +13,6 @@ return new class extends Migration
|
|||||||
{
|
{
|
||||||
Schema::table('environment_variables', function (Blueprint $table) {
|
Schema::table('environment_variables', function (Blueprint $table) {
|
||||||
$table->foreignId('service_id')->nullable();
|
$table->foreignId('service_id')->nullable();
|
||||||
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -14,7 +14,6 @@ return new class extends Migration
|
|||||||
Schema::table('services', function (Blueprint $table) {
|
Schema::table('services', function (Blueprint $table) {
|
||||||
$table->dropColumn('destination_type');
|
$table->dropColumn('destination_type');
|
||||||
$table->dropColumn('destination_id');
|
$table->dropColumn('destination_id');
|
||||||
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -26,6 +26,5 @@ return new class extends Migration
|
|||||||
$table->dropColumn('unreachable_email_sent');
|
$table->dropColumn('unreachable_email_sent');
|
||||||
$table->integer('unreachable_count')->default(0);
|
$table->integer('unreachable_count')->default(0);
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@@ -22,7 +22,6 @@ return new class extends Migration
|
|||||||
$table->boolean('is_logdrain_axiom_enabled')->default(false);
|
$table->boolean('is_logdrain_axiom_enabled')->default(false);
|
||||||
$table->string('logdrain_axiom_dataset_name')->nullable();
|
$table->string('logdrain_axiom_dataset_name')->nullable();
|
||||||
$table->string('logdrain_axiom_api_key')->nullable();
|
$table->string('logdrain_axiom_api_key')->nullable();
|
||||||
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -66,6 +66,5 @@ return new class extends Migration
|
|||||||
Schema::table('service_databases', function (Blueprint $table) {
|
Schema::table('service_databases', function (Blueprint $table) {
|
||||||
$table->dropSoftDeletes();
|
$table->dropSoftDeletes();
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@@ -14,7 +14,6 @@ return new class extends Migration
|
|||||||
Schema::table('applications', function (Blueprint $table) {
|
Schema::table('applications', function (Blueprint $table) {
|
||||||
$table->string('docker_compose_custom_start_command')->nullable();
|
$table->string('docker_compose_custom_start_command')->nullable();
|
||||||
$table->string('docker_compose_custom_build_command')->nullable();
|
$table->string('docker_compose_custom_build_command')->nullable();
|
||||||
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -13,7 +13,6 @@ return new class extends Migration
|
|||||||
{
|
{
|
||||||
Schema::table('applications', function (Blueprint $table) {
|
Schema::table('applications', function (Blueprint $table) {
|
||||||
$table->text('custom_docker_run_options')->nullable()->change();
|
$table->text('custom_docker_run_options')->nullable()->change();
|
||||||
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -13,7 +13,6 @@ return new class extends Migration
|
|||||||
{
|
{
|
||||||
Schema::table('application_settings', function (Blueprint $table) {
|
Schema::table('application_settings', function (Blueprint $table) {
|
||||||
$table->boolean('connect_to_docker_network')->default(false);
|
$table->boolean('connect_to_docker_network')->default(false);
|
||||||
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -13,7 +13,6 @@ return new class extends Migration
|
|||||||
{
|
{
|
||||||
Schema::table('applications', function (Blueprint $table) {
|
Schema::table('applications', function (Blueprint $table) {
|
||||||
$table->string('manual_webhook_secret_gitea')->nullable();
|
$table->string('manual_webhook_secret_gitea')->nullable();
|
||||||
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -30,7 +30,6 @@ class AddServerCleanupFieldsToServerSettingsTable extends Migration
|
|||||||
$serverSetting->docker_cleanup_threshold = $serverSetting->cleanup_after_percentage;
|
$serverSetting->docker_cleanup_threshold = $serverSetting->cleanup_after_percentage;
|
||||||
$serverSetting->save();
|
$serverSetting->save();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -20,6 +20,5 @@ class EncryptExistingPrivateKeys extends Migration
|
|||||||
echo 'Encrypting private keys failed.';
|
echo 'Encrypting private keys failed.';
|
||||||
echo $e->getMessage();
|
echo $e->getMessage();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -126,7 +126,6 @@ class ProductionSeeder extends Seeder
|
|||||||
echo "Your localhost connection won't work until then.";
|
echo "Your localhost connection won't work until then.";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
if (config('coolify.is_windows_docker_desktop')) {
|
if (config('coolify.is_windows_docker_desktop')) {
|
||||||
PrivateKey::updateOrCreate(
|
PrivateKey::updateOrCreate(
|
||||||
@@ -187,6 +186,5 @@ uZx9iFkCELtxrh31QJ68AAAAEXNhaWxANzZmZjY2ZDJlMmRkAQIDBA==
|
|||||||
$this->call(OauthSettingSeeder::class);
|
$this->call(OauthSettingSeeder::class);
|
||||||
$this->call(PopulateSshKeysDirectorySeeder::class);
|
$this->call(PopulateSshKeysDirectorySeeder::class);
|
||||||
$this->call(SentinelSeeder::class);
|
$this->call(SentinelSeeder::class);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -128,7 +128,6 @@ Route::group([
|
|||||||
Route::match(['get', 'post'], '/services/{uuid}/start', [ServicesController::class, 'action_deploy'])->middleware([IgnoreReadOnlyApiToken::class]);
|
Route::match(['get', 'post'], '/services/{uuid}/start', [ServicesController::class, 'action_deploy'])->middleware([IgnoreReadOnlyApiToken::class]);
|
||||||
Route::match(['get', 'post'], '/services/{uuid}/restart', [ServicesController::class, 'action_restart'])->middleware([IgnoreReadOnlyApiToken::class]);
|
Route::match(['get', 'post'], '/services/{uuid}/restart', [ServicesController::class, 'action_restart'])->middleware([IgnoreReadOnlyApiToken::class]);
|
||||||
Route::match(['get', 'post'], '/services/{uuid}/stop', [ServicesController::class, 'action_stop'])->middleware([IgnoreReadOnlyApiToken::class]);
|
Route::match(['get', 'post'], '/services/{uuid}/stop', [ServicesController::class, 'action_stop'])->middleware([IgnoreReadOnlyApiToken::class]);
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
Route::group([
|
Route::group([
|
||||||
|
Reference in New Issue
Block a user