1778 Commits
Author SHA1 Message Date
peaklabs-dev 32574d76b1 Merge remote-tracking branch 'origin/main' into next 2026-11-02 16:12:51 +01:00
Andras BacsaiandClaude Opus 5.5 bc855fdc68 fix(transfer): resolve IPv6-only server host names
The domain check of the transfer checklist resolved the server host name
with gethostbynamel(), which returns IPv4 only, so a domain that points to
an IPv6-only server was reported as pointing to another address. Resolve A
and AAAA records and compare normalized addresses. The Cloud SSH probe now
also resolves AAAA records when a host name has no A record.

Closes #12397

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 14:46:19 +01:00
Andras BacsaiandClaude Opus 5.5 6c650dd127 fix(api): document request bodies for shared env create and update endpoints
Closes #12395

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 14:33:29 +01:00
peaklabs-dev 6c17c29925 Merge remote-tracking branch 'origin/main' into next 2026-11-02 01:01:41 +01:00
peaklabs-dev 0e30950793 feat(release): streamline versions.json on the CDN
- Every channel has a block of its own, every version after this one reads only these blocks
- Every stable sync also fills the coolify and traefik keys older instances read
- An instance keeps a copy of versions.json and reads upstream.json of the image until it has one
2026-11-02 00:07:20 +01:00
Andras BacsaiandClaude Opus 5.5 868c0f06bf fix(api): require deploy ability for registry check and logout
Align the registry check and logout endpoints with the registry login endpoint.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-01 15:46:52 +01:00
Andras Bacsai 091654ce7f feat(access): set member grants when inviting 2026-10-30 16:41:30 +01:00
Andras Bacsai 6f1905b7b0 fix(access): enforce member grants on more actions
- Require write access on the target environment to clone or move a resource
- Check read access on shared variables before a reference is added or resolved
- Limit team credentials, git sources, and imports of other backups to team-wide writers
- Require the delete level for backup, volume, storage, and task deletes
- Require create access for previews, new projects, and git sources
- Use the token team for the access scope, and check team-wide access on Livewire updates
- Require instance admin to toggle the API and MCP server
- Hide server pickers and broadcast details from members without access
2026-10-30 16:11:10 +01:00
Andras Bacsai fb854a7cff fix(access): hide shared variables and actions that a member cannot use
- Check read access on the project or environment for shared variables
  pages, the canvas, and the sidebar, not only navigation access
