Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v4.0.0-beta.342 #3506

Merged
merged 244 commits into from
Sep 24, 2024
Merged

v4.0.0-beta.342 #3506

merged 244 commits into from
Sep 24, 2024

Conversation

peaklabs-dev
Copy link
Member

@peaklabs-dev peaklabs-dev commented Sep 19, 2024

Security Enhancements

  • Security Fix: Encrypt SSH private keys in the database
  • Fix: Ensure invalid SSH keys cannot be saved or added

Bug Fixes

  • Fix: Resolve issues with stopping large numbers of containers
  • Fix: Implement longer timeout (300s) for container operations
  • Fix: Various deletion issues
  • Fix: Fix network and unused image deletion after service and application removal
  • Fix: Correct database, service, and application container cleanup on stop
  • Fix: Address problems with SSH key management, including filename conventions and duplication
  • Fix: Resolve various issues related to development environment and database seeding
  • Fix: GH Action for label and assignment removal on the close of PRs
  • Fix: Gohst service template domain
  • Fix: Logto service
  • Fix: Cloudflared service network

Performance Improvements

  • CPU Performance Fix: Implement SSH multiplexing for all jobs, especially CheckServerJob, resulting in 50% faster execution of the ServerCheckJob (1s+ down to 0.5s or less) and reduced CPU consumption
  • CPU Performance Fix: Optimized SSH key handling to avoid unnecessary disk writes when executing remote commands (since the SSH key was written to disk each time a remote command was executed, this is no longer the case).

Feature Additions

  • Feat: Introduce a 2-step delete confirmation for critical actions:
    1. Enter resource name/domain
    2. Provide user password
  • Feat: Implement risk-based confirmation levels:
    • Low Risk: Single-click confirmation
    • Medium Risk: One-step verification (confirm with name)
    • High Risk: Two-step verification (confirm with name and user password)
  • Feat: Added detailed descriptions for deletion and stop operations with all actions that will be performed.
  • Feat: Enable deletion of all backups for a database backup job at once
  • Feat: Implement graceful stopping for services, applications, databases, coolify proxy and preview deployments
  • Feat: Add ability to enable/disable network deletion and add ability to enable/disable docker cleanup on delition
  • Feat: Introduce SSH key fingerprinting for uniqueness verification
  • Feat: Ability to manually cleanup unused SSH keys
  • Feat: New pull request template
  • Feat: New code formatting with pint on dev with spin up

Improvements

  • Feat: Made cloudflare tunnel production ready -> Improved UI and the flow
  • Feat: Refactor SSH multiplexing logic for easier maintenance and debugging
  • Improvement: Optimize SSH key storage to avoid duplication and decrease disk usage and filesystem writes
  • Improvement: Enhance backup job handling, including empty folder deletion
  • Improvement: Improved graceful shutdown process for containers

Issues

@Paarth-K
Copy link

Hi @peaklabs-dev, I just wanted to confirm if the refactored SSH multiplexing logic will remain compatible with servers connected via Cloudflare tunnels.

@peaklabs-dev
Copy link
Member Author

peaklabs-dev commented Sep 23, 2024

@Paarth-K I will check and add fixes if necessary (it should work though).

@andrasbacsai andrasbacsai merged commit d4d9268 into main Sep 24, 2024
4 checks passed
Copy link

sentry-io bot commented Sep 26, 2024

Suspect Issues

This pull request was deployed and Sentry observed the following issues:

  • ‼️ ParseError: syntax error, unexpected token ";", expecting "{" /webhooks/payments/stripe/events View Issue
  • ‼️ Error: Attempt to modify property "settings" on null /database/seeders/ProductionSeeder.php in Datab... View Issue
  • ‼️ Error: Call to undefined method stdClass::save() /database/migrations/2024_09_17_111226_add_ssh_... View Issue
  • ‼️ Exception: Failed to generate new ed25519 key: Too many requests from [185.221.82.32] to method [generateNew... livewire?component=security.private-key.create View Issue
  • ‼️ Exception: Failed to generate new rsa key: Too many requests from [172.71.98.51] to method [generateNewKeyPa... livewire?component=security.private-key.create View Issue

Did you find this useful? React with a 👍 or 👎

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Nov 1, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.