coolify/routes
Poul fe855cf8d0 feat(api): add REST endpoints for destinations
The Destinations section is exposed in the Coolify UI but not via the
REST API. The destination_uuid field is required when creating
applications via create-public-application, but no way to enumerate or
create destinations programmatically existed — this blocks IaC tools
(e.g. an Aspire publisher targeting Coolify).

Adds, scoped to the existing v1 auth:sanctum + ApiAllowed + api.sensitive
group:

  GET    /api/v1/destinations
  GET    /api/v1/destinations/{uuid}
  DELETE /api/v1/destinations/{uuid}
  GET    /api/v1/servers/{server_uuid}/destinations
  POST   /api/v1/servers/{server_uuid}/destinations

The controller uses the existing inline-Validator convention (no Form
Request classes per the API surface's house style), reuses
StandaloneDocker::ownedByCurrentTeamAPI / SwarmDocker::ownedByCurrentTeamAPI
for team scoping (matching ScheduledTasksController etc.), and respects
the `attachedTo()` guard on delete.

No migrations needed — both standalone_dockers and swarm_dockers tables
already carry uuid/name/network/server_id/timestamps.

OpenAPI @OA\ annotations omitted in this commit to keep the diff
minimal; a follow-up can add them in the style of ServersController.
2026-05-25 11:15:08 +00:00
..
ai.php feat(mcp): add MCP server with read-only tools for Coolify resources 2026-04-29 10:30:43 +02:00
api.php feat(api): add REST endpoints for destinations 2026-05-25 11:15:08 +00:00
channels.php Revert "rector: arrrrr" 2025-01-07 15:31:43 +01:00
console.php Sending e-mails and settings on Team. 2023-05-25 17:27:52 +01:00
web.php refactor(api): return generic error messages for upstream and storage failures 2026-04-20 11:50:30 +02:00
webhooks.php chore: remove unused waitlist stuff 2024-12-09 12:00:54 +01:00