- Require team-wide read for the server shared variables canvas API
- Open the environment variable editor read-only when the value is hidden
- Show the integration tokens button only to users who can open it
- Show disabled confirmation buttons as disabled, not as danger buttons
2026-10-30 15:14:02 +01:00
Andras BacsaiandClaude Opus 5.5 5116a93f42 feat(api): add DNS, integration token and secret manager management (#12374)
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 13:37:32 +01:00
github-actions[bot] edee5ccfd6 Merge remote-tracking branch 'origin/main' into next 2026-10-30 11:16:06 +00:00
Andras Bacsai 98b7de0ea7 fix(api): accept the same port mappings as the UI
Closes #12388
2026-10-30 11:43:13 +01:00
Andras BacsaiandClaude Opus 5.5 4b541011c9 fix(api): hide locked values in resource and environment lists
Closes #12391

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 11:23:16 +01:00
b85a9197a1 chore: merge main into next (#12382)
Co-authored-by: Andras Bacsai <5845193+andrasbacsai@users.noreply.github.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 21:10:39 +01:00
Andras Bacsai b41ba87fff fix(application): reject Docker image names shared by building applications
Two applications that build the same Docker image name push the same
tags (commit SHA, latest, pr-<id>), so one can run the image of the
other. Deployments, the General form, and the API now reject such a
name for applications of the same team.

Closes #9834
2026-10-29 11:30:25 +01:00
Andras Bacsai 0894251de9 docs(api): remove unsupported preview and Highlight fields
Remove is_preview from service environment variable request schemas and
Highlight log drain fields from the generated OpenAPI specifications.
2026-10-29 08:57:20 +01:00
Andras BacsaiandClaude Opus 5.5 7324b5ca7b fix(webhooks): filter manual webhook applications by repository in SQL
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 22:54:34 +01:00
Andras Bacsai 47ddb84edb Merge remote-tracking branch 'origin/next' into automation/sync-main-to-next 2026-10-28 12:23:07 +01:00
Andras BacsaiandClaude Opus 5.5 fae2752346 fix(databases): show custom configuration only to admins (#12353)
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 22:34:47 +01:00
62b2a99a70 chore: merge main into next (#12351)
Co-authored-by: Andras Bacsai <5845193+andrasbacsai@users.noreply.github.com>
Co-authored-by: Aditya Tripathi <aditya@climactic.co>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 22:25:43 +01:00
Andras Bacsai e21be95392 Merge branch 'ghsa-v432-app-credentials-members' 2026-10-27 21:40:37 +01:00
Andras BacsaiandClaude Opus 5.5 9b9d1309d1 fix(api): allow write tokens to set manual webhook secrets
Webhook secrets are stored settings, so a token with the write ability can
set or change them, the same as GitHub App and GitLab App webhook secrets.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 21:24:20 +01:00
Andras BacsaiandClaude Opus 5.5 eb030c6a22 fix(auth): limit application commands and configuration to admins and read:sensitive tokens
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 21:19:20 +01:00
fe6c73726d chore: merge main into next (#12344)
Co-authored-by: Andras Bacsai <5845193+andrasbacsai@users.noreply.github.com>
Co-authored-by: Aditya Tripathi <aditya@climactic.co>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 20:25:53 +01:00
Andras BacsaiandClaude Opus 5.5 56d0cf0e27 fix(servers): validate new cloud servers automatically when they are running
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 17:58:34 +01:00
Andras Bacsai 101444b8ca fix(log-drains): support Axiom edge domains and update Fluent Bit to 5.1
- Add an Axiom edge domain setting (default us-east-1) and use the /v1/ingest endpoint, so EU datasets work
- Remove the Highlight drain (service ended) and stop its running containers
- Update Fluent Bit from 2.0 to 5.1 and use the warn log level
- Restart running drains when the generated files change, with the new image pulled before the old container stops
- Show log drain validation errors under their fields

Closes #9898
2026-10-27 17:41:50 +01:00
Andras BacsaiandClaude Opus 5.5 18a85d37ba fix(hetzner): hide server types that are out of stock or deprecated in a location
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 17:35:22 +01:00
Andras Bacsai 1242353511 Merge remote-tracking branch 'origin/main' 2026-10-27 17:24:19 +01:00
Andras Bacsai bb1fada600 fix(clone): replace the clone suffix instead of adding one for each clone
Cloning a clone added another "-clone-<id>" to the name, so after about
seven clones the name was longer than 255 characters and the insert failed.

Closes #9976
2026-10-27 17:06:52 +01:00
Andras BacsaiandClaude Opus 5.5 1082b598c4 fix(api): return logs of stopped containers like the UI
The log endpoints found containers with `docker ps -a`, then rejected
every container that was not running. Remove that check, so failed
deployments can be diagnosed through the API. Without service_name,
the application endpoint prefers a running container. The old error
stays when no container exists.

Closes #9972

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 17:03:52 +01:00
Andras Bacsai e78659dfed fix(api): preserve omitted env var values and flags on PATCH (#12240) 2026-10-27 17:00:56 +01:00
Andras BacsaiandClaude Opus 5.5 bb24acd957 fix(http): retry connection failures of idempotent requests for all HTTP calls
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 16:36:50 +01:00
Andras Bacsai 16c6de823b fix(cloud-providers): show why Hetzner, DigitalOcean, and Vultr API requests fail
Provider errors now return 502 with a safe message, the provider status, and
the provider error code instead of a bare 500. Hetzner no longer sends a create
request again after a 5xx, and a VPS that Coolify did not save is deleted.
2026-10-27 16:35:57 +01:00
Andras Bacsai 1039368491 fix(s3): support virtual-hosted-style URLs for S3 storages
Add a "Use path-style URLs" setting to S3 storages. It is detected from
the endpoint (Alibaba OSS, Tencent COS, Volcengine/BytePlus TOS), and the
connection test switches to virtual-hosted style when the provider
rejects path-style requests. Backups pass `--path off` to mc.

Closes #10347
2026-10-27 15:53:16 +01:00
Andras Bacsai 4f9ad86e52 fix(applications): allow environment variable references in image tags
Closes #10642
2026-10-27 15:05:23 +01:00
Andras BacsaiandClaude Opus 5.5 80df5431dc fix(api): document database and resource list responses in OpenAPI
Add a Database schema and use it for GET /databases and
GET /databases/{uuid}, type the GET /resources items, and stop
requiring both environment_name and environment_uuid on create
endpoints. KeyDB now returns database_type like the other engines.

Closes #10449

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 14:42:29 +01:00
Andras BacsaiandClaude Opus 5.5 6b1dcc0c96 fix(api): return success false on access denied responses
Closes #12343

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 14:38:24 +01:00
Andras Bacsai 1a2a5362ad fix(security): secure remote command secrets and clone volume data 2026-10-27 09:47:18 +01:00
github-actions[bot] 7f65c6f303 Merge remote-tracking branch 'origin/main' into next 2026-10-26 18:49:11 +00:00
Andras Bacsai bafbc2e3d3 fix(api): regenerate proxy labels when exposed ports change (#12334) 2026-10-26 19:28:18 +01:00
Andras BacsaiandClaude Opus 5.5 4559d21b4c fix(api): save is_auto_deploy_enabled when creating Docker image and Dockerfile applications
Closes #12339

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 18:32:33 +01:00
github-actions[bot] 355e2f96e4 Merge remote-tracking branch 'origin/main' into next 2026-10-26 12:02:58 +00:00
Andras Bacsai 435645ce15 fix(api): write file storage content to server on PATCH (#12248) 2026-10-26 12:54:11 +01:00
Andras Bacsai 2be4f259b8 Merge remote-tracking branch 'origin/main' into automation/sync-main-to-next 2026-10-26 12:41:43 +01:00
Andras Bacsai d8fe02464b Merge remote-tracking branch 'origin/next' into automation/sync-main-to-next 2026-10-26 12:40:59 +01:00
Andras Bacsai 2796609e96 feat(access): add scoped grants for team members and API tokens (#12329) 2026-10-26 12:13:20 +01:00
Andras Bacsai 8eb33ddf31 Merge remote-tracking branch 'origin/next' into automation/sync-main-to-next 2026-10-26 12:12:20 +01:00
Andras Bacsai 25e2eae058 fix(webhooks): enforce GitHub app signatures in local environment 2026-10-26 12:08:15 +01:00
Andras Bacsai 7b83fa72eb feat(git): add HTTPS credentials for private repositories on custom Git hosts (#12328) 2026-10-26 10:50:24 +01:00
Andras BacsaiandClaude Opus 5.5 80ce0efe7e fix(api): use the Cloudflare client IP for allowed IPs and audit logs
Closes #12301

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 23:47:39 +01:00