Repository navigation
Conversation
…ompose deploys - restore_tests gains a kind column (test|restore) and query filters; real restores are now recorded as events (migration 0037) - backup panel adds a Test button beside Restore with live status chips - server addition requires pool-sourced auth: inline sshKey rejected, SSH mode needs sshKeyId or sshPassword (BUG-013) - github_integrations secrets encrypted at rest, legacy rows bootstrapped at boot (migration 0038) (BUG-004) - compose deploys inject platform env vars into service containers via a generated override file on both executors (BUG-012) - scale-event Caddy rewrites keep custom domains and replica upstreams (BUG-007) - idle scale-down hysteresis decoupled from the scale-up threshold; capped scale-ups stop refreshing lastScaleUp (BUG-010) - fallback docker start re-verified for 10s before reporting running; crash reproduced with container logs on failure (BUG-008) - vite-only builds default to static serve instead of node dist/index.js (BUG-009) - authenticated, token-redacted repository clones on remote SSH executors
- backups: restore-event write failure no longer masks a successful restore (event recorded outside the restore try, event errors logged) - projects: captureProjectGithubToken returns whether a token was stored so the created response reflects hasGithubToken - servers: sshPassword must be a non-empty string (object/truthy checks rejected) - github: decryptOrRaw warns with the failing field name; legacy encryption migration also encrypts stranded plaintext webhookSecrets per-field - compose env: escape $ to $$ in override values (local yaml + remote python) so compose interpolation cannot eat secrets; project env vars override platform env in subprocess (spread order) - railpack: exact server-framework names plus scoped packages only (socket.io-client/next-themes no longer force node start), keep node start for Vite SSR builds (--ssr flag or ssr config) - runtime: stability check fails any non-running state; docker-start verification surveys the full 10s window before declaring running - git auth: tokenized URLs no longer persisted to .git/config locally or in SSH scripts (insteadOf via GIT_CONFIG_* env); cloning/log lines shell-quoted - scaling: replica counting reads only the primary site block so custom-domain blocks don't inflate counts - tests: recreate lost server-validate/source-git-auth suites, add interpolation/escape/railpack SSR/engine block tests
- Two-tier network isolation (dequel_control vs dequel_net) to isolate PostgreSQL, Redis, Buildkit, and PAM auth from tenant apps - AES-256-GCM database password encryption at rest - AES-256 encrypted streaming database backups - Sliding-window rate limiting on auth and API endpoints - SOC 2 append-only audit logging table, repository, and API with 90-day retention - Cloudflare edge proxy preset, trusted proxy CIDRs, and web UI toggle - Ingress security headers (HSTS, nosniff, DENY, body size limits) in Caddy - Host firewall (UFW) automation script and CLI integration - Modularized schema and types to keep all files strictly under 500 LOC
- Authenticated AES-256-GCM streaming encryption with auth tag verification and error propagation for backups - Mask stored connection strings at rest and build authenticated URLs dynamically in repository - Prioritize sanitized X-Real-IP header from trusted reverse proxy over client-controlled headers - Validate and bound audit log query pagination (limit capped at 100, non-negative offset) - Retain per-domain Cloudflare proxy configuration for custom domains without target overrides - Include firewall setup script in dequel update and install download workflows - Automatically detect active SSH port and display rule inventory in host firewall setup - Restrict SSH key identity file permissions and reject unauthenticated remote SSH gateway routes
feat(security): implement production security hardening
# Conflicts: # apps/api/src/db/migrations/meta/_journal.json # apps/api/src/db/schema.ts # apps/api/src/types.ts # apps/api/src/utils/domain-verifier.ts
feat: restore-test records, pool-only server keys, and env-injected ompose deploys
feat(docs): ship OG SEO for landing page and serve install.sh
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configuration
You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
9 of 15 tasks
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.