Commit Graph
56 Commits
Author SHA1 Message Date
Andras BacsaiandClaude Opus 5.5 1e207292b6 fix(deployments): keep secrets out of failed command logs
- A failed command marked skip_command_log (for example the .env,
  build-time env, and SSH key writes) no longer puts its text into the
  exception, which was shown as the visible "Deployment failed" line
  with all secrets as base64. Its error output is also cleaned.
- Mark more secret-carrying commands as sensitive: the helper container
  with build secrets, railpack prepare, the Nixpacks plan, and Compose
  file writes.
- Dev debug lines list only variable names, not values.
- Invalid build-time variable names such as my-var stop a deployment
  only when it builds an image. Docker image deployments log a warning
  with a suggested name instead.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-26 10:40:53 +02:00
Andras Bacsai 50643a44f8 Keep deployment logging available on formatting errors 2026-09-24 09:36:59 +02:00
Andras Bacsai b37d24d258 Improve deployment log value handling 2026-09-24 09:29:23 +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 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.
2026-09-18 15:34:50 +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
Andras Bacsai 054c560cbd fix(deployments): preserve whitespace in saved command output (#11466) 2026-09-16 17:34:51 +02:00
Andras Bacsai 91d4467322 feat(secrets): resolve integrations across deployments and databases
Add secret manager integration links and API support, resolve referenced credentials in database startup commands, and improve environment variable handling and filtering.
2026-08-23 21:33:00 +02:00
Andras Bacsai ba179d50ac feat(secrets): add integration token and application manager APIs
Add API endpoints for creating validated secret manager tokens and configuring application secret manager settings. Suppress secret-bearing deployment command logs and redact resolved remote secrets.
2026-08-23 20:42:20 +02:00
Andras Bacsai a630532308 fix(deploy): preserve deploy key command metadata 2026-06-29 10:17:09 +02:00
Andras Bacsai 1a5b8d3612 fix(deploy): skip logging deploy key commands 2026-06-28 13:15:18 +02:00
Andras Bacsai 333cc9589d feat(deployment): add command_hidden flag to hide command text in logs
Add support for hiding sensitive command text while preserving output logs.
When command_hidden is true, the command text is set to null in the main log
entry but logged separately to the deployment queue with proper redaction.

- Add command_hidden parameter to execute_remote_command and executeCommandWithProcess
- When enabled, separates command visibility from output visibility
- Fix operator precedence in type ternary expression
2026-03-25 16:48:49 +01:00
Andras Bacsai fef8e0b622 refactor: remove verbose logging and use explicit exception types
- Remove verbose warning/debug logs from ServerConnectionCheckJob and ContainerStatusAggregator
- Silently ignore expected errors (e.g., deleted Hetzner servers)
- Replace generic RuntimeException with DeploymentException for deployment command failures
- Catch both RuntimeException and DeploymentException in command retry logic
2026-03-20 15:57:26 +01:00
Andras Bacsai ebfa53d9ca refactor(ssh): remove Sentry retry event tracking from ExecuteRemoteCommand
Remove the trackSshRetryEvent() call from SSH retry handling. This tracking is no longer
needed in the retry logic.
2026-03-12 13:01:18 +01:00
Andras Bacsai 5d38147899 feat(api): Improve OpenAPI spec and add rate limit handling for Hetzner
- Add 429 response with Retry-After header for Hetzner server creation
- Create RateLimitException for proper rate limit error handling
- Rename cloud_provider_token_id to cloud_provider_token_uuid with deprecation
- Fix prices array schema in server-types endpoint with proper items definition
- Add explicit default: true to autogenerate_domain properties
- Add timeout and retry options to Docker install curl commands
- Fix race condition in deployment status update using atomic query
2025-12-11 12:12:43 +01:00
Andras BacsaiandClaude a2e5b2d67d Fix deployment marked as failed when healthy container completes rolling update
Prevent deployment status from regressing to FAILED after it's marked as FINISHED by:
1. Calling completeDeployment() first in post_deployment() before any operations that could fail
2. Wrapping all post-deployment side effects in try-catch blocks
3. Adding FINISHED to terminal states that cannot be changed
4. Protecting ExecuteRemoteCommand from overwriting FINISHED status

This fixes the issue where a deployment with a healthy container and successful rolling update was still marked as Failed in the UI.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-11 09:42:02 +01:00
Andras Bacsai 67605d50fc fix(deployment): prevent base deployments from being killed when PRs close (#7113)
- Fix container filtering to properly distinguish base deployments (pullRequestId=0) from PR deployments
- Add deployment cancellation when PR closes via webhook to prevent race conditions
- Prevent CleanupHelperContainersJob from killing active deployment containers
- Enhance error messages with exit codes and actual errors instead of vague "Oops" messages
- Protect status transitions in finally blocks to ensure proper job failure handling
2025-11-09 14:41:35 +01:00
Andras Bacsai a03c1b3b4b refactor(dashboard): remove deployment loading logic and introduce DeploymentsIndicator component for better UI management 2025-09-30 11:43:30 +02:00
Andras Bacsai b83223ff6e Merge branch 'next' into v4.x 2025-09-25 14:39:23 +02:00
Andras Bacsai 2eef83f072 fix(traits): update saved_outputs handling in ExecuteRemoteCommand to use collection methods for better performance 2025-09-25 13:19:05 +02:00
Ahmed A 671e72b466 Merge branch 'next' into v4.x 2025-09-20 13:50:03 +03:00
Andras Bacsai 3f48dcb575 feat(redaction): implement sensitive information redaction in logs and commands 2025-09-19 15:54:44 +02:00
Ahmed A 59f3220d26 Merge branch 'next' into v4.x 2025-09-18 16:01:15 +03:00
Andras Bacsai 9e8fb36bc8 feat(deployment): implement cancellation checks during deployment process to enhance user control and prevent unnecessary execution 2025-09-16 13:40:51 +02:00
Ahmed A 4d52a26ac6 fix rebase 2025-09-13 17:04:22 +03:00
Ahmed A 5eacb01beb Merge branch 'v4.x' of https://github.com/ahmadw13/coolify into v4.x 2025-09-13 17:01:39 +03:00
Ahmed A b3d8b99959 Adding support for using config values for process 2025-09-13 17:00:17 +03:00
Ahmed A c2d6cd1445 spacing fix 2025-09-09 17:28:58 +03:00
Ahmed A a4e13f56c0 Adding support for using config values for process 2025-09-09 17:25:55 +03:00
Andras Bacsai 45c75ad9c1 feat(ssh): add Sentry tracking for SSH retry events to enhance error monitoring 2025-09-07 18:57:20 +02:00
Andras Bacsai 4bd29bf966 refactor(ssh): enhance error handling in SSH command execution and improve connection validation logging 2025-09-07 18:45:44 +02:00
Andras Bacsai 579cc25898 fix(ssh): introduce SshRetryHandler and SshRetryable trait for enhanced SSH command retry logic with exponential backoff and error handling 2025-09-07 17:17:35 +02:00
Andras Bacsai b847740924 refactor(command): simplify SSH command retry logic by removing unnecessary logging and improving delay calculation 2025-09-07 16:38:11 +02:00
Andras Bacsai b6176d905b feat(command): implement SSH command retry logic with exponential backoff and logging for better error handling 2025-09-07 10:26:23 +02:00
Andras Bacsai 8e8400f595 feat(utf8-handling): implement UTF-8 sanitization for command outputs and enhance error handling in logs processing 2025-06-05 14:27:39 +02:00
Andras Bacsai b570ccd7d3 format 2024-09-23 19:51:31 +02:00
peaklabs-dev 144508218e Fix: SSH multiplexing 2024-09-17 12:26:11 +02:00
Andras Bacsai 2c92cc40e1 refactor: Update code to use str() instead of Str::of() for string manipulation 2024-06-25 10:37:10 +02:00
Thijmen d86274cc37 Fix styling 2024-06-10 20:43:34 +00:00
Andras Bacsai 63758c6679 Remove debug statement in ExecuteRemoteCommand trait 2024-04-16 21:30:28 +02:00
Andras Bacsai 58523b0000 Refactor code to add sudo prefix for certain commands 2024-04-16 21:22:57 +02:00
Andras Bacsai af3c575d84 fix: server disabled 2024-02-26 14:22:24 +01:00
Andras Bacsai 678647f39a fix: force enable/disable server in case ultimate package quantity decreases 2024-02-26 10:25:21 +01:00
Andras Bacsai 1b6546d26c fix: nixpacks envs
fix: append logs
2024-01-11 12:56:02 +01:00
Andras Bacsai b9f820cef4 fix: save cmd output propely (merge) 2024-01-11 12:33:28 +01:00
Andras Bacsai 8d86d53292 fix: new logging for deployment jobs
fix: git based docker compose files
2023-11-27 11:54:55 +01:00
Andras Bacsai f96a91eb31 wip: compose based apps 2023-11-24 15:48:23 +01:00
Andras Bacsai ce26127705 wip: new deployment jobs 2023-11-21 22:17:35 +01:00
Andras Bacsai f88e3c5b29 feat: push locally built image to docker registry
ui: fixes here and there
2023-11-20 13:49:10 +01:00
Andras Bacsai 6b75ff7de4 wip: services 2023-09-21 17:48:31 +02:00