diff --git a/README.md b/README.md
index d840739d7..748676fa2 100644
--- a/README.md
+++ b/README.md
@@ -51,6 +51,13 @@ # Donations
+
+
+
+
+
+
+
## Github Sponsors ($40+)
@@ -77,6 +84,7 @@ ## Github Sponsors ($40+)
+
## Organizations
diff --git a/app/Http/Controllers/Api/ApplicationsController.php b/app/Http/Controllers/Api/ApplicationsController.php
index 413555194..81b173011 100644
--- a/app/Http/Controllers/Api/ApplicationsController.php
+++ b/app/Http/Controllers/Api/ApplicationsController.php
@@ -53,6 +53,7 @@ private function removeSensitiveData($application)
summary: 'List',
description: 'List all applications.',
path: '/applications',
+ operationId: 'list-applications',
security: [
['bearerAuth' => []],
],
@@ -101,6 +102,7 @@ public function applications(Request $request)
summary: 'Create (Public)',
description: 'Create new application based on a public git repository.',
path: '/applications/public',
+ operationId: 'create-public-application',
security: [
['bearerAuth' => []],
],
@@ -202,6 +204,7 @@ public function create_public_application(Request $request)
summary: 'Create (Private - GH App)',
description: 'Create new application based on a private repository through a Github App.',
path: '/applications/private-github-app',
+ operationId: 'create-private-github-app-application',
security: [
['bearerAuth' => []],
],
@@ -303,6 +306,7 @@ public function create_private_gh_app_application(Request $request)
summary: 'Create (Private - Deploy Key)',
description: 'Create new application based on a private repository through a Deploy Key.',
path: '/applications/private-deploy-key',
+ operationId: 'create-private-deploy-key-application',
security: [
['bearerAuth' => []],
],
@@ -404,6 +408,7 @@ public function create_private_deploy_key_application(Request $request)
summary: 'Create (Dockerfile)',
description: 'Create new application based on a simple Dockerfile.',
path: '/applications/dockerfile',
+ operationId: 'create-dockerfile-application',
security: [
['bearerAuth' => []],
],
@@ -490,6 +495,7 @@ public function create_dockerfile_application(Request $request)
summary: 'Create (Docker Image)',
description: 'Create new application based on a prebuilt docker image',
path: '/applications/dockerimage',
+ operationId: 'create-dockerimage-application',
security: [
['bearerAuth' => []],
],
@@ -573,6 +579,7 @@ public function create_dockerimage_application(Request $request)
summary: 'Create (Docker Compose)',
description: 'Create new application based on a docker-compose file.',
path: '/applications/dockercompose',
+ operationId: 'create-dockercompose-application',
security: [
['bearerAuth' => []],
],
@@ -1171,6 +1178,7 @@ private function create_application(Request $request, $type)
summary: 'Get',
description: 'Get application by UUID.',
path: '/applications/{uuid}',
+ operationId: 'get-application-by-uuid',
security: [
['bearerAuth' => []],
],
@@ -1235,6 +1243,7 @@ public function application_by_uuid(Request $request)
summary: 'Delete',
description: 'Delete application by UUID.',
path: '/applications/{uuid}',
+ operationId: 'delete-application-by-uuid',
security: [
['bearerAuth' => []],
],
@@ -1321,6 +1330,7 @@ public function delete_by_uuid(Request $request)
summary: 'Update',
description: 'Update application by UUID.',
path: '/applications/{uuid}',
+ operationId: 'update-application-by-uuid',
security: [
['bearerAuth' => []],
],
@@ -1557,6 +1567,7 @@ public function update_by_uuid(Request $request)
summary: 'List Envs',
description: 'List all envs by application UUID.',
path: '/applications/{uuid}/envs',
+ operationId: 'list-envs-by-application-uuid',
security: [
['bearerAuth' => []],
],
@@ -1639,6 +1650,7 @@ public function envs(Request $request)
summary: 'Update Env',
description: 'Update env by application UUID.',
path: '/applications/{uuid}/envs',
+ operationId: 'update-env-by-application-uuid',
security: [
['bearerAuth' => []],
],
@@ -1821,6 +1833,7 @@ public function update_env_by_uuid(Request $request)
summary: 'Update Envs (Bulk)',
description: 'Update multiple envs by application UUID.',
path: '/applications/{uuid}/envs/bulk',
+ operationId: 'update-envs-by-application-uuid',
security: [
['bearerAuth' => []],
],
@@ -2012,6 +2025,7 @@ public function create_bulk_envs(Request $request)
summary: 'Create Env',
description: 'Create env by application UUID.',
path: '/applications/{uuid}/envs',
+ operationId: 'create-env-by-application-uuid',
security: [
['bearerAuth' => []],
],
@@ -2171,6 +2185,7 @@ public function create_env(Request $request)
summary: 'Delete Env',
description: 'Delete env by UUID.',
path: '/applications/{uuid}/envs/{env_uuid}',
+ operationId: 'delete-env-by-application-uuid',
security: [
['bearerAuth' => []],
],
@@ -2256,6 +2271,7 @@ public function delete_env_by_uuid(Request $request)
summary: 'Start',
description: 'Start application. `Post` request is also accepted.',
path: '/applications/{uuid}/start',
+ operationId: 'start-application-by-uuid',
security: [
['bearerAuth' => []],
],
@@ -2359,6 +2375,7 @@ public function action_deploy(Request $request)
summary: 'Stop',
description: 'Stop application. `Post` request is also accepted.',
path: '/applications/{uuid}/stop',
+ operationId: 'stop-application-by-uuid',
security: [
['bearerAuth' => []],
],
@@ -2431,6 +2448,7 @@ public function action_stop(Request $request)
summary: 'Restart',
description: 'Restart application. `Post` request is also accepted.',
path: '/applications/{uuid}/restart',
+ operationId: 'restart-application-by-uuid',
security: [
['bearerAuth' => []],
],
diff --git a/app/Http/Controllers/Api/DatabasesController.php b/app/Http/Controllers/Api/DatabasesController.php
index 0f1ee00d8..a205704cc 100644
--- a/app/Http/Controllers/Api/DatabasesController.php
+++ b/app/Http/Controllers/Api/DatabasesController.php
@@ -46,6 +46,7 @@ private function removeSensitiveData($database)
summary: 'List',
description: 'List all databases.',
path: '/databases',
+ operationId: 'list-databases',
security: [
['bearerAuth' => []],
],
@@ -91,6 +92,7 @@ public function databases(Request $request)
summary: 'Get',
description: 'Get database by UUID.',
path: '/databases/{uuid}',
+ operationId: 'get-database-by-uuid',
security: [
['bearerAuth' => []],
],
@@ -151,6 +153,7 @@ public function database_by_uuid(Request $request)
summary: 'Update',
description: 'Update database by UUID.',
path: '/databases/{uuid}',
+ operationId: 'update-database-by-uuid',
security: [
['bearerAuth' => []],
],
@@ -510,6 +513,7 @@ public function update_by_uuid(Request $request)
summary: 'Create (PostgreSQL)',
description: 'Create a new PostgreSQL database.',
path: '/databases/postgresql',
+ operationId: 'create-database-postgresql',
security: [
['bearerAuth' => []],
],
@@ -575,6 +579,7 @@ public function create_database_postgresql(Request $request)
summary: 'Create (Clickhouse)',
description: 'Create a new Clickhouse database.',
path: '/databases/clickhouse',
+ operationId: 'create-database-clickhouse',
security: [
['bearerAuth' => []],
],
@@ -636,6 +641,7 @@ public function create_database_clickhouse(Request $request)
summary: 'Create (DragonFly)',
description: 'Create a new DragonFly database.',
path: '/databases/dragonfly',
+ operationId: 'create-database-dragonfly',
security: [
['bearerAuth' => []],
],
@@ -696,6 +702,7 @@ public function create_database_dragonfly(Request $request)
summary: 'Create (Redis)',
description: 'Create a new Redis database.',
path: '/databases/redis',
+ operationId: 'create-database-redis',
security: [
['bearerAuth' => []],
],
@@ -757,6 +764,7 @@ public function create_database_redis(Request $request)
summary: 'Create (KeyDB)',
description: 'Create a new KeyDB database.',
path: '/databases/keydb',
+ operationId: 'create-database-keydb',
security: [
['bearerAuth' => []],
],
@@ -818,6 +826,7 @@ public function create_database_keydb(Request $request)
summary: 'Create (MariaDB)',
description: 'Create a new MariaDB database.',
path: '/databases/mariadb',
+ operationId: 'create-database-mariadb',
security: [
['bearerAuth' => []],
],
@@ -882,6 +891,7 @@ public function create_database_mariadb(Request $request)
summary: 'Create (MySQL)',
description: 'Create a new MySQL database.',
path: '/databases/mysql',
+ operationId: 'create-database-mysql',
security: [
['bearerAuth' => []],
],
@@ -945,6 +955,7 @@ public function create_database_mysql(Request $request)
summary: 'Create (MongoDB)',
description: 'Create a new MongoDB database.',
path: '/databases/mongodb',
+ operationId: 'create-database-mongodb',
security: [
['bearerAuth' => []],
],
@@ -1514,6 +1525,7 @@ public function create_database(Request $request, NewDatabaseTypes $type)
summary: 'Delete',
description: 'Delete database by UUID.',
path: '/databases/{uuid}',
+ operationId: 'delete-database-by-uuid',
security: [
['bearerAuth' => []],
],
@@ -1597,6 +1609,7 @@ public function delete_by_uuid(Request $request)
summary: 'Start',
description: 'Start database. `Post` request is also accepted.',
path: '/databases/{uuid}/start',
+ operationId: 'start-database-by-uuid',
security: [
['bearerAuth' => []],
],
@@ -1672,6 +1685,7 @@ public function action_deploy(Request $request)
summary: 'Stop',
description: 'Stop database. `Post` request is also accepted.',
path: '/databases/{uuid}/stop',
+ operationId: 'stop-database-by-uuid',
security: [
['bearerAuth' => []],
],
@@ -1747,6 +1761,7 @@ public function action_stop(Request $request)
summary: 'Restart',
description: 'Restart database. `Post` request is also accepted.',
path: '/databases/{uuid}/restart',
+ operationId: 'restart-database-by-uuid',
security: [
['bearerAuth' => []],
],
diff --git a/app/Http/Controllers/Api/DeployController.php b/app/Http/Controllers/Api/DeployController.php
index 437162058..96f98d844 100644
--- a/app/Http/Controllers/Api/DeployController.php
+++ b/app/Http/Controllers/Api/DeployController.php
@@ -32,6 +32,7 @@ private function removeSensitiveData($deployment)
summary: 'List',
description: 'List currently running deployments',
path: '/deployments',
+ operationId: 'list-deployments',
security: [
['bearerAuth' => []],
],
@@ -79,6 +80,7 @@ public function deployments(Request $request)
summary: 'Get',
description: 'Get deployment by UUID.',
path: '/deployments/{uuid}',
+ operationId: 'get-deployment-by-uuid',
security: [
['bearerAuth' => []],
],
@@ -134,6 +136,7 @@ public function deployment_by_uuid(Request $request)
summary: 'Deploy',
description: 'Deploy by tag or uuid. `Post` request also accepted.',
path: '/deploy',
+ operationId: 'deploy-by-tag-or-uuid',
security: [
['bearerAuth' => []],
],
diff --git a/app/Http/Controllers/Api/OtherController.php b/app/Http/Controllers/Api/OtherController.php
index 1e48ffdbe..c085b88a5 100644
--- a/app/Http/Controllers/Api/OtherController.php
+++ b/app/Http/Controllers/Api/OtherController.php
@@ -13,6 +13,7 @@ class OtherController extends Controller
summary: 'Version',
description: 'Get Coolify version.',
path: '/version',
+ operationId: 'version',
security: [
['bearerAuth' => []],
],
@@ -43,6 +44,7 @@ public function version(Request $request)
summary: 'Enable API',
description: 'Enable API (only with root permissions).',
path: '/enable',
+ operationId: 'enable-api',
security: [
['bearerAuth' => []],
],
@@ -94,6 +96,7 @@ public function enable_api(Request $request)
summary: 'Disable API',
description: 'Disable API (only with root permissions).',
path: '/disable',
+ operationId: 'disable-api',
security: [
['bearerAuth' => []],
],
@@ -158,6 +161,7 @@ public function feedback(Request $request)
summary: 'Healthcheck',
description: 'Healthcheck endpoint.',
path: '/healthcheck',
+ operationId: 'healthcheck',
responses: [
new OA\Response(
response: 200,
diff --git a/app/Http/Controllers/Api/ProjectController.php b/app/Http/Controllers/Api/ProjectController.php
index 6aec31e9b..4d7ef3920 100644
--- a/app/Http/Controllers/Api/ProjectController.php
+++ b/app/Http/Controllers/Api/ProjectController.php
@@ -13,6 +13,7 @@ class ProjectController extends Controller
summary: 'List',
description: 'list projects.',
path: '/projects',
+ operationId: 'list-projects',
security: [
['bearerAuth' => []],
],
@@ -56,6 +57,7 @@ public function projects(Request $request)
summary: 'Get',
description: 'Get project by Uuid.',
path: '/projects/{uuid}',
+ operationId: 'get-project-by-uuid',
security: [
['bearerAuth' => []],
],
@@ -102,6 +104,7 @@ public function project_by_uuid(Request $request)
summary: 'Environment',
description: 'Get environment by name.',
path: '/projects/{uuid}/{environment_name}',
+ operationId: 'get-environment-by-name',
security: [
['bearerAuth' => []],
],
@@ -155,6 +158,7 @@ public function environment_details(Request $request)
summary: 'Create',
description: 'Create Project.',
path: '/projects',
+ operationId: 'create-project',
security: [
['bearerAuth' => []],
],
@@ -250,6 +254,7 @@ public function create_project(Request $request)
summary: 'Update',
description: 'Update Project.',
path: '/projects/{uuid}',
+ operationId: 'update-project-by-uuid',
security: [
['bearerAuth' => []],
],
@@ -355,6 +360,7 @@ public function update_project(Request $request)
summary: 'Delete',
description: 'Delete project by UUID.',
path: '/projects/{uuid}',
+ operationId: 'delete-project-by-uuid',
security: [
['bearerAuth' => []],
],
diff --git a/app/Http/Controllers/Api/ResourcesController.php b/app/Http/Controllers/Api/ResourcesController.php
index ae076bb71..1fd5792e0 100644
--- a/app/Http/Controllers/Api/ResourcesController.php
+++ b/app/Http/Controllers/Api/ResourcesController.php
@@ -13,6 +13,7 @@ class ResourcesController extends Controller
summary: 'List',
description: 'Get all resources.',
path: '/resources',
+ operationId: 'list-resources',
security: [
['bearerAuth' => []],
],
diff --git a/app/Http/Controllers/Api/SecurityController.php b/app/Http/Controllers/Api/SecurityController.php
index 67128234e..3a489f647 100644
--- a/app/Http/Controllers/Api/SecurityController.php
+++ b/app/Http/Controllers/Api/SecurityController.php
@@ -26,6 +26,7 @@ private function removeSensitiveData($team)
summary: 'List',
description: 'List all private keys.',
path: '/security/keys',
+ operationId: 'list-private-keys',
security: [
['bearerAuth' => []],
],
@@ -68,6 +69,7 @@ public function keys(Request $request)
summary: 'Get',
description: 'Get key by UUID.',
path: '/security/keys/{uuid}',
+ operationId: 'get-private-key-by-uuid',
security: [
['bearerAuth' => []],
],
@@ -124,6 +126,7 @@ public function key_by_uuid(Request $request)
summary: 'Create',
description: 'Create a new private key.',
path: '/security/keys',
+ operationId: 'create-private-key',
security: [
['bearerAuth' => []],
],
@@ -217,6 +220,7 @@ public function create_key(Request $request)
summary: 'Update',
description: 'Update a private key.',
path: '/security/keys',
+ operationId: 'update-private-key',
security: [
['bearerAuth' => []],
],
@@ -313,6 +317,7 @@ public function update_key(Request $request)
summary: 'Delete',
description: 'Delete a private key.',
path: '/security/keys/{uuid}',
+ operationId: 'delete-private-key-by-uuid',
security: [
['bearerAuth' => []],
],
diff --git a/app/Http/Controllers/Api/ServersController.php b/app/Http/Controllers/Api/ServersController.php
index 9044c4a35..e2bde52f7 100644
--- a/app/Http/Controllers/Api/ServersController.php
+++ b/app/Http/Controllers/Api/ServersController.php
@@ -46,6 +46,7 @@ private function removeSensitiveData($server)
summary: 'List',
description: 'List all servers.',
path: '/servers',
+ operationId: 'list-servers',
security: [
['bearerAuth' => []],
],
@@ -100,6 +101,7 @@ public function servers(Request $request)
summary: 'Get',
description: 'Get server by UUID.',
path: '/servers/{uuid}',
+ operationId: 'get-server-by-uuid',
security: [
['bearerAuth' => []],
],
@@ -177,6 +179,7 @@ public function server_by_uuid(Request $request)
summary: 'Resources',
description: 'Get resources by server.',
path: '/servers/{uuid}/resources',
+ operationId: 'get-resources-by-server-uuid',
security: [
['bearerAuth' => []],
],
@@ -254,6 +257,7 @@ public function resources_by_server(Request $request)
summary: 'Domains',
description: 'Get domains by server.',
path: '/servers/{uuid}/domains',
+ operationId: 'get-domains-by-server-uuid',
security: [
['bearerAuth' => []],
],
@@ -401,6 +405,7 @@ public function domains_by_server(Request $request)
summary: 'Create',
description: 'Create Server.',
path: '/servers',
+ operationId: 'create-server',
security: [
['bearerAuth' => []],
],
@@ -545,6 +550,7 @@ public function create_server(Request $request)
summary: 'Update',
description: 'Update Server.',
path: '/servers/{uuid}',
+ operationId: 'update-server-by-uuid',
security: [
['bearerAuth' => []],
],
@@ -655,6 +661,7 @@ public function update_server(Request $request)
summary: 'Delete',
description: 'Delete server by UUID.',
path: '/servers/{uuid}',
+ operationId: 'delete-server-by-uuid',
security: [
['bearerAuth' => []],
],
@@ -727,6 +734,7 @@ public function delete_server(Request $request)
summary: 'Validate',
description: 'Validate server by UUID.',
path: '/servers/{uuid}/validate',
+ operationId: 'validate-server-by-uuid',
security: [
['bearerAuth' => []],
],
diff --git a/app/Http/Controllers/Api/ServicesController.php b/app/Http/Controllers/Api/ServicesController.php
index 3a5b59f55..c39778698 100644
--- a/app/Http/Controllers/Api/ServicesController.php
+++ b/app/Http/Controllers/Api/ServicesController.php
@@ -38,6 +38,7 @@ private function removeSensitiveData($service)
summary: 'List',
description: 'List all services.',
path: '/services',
+ operationId: 'list-services',
security: [
['bearerAuth' => []],
],
@@ -88,6 +89,7 @@ public function services(Request $request)
summary: 'Create',
description: 'Create a one-click service',
path: '/services',
+ operationId: 'create-service',
security: [
['bearerAuth' => []],
],
@@ -365,6 +367,7 @@ public function create_service(Request $request)
summary: 'Get',
description: 'Get service by UUID.',
path: '/services/{uuid}',
+ operationId: 'get-service-by-uuid',
security: [
['bearerAuth' => []],
],
@@ -422,6 +425,7 @@ public function service_by_uuid(Request $request)
summary: 'Delete',
description: 'Delete service by UUID.',
path: '/services/{uuid}',
+ operationId: 'delete-service-by-uuid',
security: [
['bearerAuth' => []],
],
@@ -483,6 +487,7 @@ public function delete_by_uuid(Request $request)
summary: 'Start',
description: 'Start service. `Post` request is also accepted.',
path: '/services/{uuid}/start',
+ operationId: 'start-service-by-uuid',
security: [
['bearerAuth' => []],
],
@@ -558,6 +563,7 @@ public function action_deploy(Request $request)
summary: 'Stop',
description: 'Stop service. `Post` request is also accepted.',
path: '/services/{uuid}/stop',
+ operationId: 'stop-service-by-uuid',
security: [
['bearerAuth' => []],
],
@@ -633,6 +639,7 @@ public function action_stop(Request $request)
summary: 'Restart',
description: 'Restart service. `Post` request is also accepted.',
path: '/services/{uuid}/restart',
+ operationId: 'restart-service-by-uuid',
security: [
['bearerAuth' => []],
],
diff --git a/app/Http/Controllers/Api/TeamController.php b/app/Http/Controllers/Api/TeamController.php
index 1a481e5ec..3f951c6f7 100644
--- a/app/Http/Controllers/Api/TeamController.php
+++ b/app/Http/Controllers/Api/TeamController.php
@@ -32,6 +32,7 @@ private function removeSensitiveData($team)
summary: 'List',
description: 'Get all teams.',
path: '/teams',
+ operationId: 'list-teams',
security: [
['bearerAuth' => []],
],
@@ -79,6 +80,7 @@ public function teams(Request $request)
summary: 'Get',
description: 'Get team by TeamId.',
path: '/teams/{id}',
+ operationId: 'get-team-by-id',
security: [
['bearerAuth' => []],
],
@@ -129,6 +131,7 @@ public function team_by_id(Request $request)
summary: 'Members',
description: 'Get members by TeamId.',
path: '/teams/{id}/members',
+ operationId: 'get-members-by-team-id',
security: [
['bearerAuth' => []],
],
@@ -189,6 +192,7 @@ public function members_by_id(Request $request)
summary: 'Authenticated Team',
description: 'Get currently authenticated team.',
path: '/teams/current',
+ operationId: 'get-current-team',
security: [
['bearerAuth' => []],
],
@@ -225,6 +229,7 @@ public function current_team(Request $request)
summary: 'Authenticated Team Members',
description: 'Get currently authenticated team members.',
path: '/teams/current/members',
+ operationId: 'get-current-team-members',
security: [
['bearerAuth' => []],
],
diff --git a/app/Jobs/ApplicationDeploymentJob.php b/app/Jobs/ApplicationDeploymentJob.php
index 1ab6e5543..508164afe 100644
--- a/app/Jobs/ApplicationDeploymentJob.php
+++ b/app/Jobs/ApplicationDeploymentJob.php
@@ -109,7 +109,7 @@ class ApplicationDeploymentJob implements ShouldBeEncrypted, ShouldQueue
private bool $is_debug_enabled;
- private $build_args;
+ private Collection|string $build_args;
private $env_args;
@@ -168,6 +168,7 @@ public function __construct(int $application_deployment_queue_id)
$this->application_deployment_queue = ApplicationDeploymentQueue::find($application_deployment_queue_id);
$this->application = Application::find($this->application_deployment_queue->application_id);
$this->build_pack = data_get($this->application, 'build_pack');
+ $this->build_args = collect([]);
$this->application_deployment_queue_id = $application_deployment_queue_id;
$this->deployment_uuid = $this->application_deployment_queue->deployment_uuid;
diff --git a/config/sentry.php b/config/sentry.php
index 54e39e887..a1505137e 100644
--- a/config/sentry.php
+++ b/config/sentry.php
@@ -7,7 +7,7 @@
// The release version of your application
// Example with dynamic git hash: trim(exec('git --git-dir ' . base_path('.git') . ' log --pretty="%h" -n1 HEAD'))
- 'release' => '4.0.0-beta.326',
+ 'release' => '4.0.0-beta.327',
// When left empty or `null` the Laravel environment will be used
'environment' => config('app.env'),
diff --git a/config/version.php b/config/version.php
index f567ea5da..cb9bd0622 100644
--- a/config/version.php
+++ b/config/version.php
@@ -1,3 +1,3 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/other/logos/saasykit.png b/other/logos/saasykit.png
new file mode 100644
index 000000000..27013eadd
Binary files /dev/null and b/other/logos/saasykit.png differ
diff --git a/other/logos/ubicloud.svg b/other/logos/ubicloud.svg
new file mode 100644
index 000000000..3613858ca
--- /dev/null
+++ b/other/logos/ubicloud.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/versions.json b/versions.json
index f67a83d0a..821bd414c 100644
--- a/versions.json
+++ b/versions.json
@@ -1,10 +1,10 @@
{
"coolify": {
"v4": {
- "version": "4.0.0-beta.326"
+ "version": "4.0.0-beta.327"
},
"nightly": {
- "version": "4.0.0-beta.327"
+ "version": "4.0.0-beta.328"
}
}
}