Commit Graph
17169 Commits
Author SHA1 Message Date
Andras Bacsai bfb732bbe8 fix(webhooks): validate preview repository metadata 2026-09-21 16:53:50 +02:00
Andras Bacsai 20a72f0f80 feat: deprecate new Docker Swarm usage and group referrers 2026-09-21 16:45:21 +02:00
Andras Bacsai f45c130c67 fix(onboarding): enforce resource authorization (#11920) 2026-09-21 16:38:21 +02:00
Andras Bacsai 2404201bcb fix(onboarding): enforce resource authorization 2026-09-21 16:35:51 +02:00
Andras Bacsai 849983b4db fix(deployments): validate environment variable names used in Docker commands (#11917) 2026-09-21 16:27:59 +02:00
Andras Bacsai 17ca63ff4c fix(deployments): validate environment variable names used in Docker commands
Reject names that are not portable identifiers before a deployment starts
and when Docker flags are built. Quote the full KEY=value assignment for
docker run -e flags, and declare generated Dockerfile ARGs as keys only.
2026-09-21 15:42:12 +02:00
Andras Bacsai 19f0ae9a7d fix(webhooks): reject incomplete Stripe configuration (#11915) 2026-09-21 15:36:20 +02:00
Andras Bacsai 735187868c fix(webhooks): reject incomplete Stripe configuration 2026-09-21 15:35:31 +02:00
Andras Bacsai c0802e8a2c fix(compose): validate Docker network names (#11914) 2026-09-21 15:34:14 +02:00
Andras Bacsai aa2b6b862b fix(compose): validate Docker network names
Require Compose network names to match Docker identifier rules.
Ensure missing proxy networks with inspect and a single escaped argument.
2026-09-21 15:30:11 +02:00
Andras Bacsai ef64182da5 fix: validate application key selection (#11913) 2026-09-21 15:13:33 +02:00
Andras Bacsai afa7586187 fix(applications): validate custom internal container names (#11912) 2026-09-21 15:13:00 +02:00
Andras Bacsai 43c68455bf fix: validate application key selection 2026-09-21 15:09:13 +02:00
Andras Bacsai 4e0687ccad fix(applications): validate custom internal container names
Use the shared Docker container-name rules for custom internal names
in the API and Advanced settings form. Quote container names in
deployment inspect, log, and stop commands.
2026-09-21 15:07:54 +02:00
Andras Bacsai 0fe3c00abb Merge remote-tracking branch 'origin/main' 2026-09-21 15:06:05 +02:00
Andras Bacsai b8f630be6b fix(proxy): prevent automatic Traefik self-exposure 2026-09-21 15:06:01 +02:00
Andras Bacsai 5890a4f001 fix(deployments): validate compose build paths (#11911) 2026-09-21 14:59:42 +02:00
Andras Bacsai 41e00bc1cb fix(deployments): validate compose build paths 2026-09-21 14:57:15 +02:00
Andras Bacsai 360b30fd61 Improve OAuth sign-in handling (#11907) 2026-09-21 14:06:47 +02:00
Andras Bacsai 865ebe0bdd fix(auth): improve OAuth sign-in handling 2026-09-21 14:00:14 +02:00
Andras Bacsai d336f1e683 fix(deployments): validate git refs before queueing (#11905) 2026-09-21 13:53:05 +02:00
Andras Bacsai c00bf15463 fix(deployments): validate git refs before queueing
Use the existing git ref validator when a deployment is queued and
when a queued deployment starts, so only well-formed commit values
are stored and used.
2026-09-21 13:32:16 +02:00
Andras Bacsai 9bae1530bf fix(proxy): preserve custom config when toggling traffic analytics
Apply analytics settings to existing proxy configurations while retaining custom options, including managed Traefik log rotation and Caddy traffic volumes. Upgrade new Traefik configurations to v3.7.
2026-09-21 13:07:29 +02:00
Andras Bacsai 9db93347ed chore(release): bump Coolify and realtime versions
Set the stable Coolify version to 4.4, nightly to 4.5-rc.1, and realtime to 1.0.20.
2026-09-21 12:59:55 +02:00
Andras Bacsai 766aea933c fix(server): distinguish pending Sentinel reports from out-of-sync state 2026-09-21 12:45:28 +02:00
Andras Bacsai 3e82166da0 ci(realtime): enable manual runs and config-triggered builds
Add workflow dispatch support and rebuild triggers for config/constants.php, with test coverage for both workflow changes.
2026-09-21 12:40:54 +02:00
Andras Bacsai 21b6383fd7 chore(realtime): bump Coolify realtime image to 1.0.20 2026-09-21 12:37:59 +02:00
Andras Bacsai 1c408fb408 feat(audit): expand event tracking and remove scheduled job monitoring
Add audit levels and record user, OAuth, DNS, notification, and settings changes while removing the obsolete scheduled job monitoring UI and services.
2026-09-21 12:23:42 +02:00
Andras Bacsai 746f2fd8da v4.4 (#11443) 2026-09-21 11:53:18 +02:00
github-actions[bot] b6b9beeceb Merge remote-tracking branch 'origin/main' into next 2026-09-21 09:45:59 +00:00
Andras Bacsai e8733b71b7 fix(destinations): prevent duplicate additional destinations
Deduplicate existing destination records, enforce uniqueness at the database level, and avoid reattaching already-linked destinations.
2026-09-21 11:27:21 +02:00
github-actions[bot] 1b3755eb83 Merge remote-tracking branch 'origin/main' into next 2026-09-19 17:57:02 +00:00
Andras Bacsai 89e8506023 ci: schedule main-to-next sync every 10 minutes 2026-09-19 19:47:05 +02:00
Andras Bacsai a29f02fbb1 Merge remote-tracking branch 'origin/main' into pr-11443-next
# Conflicts:
#	openapi.json
#	openapi.yaml
#	resources/views/livewire/project/application/heading.blade.php
#	resources/views/livewire/project/service/heading.blade.php
2026-09-19 17:44:44 +02:00
Andras Bacsai 383a5a742f feat(servers): add configurable deployment and build roles
Introduce deployment, build, and dual-purpose server roles, with API and UI support, build-server fallback controls, and role-aware resource hosting.
2026-09-19 17:22:13 +02:00
Andras Bacsai af75492c83 feat(deployments): add team policy for build server fallback
Allow teams to choose whether deployments fall back to the deployment server when no usable dedicated build server is available.
2026-09-19 14:16:30 +02:00
Andras Bacsai 7b84e8722c fix(ui): clarify resource deployment and restart action labels
Update application and service action menus with consistent, explicit labels and align feature coverage for desktop and mobile navigation.
2026-09-18 18:57:42 +02:00
Andras Bacsai e2e2d4010b fix(deployments): trim remote command outputs before processing
Normalize saved command output for reliable status and metadata handling, and bump the Coolify version to 4.3.23.
v4.3.23
2026-09-18 15:34:50 +02:00
Andras Bacsai 23f24f8425 feat(api): expose runtime logs for preview deployments (#11884) 2026-09-18 14:41:55 +02:00
Andras Bacsai 1b0af6464f docs: clarify restart cause (#11774) 2026-09-18 14:24:48 +02:00
Andras Bacsai 19949a6f6f feat(scheduling): persist and claim scheduled job occurrences
Add database-backed schedule states and deliveries so distributed schedulers publish each occurrence once, queue jobs claim executions atomically, and stale occurrences are cleaned up.
v4.3.22
2026-09-18 13:56:40 +02:00
Andras Bacsai ce9347386d feat(ui): dashboard & resource UI refinements + reopen deployment log (#11783) 2026-09-18 12:31:07 +02:00
Andras Bacsai 9346f5f4af fix(ui): keep active settings group expanded
Ensure the group for the current page remains open despite persisted collapse state, with regression coverage.
2026-09-18 12:24:32 +02:00
Andras Bacsai ebfd4d0c1c Merge remote-tracking branch 'origin/main' into pr-11443-next
# Conflicts:
#	app/Actions/Server/StartSentinel.php
#	app/Livewire/Server/Sentinel.php
#	resources/views/livewire/project/shared/storages/all.blade.php
#	resources/views/livewire/project/shared/storages/show.blade.php
2026-09-18 12:00:04 +02:00
Aditya Tripathi ccc2a3fd57 refactor(ui): make settings filter subordinate to the global search
Two full-width, equally weighted search boxes (global ⌘K search + settings
search) sat side by side and read as duplicates. Restyle the settings one as a
quiet inline filter: borderless recessed fill instead of a bordered box, 28px
instead of 32px, 'Filter settings' instead of 'Search settings', and a subtle
focus tint. It now reads clearly as a list filter, not a second search bar.
2026-09-18 09:25:40 +00:00
Aditya Tripathi df83ea2b17 feat(ui): search results show category/parent + include sub-pages
Build a flat search index for the application settings sidebar: every page plus
its in-page sub-sections. Each result now renders with a breadcrumb (its
category, and the parent page for a sub-section), and the query matches
sub-pages too (e.g. searching 'proxy' finds Advanced > Proxy). While searching,
the accordion is replaced by this flat result list; clearing restores it.
2026-09-18 09:18:05 +00:00
Aditya Tripathi d645ce1644 feat(ui): search box on the application settings sidebar
The application settings sidebar is long, so add a client-side search that
filters the nav items as you type. While searching it flattens the list (hides
group headers/dividers and in-page sub-sections) and shows a 'no results' hint;
clearing it restores the accordion. Extends the shared settingsSidebarAccordion
Alpine helper (search/matches/hasResults) so other sidebars can opt in later.
2026-09-18 09:13:38 +00:00
Aditya Tripathi 1151449221 fix(ui): collapse non-active sub-sections + accordion on inline service nav
Follow-up to the settings-sidebar accordion. Two gaps:

- Application sidebar rendered every item's in-page sub-sections, so Advanced's
  Build/Container/Deployment/… showed while you were on General. Gate the
  nav-children on the active item so only the current page's sub-sections expand
  (database/service/server already did this).
- The service *main* configuration page renders its nav inline (the component is
  only used by service sub-pages), so it missed the accordion. Wire it up there
  too.

Extends the regression test to cover both.
2026-09-18 08:59:38 +00:00
Andras Bacsai 8a2457da93 feat(storages): support selective archive deletion for backup schedules
Allow local and S3 archives to be deleted independently when removing a
volume backup schedule, and consolidate destructive-action layouts with a
shared danger-zone component.
2026-09-17 21:20:06 +02:00
Andras Bacsai 84e80142bc fix(storages): make volume backup executions responsive on mobile
Stack execution details into labeled mobile rows and keep archive paths visible with copy actions.
2026-09-17 19:27:18 +02:00