mirror of
https://github.com/tiennm99/coolify.git
synced 2026-10-11 03:13:17 +00:00
feat(v5): add server reconciliation and canvas APIs
Split V5 dashboard behavior into domain controllers and policies, add agent token rotation/revocation, status reconciliation jobs, ingress firewall syncing, and canvas connection APIs. Add migrations for V5 status tracking, server capabilities, resource connection aliases, and revoked agent tokens.
This commit is contained in:
1 parent
df854feee8
commit
6ae45684f9
147 files changed
+22444
-10407
No files matched your search
+26
-21
@@ -1,6 +1,10 @@
|
||||
<?php
|
||||
|
||||
use App\Http\Controllers\V5\ApplicationController;
|
||||
use App\Http\Controllers\V5\ClusterController;
|
||||
use App\Http\Controllers\V5\DashboardController;
|
||||
use App\Http\Controllers\V5\ResourceConnectionController;
|
||||
use App\Http\Controllers\V5\ServerController;
|
||||
use Illuminate\Support\Facades\Route;
|
||||
|
||||
Route::middleware('v5.authenticated')->group(function () {
|
||||
@@ -8,25 +12,26 @@ Route::middleware('v5.authenticated')->group(function () {
|
||||
Route::get('/realtime-test', [DashboardController::class, 'realtimeTest'])->name('realtime-test');
|
||||
Route::post('/realtime-test', [DashboardController::class, 'broadcastRealtimeTest'])->name('realtime-test.broadcast');
|
||||
Route::post('/selection', [DashboardController::class, 'updateSelection'])->name('selection.update');
|
||||
Route::post('/applications/nginx', [DashboardController::class, 'storeNginxApplication'])->name('applications.nginx');
|
||||
Route::post('/applications/refresh', [DashboardController::class, 'refreshApplications'])->name('applications.refresh');
|
||||
Route::delete('/applications/{application}', [DashboardController::class, 'destroyApplication'])->name('applications.destroy');
|
||||
Route::patch('/applications/{application}/position', [DashboardController::class, 'updateApplicationPosition'])->name('applications.position');
|
||||
Route::patch('/applications/{application}/ingress', [DashboardController::class, 'updateApplicationIngress'])->name('applications.ingress');
|
||||
Route::patch('/caddy-ingresses/{server}/position', [DashboardController::class, 'updateCaddyIngressPosition'])->name('caddy-ingresses.position');
|
||||
Route::post('/resource-connections', [DashboardController::class, 'storeResourceConnection'])->name('resource-connections.store');
|
||||
Route::patch('/resource-connections/{connection}', [DashboardController::class, 'updateResourceConnection'])->name('resource-connections.update');
|
||||
Route::delete('/resource-connections/{connection}', [DashboardController::class, 'destroyResourceConnection'])->name('resource-connections.destroy');
|
||||
Route::get('/clusters', [DashboardController::class, 'clustersIndex'])->name('clusters.index');
|
||||
Route::get('/clusters/{cluster}', [DashboardController::class, 'showCluster'])->name('clusters.show');
|
||||
Route::post('/clusters', [DashboardController::class, 'storeCluster'])->name('clusters.store');
|
||||
Route::delete('/clusters/{cluster}', [DashboardController::class, 'destroyCluster'])->name('clusters.destroy');
|
||||
Route::post('/clusters/{cluster}/servers', [DashboardController::class, 'storeServer'])->name('clusters.servers.store');
|
||||
Route::patch('/clusters/{cluster}/servers/{server}', [DashboardController::class, 'updateServer'])->name('clusters.servers.update');
|
||||
Route::post('/clusters/{cluster}/servers/{server}/check', [DashboardController::class, 'checkServer'])->name('clusters.servers.check');
|
||||
Route::get('/clusters/{cluster}/servers/{server}/coold-logs', [DashboardController::class, 'serverCooldLogs'])->name('clusters.servers.coold-logs');
|
||||
Route::get('/clusters/{cluster}/servers/{server}/corrosion-tables', [DashboardController::class, 'serverCorrosionTables'])->name('clusters.servers.corrosion-tables');
|
||||
Route::get('/clusters/{cluster}/servers/{server}/firewall-rules', [DashboardController::class, 'serverFirewallRules'])->name('clusters.servers.firewall-rules');
|
||||
Route::post('/clusters/{cluster}/servers/{server}/bootstrap', [DashboardController::class, 'bootstrapServer'])->name('clusters.servers.bootstrap');
|
||||
Route::delete('/clusters/{cluster}/servers/{server}', [DashboardController::class, 'destroyServer'])->name('clusters.servers.destroy');
|
||||
Route::post('/applications/nginx', [ApplicationController::class, 'store'])->name('applications.nginx');
|
||||
Route::post('/applications/refresh', [ApplicationController::class, 'refresh'])->name('applications.refresh');
|
||||
Route::delete('/applications/{application}', [ApplicationController::class, 'destroy'])->name('applications.destroy');
|
||||
Route::patch('/applications/{application}/position', [ApplicationController::class, 'updatePosition'])->name('applications.position');
|
||||
Route::patch('/applications/{application}/ingress', [ApplicationController::class, 'updateIngress'])->name('applications.ingress');
|
||||
Route::get('/applications/{application}/logs', [ApplicationController::class, 'logs'])->name('applications.logs');
|
||||
Route::patch('/caddy-ingresses/{server}/position', [ApplicationController::class, 'updateCaddyIngressPosition'])->name('caddy-ingresses.position');
|
||||
Route::post('/resource-connections', [ResourceConnectionController::class, 'store'])->name('resource-connections.store');
|
||||
Route::patch('/resource-connections/{connection}', [ResourceConnectionController::class, 'update'])->name('resource-connections.update');
|
||||
Route::delete('/resource-connections/{connection}', [ResourceConnectionController::class, 'destroy'])->name('resource-connections.destroy');
|
||||
Route::get('/clusters', [ClusterController::class, 'index'])->name('clusters.index');
|
||||
Route::get('/clusters/{cluster}', [ClusterController::class, 'show'])->name('clusters.show');
|
||||
Route::post('/clusters', [ClusterController::class, 'store'])->name('clusters.store');
|
||||
Route::delete('/clusters/{cluster}', [ClusterController::class, 'destroy'])->name('clusters.destroy');
|
||||
Route::post('/clusters/{cluster}/servers', [ServerController::class, 'store'])->name('clusters.servers.store');
|
||||
Route::patch('/clusters/{cluster}/servers/{server}', [ServerController::class, 'update'])->name('clusters.servers.update');
|
||||
Route::post('/clusters/{cluster}/servers/{server}/check', [ServerController::class, 'check'])->name('clusters.servers.check');
|
||||
Route::get('/clusters/{cluster}/servers/{server}/coold-logs', [ServerController::class, 'cooldLogs'])->name('clusters.servers.coold-logs');
|
||||
Route::get('/clusters/{cluster}/servers/{server}/corrosion-tables', [ServerController::class, 'corrosionTables'])->name('clusters.servers.corrosion-tables');
|
||||
Route::get('/clusters/{cluster}/servers/{server}/firewall-rules', [ServerController::class, 'firewallRules'])->name('clusters.servers.firewall-rules');
|
||||
Route::post('/clusters/{cluster}/servers/{server}/bootstrap', [ServerController::class, 'bootstrap'])->name('clusters.servers.bootstrap');
|
||||
Route::delete('/clusters/{cluster}/servers/{server}', [ServerController::class, 'destroy'])->name('clusters.servers.destroy');
|
||||
});
|
||||
Reference in new issue
Block a user