Andras Bacsai
c0866d4cb3
fix(auth): preserve invite login with database sessions
2026-07-03 09:38:05 +02:00
Andras Bacsai
eb56287b57
Merge remote-tracking branch 'origin/next' into 10633-invitation-link-redirect
2026-07-02 18:55:25 +02:00
Andras Bacsai
bbff70c8d0
fix: improve application URL handling
2026-07-02 16:52:07 +02:00
Andras Bacsai
438eeefa73
feat(api): add REST endpoints for destinations ( #10405 )
2026-07-02 15:34:30 +02:00
Andras Bacsai
70021c8d5e
fix(api): handle destination create races as conflicts
2026-07-02 15:33:01 +02:00
Andras Bacsai
88d5aff018
Merge remote-tracking branch 'origin/next' into team-level-mcp-enablement
2026-07-02 15:15:11 +02:00
Andras Bacsai
4ef884e1ac
Merge remote-tracking branch 'origin/next' into feat/api-destinations
2026-07-02 15:14:13 +02:00
Andras Bacsai
a06c1a7bf5
Improve storage mount path handling
2026-07-02 14:54:38 +02:00
Andras Bacsai
a121386ab4
Merge branch 'next' into improve-resource-route-handling
2026-07-02 13:25:47 +02:00
Andras Bacsai
fb2d477e48
fix: improve team resource route handling
2026-07-02 13:05:27 +02:00
Andras Bacsai
29445bf177
fix: align resource creation permissions
2026-06-29 15:57:17 +02:00
Andras Bacsai
7d65a4b496
Merge remote-tracking branch 'origin/next' into harden-database-import-files
2026-06-29 10:35:35 +02:00
Andras Bacsai
2d63d51237
fix: harden database backup imports
2026-06-29 10:27:01 +02:00
Andras Bacsai
3729b5c074
improve github webhook
2026-06-28 15:25:58 +02:00
Andras Bacsai
87d4744390
Validate environment variable keys
2026-06-25 18:19:58 +02:00
Andras Bacsai
bef94a9ce2
feat(mcp): add per-team server toggle
2026-06-25 11:42:19 +02:00
Andras Bacsai
9e021c4037
fix(api): enforce destination access and cleanup networks
...
Require admin team membership for destination mutations, return invalid-token
responses for tokenless requests, and remove standalone Docker networks when
deleting destinations.
2026-06-15 17:15:56 +02:00
Andras Bacsai
9665aa292c
fix(api): block invalid destination types and service deletions
2026-06-15 17:03:01 +02:00
Andras Bacsai
506643603c
Merge remote-tracking branch 'origin/next' into feat/api-destinations
2026-06-15 17:02:24 +02:00
Andras Bacsai
4f509c02be
fix(auth): validate invitation magic link tokens
...
Accept invitation links across configured public origins while still
rejecting stored invitations whose token no longer matches.
2026-06-12 16:17:45 +02:00
Andras Bacsai
062ad57740
fix(security): enforce team access on mutable actions
...
Authorize cloud provider token access, audit sensitive operations, and
standardize public IDs across deployment and resource flows.
2026-06-04 11:03:06 +02:00
Andras Bacsai
9dca7ca351
Merge remote-tracking branch 'origin/next' into audit-policies
2026-06-04 10:18:54 +02:00
Andras Bacsai
81cff9f486
Merge remote-tracking branch 'origin/next' into feat/api-destinations
2026-06-03 13:57:04 +02:00
Andras Bacsai
217541a987
fix(api): allow disabling build server mode
2026-06-03 13:48:31 +02:00
Andras Bacsai
09d8ba0d89
fix(api): prevent partial server updates on invalid disk schedule
2026-06-03 13:03:12 +02:00
Andras Bacsai
8b8ec9c4f9
Merge remote-tracking branch 'origin/next' into fix/api-update-server-private-key
2026-06-03 12:27:41 +02:00
Andras Bacsai
419a551d76
fix(server): return SSH username validation messages
2026-06-03 11:57:46 +02:00
Andras Bacsai
1ca472d549
Merge remote-tracking branch 'origin/next' into fix/api-update-server-private-key
2026-06-03 11:43:32 +02:00
Andras Bacsai
9aa40bb5f0
Merge remote-tracking branch 'origin/next' into jean/allow-dots-username
2026-06-03 11:38:55 +02:00
Andras Bacsai
bc2afdf02e
fix(server): share SSH username validation
...
Centralize SSH username rules and sanitization so dotted usernames are
accepted consistently across API, onboarding, and Livewire server forms.
2026-06-03 11:38:48 +02:00
Andras Bacsai
07f381b88c
Merge remote-tracking branch 'origin/next' into jean/port-exposes-improvement
2026-06-03 10:32:57 +02:00
Andras Bacsai
858b1906ec
Improve GitHub App setup flow
2026-06-03 09:33:46 +02:00
Andras Bacsai
cd06e10b1b
fix(auth): bind magic links to their invitation
...
Include the invitation UUID in generated magic link tokens and validate the
matching stored invitation link before logging the user in, preventing stale
or same-email invitations from being reused.
2026-06-02 12:57:30 +02:00
Andras Bacsai
40d570f195
chore: update team invitation handling
2026-06-02 12:22:27 +02:00
Andras Bacsai
973632b49c
Merge remote-tracking branch 'origin/next' into audit-policies
2026-06-02 12:03:38 +02:00
Andras Bacsai
6dae53a0e5
Merge remote-tracking branch 'origin/next' into fix/application-image-validation
2026-06-02 11:13:36 +02:00
Andras Bacsai
d72c1e2a47
fix(applications): harden image validation
2026-06-02 11:11:33 +02:00
Andras Bacsai
a511bd9b67
fix(api): validate token team context
2026-06-01 15:17:55 +02:00
Andras Bacsai
51062e73a6
fix(database): honor disabled standalone health checks
...
Skip Docker healthcheck configuration when standalone database health checks are disabled, and document default health check settings in the database API schema.
2026-06-01 08:55:03 +02:00
Andras Bacsai
4f053bf5b4
Merge remote-tracking branch 'origin/next' into 10444-database-healthchecks
2026-06-01 06:55:40 +02:00
Andras Bacsai
d423223d38
feat(database): configure standalone health checks
...
Add configurable health check settings for standalone databases and apply them to generated Docker Compose services. Allow disabling health checks and cover the behavior with feature tests.
2026-05-31 21:50:10 +02:00
Andras Bacsai
34f15c106c
fix(webhook): match GitLab SSH repos with custom ports
...
Strip leading port segments from scp-style GitLab repository URLs so manual webhook matching compares the repository path consistently. Cover both ported and unported SSH URL forms.
2026-05-31 21:46:23 +02:00
ShadowArcanist
ab4b2045d4
fix(webhook): skip preview deployments for fork PRs when public previews are off
2026-05-29 23:53:51 +05:30
Andras Bacsai
626cfb4a22
fix(sentinel): reduce resource churn from health flaps
...
Ignore health status changes in Sentinel push deduplication when the container lifecycle state is unchanged.
Scope stale resource checks to Sentinel servers whose heartbeat is stale, and avoid refreshing resource last_online_at on unchanged statuses.
2026-05-27 16:48:38 +02:00
Andras Bacsai
9b996b4dc9
chore: inspect commit message guidance
2026-05-27 07:14:54 +02:00
Andras Bacsai
9f29df4cc3
fix(sentinel): accept empty container heartbeats
...
Allow Sentinel pushes with an empty containers array so servers with no
running containers still refresh their heartbeat and enqueue an update.
2026-05-26 17:31:27 +02:00
Andras Bacsai
b5be9fe9e8
fix(sentinel): lock push dedupe decisions
...
Guard Sentinel push hash checks and cache updates with a server-scoped atomic cache lock to prevent concurrent duplicate dispatches.
2026-05-26 14:12:56 +02:00
Andras Bacsai
7677fac2f5
fix(sentinel): validate push containers payload
...
Reject malformed sentinel push payloads before updating heartbeat state,
dispatching jobs, or writing deduplication cache entries.
2026-05-26 14:07:41 +02:00
Yaroslav Novykov
36bf068814
fix(api): apply private_key_uuid in update_server
...
The endpoint validated private_key_uuid but dropped it from the update,
so the request silently no-op'd. Resolve the UUID to a team-scoped
PrivateKey and include private_key_id in the update payload.
2026-05-26 12:57:42 +03:00
Poul
68e9184b57
fix(api/destinations): use whereHas instead of ownedByCurrentTeamAPI for back-compat
...
The ownedByCurrentTeamAPI scope was added to StandaloneDocker/SwarmDocker
*after* 4.0.0-beta.470 — running containers on that beta hit a
BadMethodCallException. Rewrites all team scoping to use
whereHas('server', whereTeamId) which works against any v4.x of
Coolify (StandaloneDocker.server_id -> Server.team_id has been there
since the multi-team change).
Also guards attachedTo() with method_exists and falls back to a manual
attached-resource check covering applications + every standalone DB
relation, so delete() doesn't crash on older versions either.
2026-05-25 11:47:10 +00:00