Commit Graph
1481 Commits
Author SHA1 Message Date
Erick Licona MoralesandGitHub 2b5fd8e2ec fix(api): accept cuid for private_key_uuid on GitHub App update (#11468) 2026-08-24 19:44:56 +02:00
Andras BacsaiandGitHub 59cd5b0d72 fix(api): allow system-wide GitHub Apps across teams (#11453) 2026-08-21 23:35:24 +02:00
Andras Bacsai 7bbd91175f Revert "Merge branch 'next' into main"
This reverts commit 2598f3e4c8, reversing
changes made to 83f1a2e503.
2026-08-21 12:12:56 +02:00
github-actions[bot] 9866593a51 Merge remote-tracking branch 'origin/main' into next 2026-08-20 10:50:16 +00:00
Andras BacsaiandGitHub 33218532a8 Align resource access checks (#11405) 2026-08-20 12:49:59 +02:00
Andras Bacsai c9b857884b fix(api): align team-scoped responses 2026-08-20 12:40:13 +02:00
github-actions[bot] 7759c9b910 Merge remote-tracking branch 'origin/main' into next 2026-08-20 07:34:23 +00:00
Andras BacsaiandGitHub de1d234ea5 fix(auth): require confirmation before accepting magic links (#11413) 2026-08-20 09:34:05 +02:00
Andras Bacsai 13a577a731 fix: align resource access checks 2026-08-19 15:05:51 +02:00
Andras Bacsai 81227670e6 Reapply "Merge origin/next into main"
This reverts commit 15359833d3.
2026-08-19 12:39:55 +02:00
Andras Bacsai 15359833d3 Revert "Merge origin/next into main"
This reverts commit 541d743907, reversing
changes made to bb1d3f13f2.
2026-08-19 12:33:16 +02:00
Andras Bacsai 541d743907 Merge origin/next into main 2026-08-19 12:30:09 +02:00
Andras Bacsai 89480bcc61 feat(api): add instance email settings endpoints
Add root-team-authorized API access for SMTP and Resend settings with validation, sensitive-field controls, auditing, and coverage.
2026-08-19 11:57:26 +02:00
Andras Bacsai 22f0af8d0e feat(platform): support SMTP EHLO, page-preserving teams, and upgrades 2026-08-19 11:41:41 +02:00
Andras Bacsai fe9e1e46f5 Merge remote-tracking branch 'origin/main' into next 2026-08-18 16:17:26 +02:00
Andras Bacsai a3e968d03e fix(backups): preserve existing volume backup timeouts
Only update timeout when the API request explicitly provides one, with coverage for custom timeout values.
2026-08-18 15:41:31 +02:00
Andras Bacsai dd597d1527 fix(backups): support long-running volume backups 2026-08-18 14:10:23 +02:00
Andras Bacsai 253e59e731 Merge remote-tracking branch 'origin/next' into openid-auth-support 2026-08-18 14:03:09 +02:00
Andrew MatiaandGitHub 264cb8e2b0 fix(webhook): restore GitLab source deployments (#11284) 2026-08-18 12:24:06 +02:00
Andras Bacsai 17d9d1a370 feat(domains): add configurable HTTPS redirects for service apps 2026-08-18 09:08:18 +02:00
Andras BacsaiandGitHub 5152698757 fix(deployments): advance queue after cancellations (#11330) 2026-08-17 16:27:00 +02:00
Andras Bacsai 76030a30d4 chore(v5): archive V5 implementation and remove runtime integration
Move V5 source, migrations, UI, scripts, and tests into documentation, then remove V5 routes, models, jobs, configuration, dependencies, and application hooks.
2026-08-15 19:13:30 +02:00
Andras Bacsai fd5eb3e0cd feat(project): add icons and improve persistent volume management
Add project icon storage and serving with local/S3 support, prevent deletion of compose-managed volumes, and optimize volume backups. Refine project and backup UI components with consistent styling and coverage.
2026-08-13 22:56:52 +02:00
Andras Bacsai 6492d08136 fix(upgrade): use authenticated status polling after restart
Remove the version header from the health endpoint and use upgrade status polling to determine completion.
2026-08-13 14:23:29 +02:00
Andras Bacsai 6481ffffcf fix(upgrade): wait for new version before showing success
Expose the running Coolify version on /api/health and only treat an upgrade as complete once that version meets the target. Parse upgrade status in a shared service, start the update after the Livewire response, and keep polling when the instance is still on the old version.
2026-08-13 10:46:06 +02:00
drewmt bfdf3d3d2b fix(api): regenerate basic auth labels after updates 2026-08-12 09:13:47 +03:00
Andras Bacsai 003e44d123 Merge remote-tracking branch 'origin/next' into feat/noindex-domains 2026-08-08 11:26:20 +02:00
Andras BacsaiandGitHub f9caa5250d feat(servers): add cross-instance server migration (#11075) 2026-08-07 23:07:55 +02:00
Andras BacsaiandGitHub c15e3b35fd feat(resources): add cross-server resource migration (dev-only) (#11165) 2026-08-07 23:01:31 +02:00
Andras Bacsai 51561e4bee feat(profile): add uploadable avatars with local/S3 storage
Users can upload and remove profile pictures on the profile page.
Admins choose local or instance S3 storage in advanced settings.
Avatars are compressed to JPEG and served via a private cached route.
2026-08-07 21:39:56 +02:00
8ae56587d5 feat(ui): Shadow UI redesign, domain management, and DNS autoconfigure (#11119)
Co-authored-by: ShadowArcanist <162910371+ShadowArcanist@users.noreply.github.com>
2026-08-03 23:11:54 +02:00
Andras BacsaiandGitHub 7b18777f06 feat(mcp): add resource diagnostics and deployment controls (#11000) 2026-08-03 23:08:11 +02:00
Andras BacsaiandGitHub e560bdf9e0 fix(api): secure proxy config, clone volumes, and rollback tags (#11003) 2026-07-22 14:52:11 +02:00
Andras Bacsai b2fed043c5 feat(api): add GitLab Apps CRUD endpoints
There was no API for creating GitLab sources. Add /api/v1/gitlab-apps
list/create/update/delete with OpenAPI docs, sensitive-field redaction,
and feature coverage mirroring the GitHub Apps API.
2026-07-21 21:35:59 +02:00
Andras Bacsai 43919ef4e0 fix(security): encrypt GitLab webhook token and mask input
Webhook secret was stored and shown as plaintext. Use a password field,
encrypt at rest (with legacy plaintext read support), and look up tokens
via findByWebhookToken so encrypted values still authenticate webhooks.
2026-07-21 21:21:04 +02:00
Andras Bacsai 6f557cf17f fix(security): enforce GitLab App authorization parity with GitHub
GitlabAppPolicy previously allowed any authenticated user to update,
delete, and create GitLab sources. Align it with GithubAppPolicy, require
Application create authorization on the private-repo wizard, and reject
OAuth callbacks from non-admins so members cannot escalate privileges.
2026-07-20 23:21:40 +02:00
Mike ChongandAndras Bacsai a26091de0a feat: self-hosted GitLab Apps OAuth integration
Adds self-hosted GitLab OAuth sources so Coolify can connect to a self-managed GitLab instance, list private repositories, clone over an OAuth token, and deploy (the GitLab counterpart to GitHub Apps).

Hardening: authenticated, one-time team-bound OAuth callback state; token redaction in deploy logs; custom host port/path kept in clone and ls-remote URLs; submodule OAuth auth; system-wide source selection. Covered by unit and feature tests.

cosigned by OpenAI Codex at M1 Max
2026-07-20 23:21:40 +02:00
Andras Bacsai ee36124300 Merge remote-tracking branch 'origin/next' into v5-parallel-inertia-react 2026-07-20 12:09:17 +02:00
Andras Bacsai bf72fd5d88 refactor(backups): centralize storage deletion guard 2026-07-19 23:20:46 +02:00
Andras Bacsai 72a0a57f0e fix(backups): enforce authorization and safe retention
- Gate volume backup retention and S3 controls by update permission
- Preserve backup records when S3 deletion fails
- Share SFTP download streaming with consistent missing-file handling
- Handle schedule creation errors and link service database backups
2026-07-19 23:15:55 +02:00
Andras Bacsai b97a97e955 Merge remote-tracking branch 'origin/next' into volume-backups-server-s3 2026-07-19 21:45:26 +02:00
Andras Bacsai 1cb1d028de Merge remote-tracking branch 'origin/next' into resolve-vite-package-conflicts 2026-07-19 11:42:20 +02:00
Andras Bacsai 0633b543ee feat(api): require POST for state-changing endpoints
Make start/stop/restart, deploy, enable/disable, and server validate
POST-only, with GET returning 405. Server validate accepts optional
install and uses ValidateAndInstallServerJob. Update OpenAPI and tests.
2026-07-19 11:42:04 +02:00
Andras Bacsai 662633399f Merge remote-tracking branch 'origin/next' into volume-backups-server-s3 2026-07-18 16:07:26 +02:00
Andras Bacsai ae32ab5d7b Merge remote-tracking branch 'origin/next' into v5-parallel-inertia-react 2026-07-18 15:57:26 +02:00
Andras Bacsai a4ab69df56 feat(v5): authorize creates, deep-link selection, list apps in v4
Restrict V5 application and resource-connection creation to team admins.
Resolve project, environment, and application from query params and keep
session selection in sync. Surface V5 apps on the v4 resource index and
count them for project/environment emptiness. Create the flux data dir
on install and upgrade.
2026-07-18 15:55:47 +02:00
Andras Bacsai 28f8867567 feat(api): add volume backup schedule delete endpoints
Expose DELETE for application, database, and service storage backup
schedules (with OpenAPI docs), reject storage deletes while schedules
exist, skip retention cleanup when no limits are set, and remove S3
archives using the execution’s S3 storage.
2026-07-16 21:44:48 +02:00
Andras BacsaiandGitHub 913d033c75 fix(resources): clarify build server hosting restrictions (#10961) 2026-07-16 21:35:23 +02:00
Andras Bacsai ddbed9f8a6 Merge remote-tracking branch 'origin/next' into volume-backups-server-s3 2026-07-16 13:47:15 +02:00
Andras Bacsai 7d699818e8 fix: harden Vultr create, Gmail identity, and provider retries
Wrap Vultr server creation in DB transactions and delete the remote
instance when local persistence fails (API and Livewire). Scope
plus/dot email normalization to gmail.com/googlemail.com only.
Use throw:false on DigitalOcean/Vultr HTTP retries, and normalize
service log line counts via normalizeLogLines.
2026-07-16 13:42:53 +02:00