Andras Bacsai
72a0a57f0e
fix(backups): enforce authorization and safe retention
...
- Gate volume backup retention and S3 controls by update permission
- Preserve backup records when S3 deletion fails
- Share SFTP download streaming with consistent missing-file handling
- Handle schedule creation errors and link service database backups
2026-07-19 23:15:55 +02:00
Andras Bacsai
662633399f
Merge remote-tracking branch 'origin/next' into volume-backups-server-s3
2026-07-18 16:07:26 +02:00
Andras Bacsai
28f8867567
feat(api): add volume backup schedule delete endpoints
...
Expose DELETE for application, database, and service storage backup
schedules (with OpenAPI docs), reject storage deletes while schedules
exist, skip retention cleanup when no limits are set, and remove S3
archives using the execution’s S3 storage.
2026-07-16 21:44:48 +02:00
Andras Bacsai
913d033c75
fix(resources): clarify build server hosting restrictions ( #10961 )
2026-07-16 21:35:23 +02:00
Andras Bacsai
fab012b5c8
fix(backups): allow volume backup delete without password when 2FA off
...
Skip empty-password rejection so delete works when two-step confirmation is disabled; cover with a feature test.
2026-07-16 14:43:02 +02:00
Andras Bacsai
ac36a59088
fix(backups): pin S3 per volume execution and harden deletes
...
Store s3_storage_id on scheduled volume backup executions so retention
and recovery use the S3 that received the upload. Extract
DeleteScheduledVolumeBackup for UI and resource deletion, and isolate
database backup retention failures so cleanup errors do not fail the job.
2026-07-16 14:30:58 +02:00
Andras Bacsai
8cfa41a7d9
fix(backups): sync Backup Now with live database status
...
Subscribe BackupEdit to database status broadcasts and refresh the
database status so the Backup Now control updates without a full reload.
2026-07-16 14:01:34 +02:00
Andras Bacsai
ddbed9f8a6
Merge remote-tracking branch 'origin/next' into volume-backups-server-s3
2026-07-16 13:47:15 +02:00
Andras Bacsai
2719d66042
feat: add ClickHouse backups and cloud ops tools
...
Enable scheduled ClickHouse backups across the job, API, and UI, and
guard unsupported database types via isBackupSolutionAvailable().
Convert Stripe subscription sync from a job to an action with clearer
discrepancy resolution, and add cloud:export-users plus
cloud:cleanup-unverified-users with tests.
2026-07-16 11:57:52 +02:00
Andras Bacsai
41eee14bd3
fix(backups): redirect to executions after manual backup queueing
...
Queue manual database and volume backups before redirecting to their execution views, including schedules with unusable S3 storage.
2026-07-15 17:39:48 +02:00
Andras Bacsai
d7385ad0c4
feat(backups): support scheduled backups for application storage targets
...
Add polymorphic volume backup scheduling for persistent volumes and directories, expose schedule management via API, and reorganize backup configuration and execution views.
2026-07-15 17:34:22 +02:00
Andras Bacsai
4eec1ac547
fix(backups): stop containers during volume backup creation
...
Track and recover stopped containers across interrupted backup executions.
2026-07-15 15:59:35 +02:00
Andras Bacsai
63961e0799
feat(backups): add scheduled persistent volume backups
2026-07-15 15:47:57 +02:00
Andras Bacsai
99e255a572
fix(deployment): detect application configuration changes consistently
...
Expand configuration snapshots, handle defaults from older snapshots, and refresh configuration state after Livewire setting changes.
2026-07-14 12:54:31 +02:00
Andras Bacsai
11b35ba3c1
feat(api): add tags to resource creation
...
Normalize tag names before attaching them, reject names that are too short
after sanitization, and return 404 when removing tags not attached to the
resource.
Adds a per-team unique tag-name index and migrates duplicate tags onto the
kept record before creating the constraint.
2026-07-07 13:56:33 +02:00
Andras Bacsai
9b060958aa
fix(ray): remove Ray debug hooks from runtime ( #10847 )
2026-07-03 11:40:20 +02:00
Andras Bacsai
cf6f5a2678
feat(registry): add configurable docker registry url ( #9017 )
2026-07-02 18:52:46 +02:00
Andras Bacsai
c6c7ec1c31
fix(security): validate application domains safely
...
Use shared domain validation and normalization for application, service, and
preview domains so unsafe host input is rejected consistently.
Cover command-substitution payloads in application domain tests.
2026-07-02 17:47:04 +02:00
Andras Bacsai
954c1e369c
fix(env-vars): avoid service preview variable lookups ( #10837 )
2026-07-02 17:39:16 +02:00
Andras Bacsai
d5395f0500
fix(services): preserve template keys for selection
2026-07-02 17:16:40 +02:00
Andras Bacsai
0bf97df9af
feat: add internal endpoint controls
2026-07-02 16:35:39 +02:00
Andras Bacsai
20b5b90cf9
Merge remote-tracking branch 'origin/next' into improve-s3-storage-handling
2026-07-02 15:06:11 +02:00
Andras Bacsai
78d9244caa
fix: improve s3 storage handling
2026-07-02 15:05:05 +02:00
Andras Bacsai
a06c1a7bf5
Improve storage mount path handling
2026-07-02 14:54:38 +02:00
Andras Bacsai
74f4d04f53
fix(backups): default S3 storage for backup schedules
...
Show the S3 storage selector even when S3 backups are disabled, save
storage changes immediately, and improve responsive confirmation buttons.
2026-07-02 12:47:54 +02:00
Andras Bacsai
22b31f5671
fix(backups): require valid S3 storage selection
...
Preserve S3 backups when a single valid storage is available, require
explicit selection when multiple storages exist, and disable S3 when none
are available.
Make backup action controls responsive on narrow screens.
2026-07-01 11:14:20 +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
78d8afa602
Merge remote-tracking branch 'origin/next' into audit-policies
2026-06-15 12:05:19 +02:00
Andras Bacsai
22f9f96db6
chore: inspect staged changes for commit message
2026-06-04 15:24:53 +02:00
Andras Bacsai
5973bb4d4f
fix(security): hide notification secrets from non-admins
...
Prevent users without update permission from reading notification credentials and manual webhook secrets in Livewire state or rendered forms.
2026-06-04 11:24:19 +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
981b670eb4
feat(services): show template update timestamps
2026-06-04 09:34:11 +02:00
Andras Bacsai
1802522c60
fix(env-vars): treat search wildcards literally
...
Escape SQL LIKE wildcard characters in environment variable searches and hide production or preview sections when the filtered results are empty.
2026-06-03 13:43:26 +02:00
Andras Bacsai
d7524a743d
fix(env-vars): show single empty state for searches
...
Move the environment variable search field above the production section
and hide production and preview headings when a search has no results.
2026-06-03 12:54:50 +02:00
Andras Bacsai
d525c12457
fix(env): keep dev view env saves independent of search
...
Search environment variables case-insensitively by key, add accessible search
labeling, and ensure switching to developer view after searching loads the full
variable set so non-matching entries are not removed on save.
2026-06-03 11:40:54 +02:00
Andras Bacsai
ad4a21d15f
Merge remote-tracking branch 'origin/next' into feat/search-to-envs
2026-06-03 11:40:38 +02:00
Andras Bacsai
d581abb284
Merge remote-tracking branch 'origin/next' into jean/add-restart-loop-limit
2026-06-03 10:43:57 +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
be6ed4377d
feat(ui): add resource details view ( #9756 )
2026-06-03 10:21:15 +02:00
Andras Bacsai
63be45b21b
fix(ui): configuration changes modal doesn't go away after redeployment for git based compose apps ( #10461 )
2026-06-03 10:19:03 +02:00
Andras Bacsai
973632b49c
Merge remote-tracking branch 'origin/next' into audit-policies
2026-06-02 12:03:38 +02:00
Andras Bacsai
507ecfdf54
Merge remote-tracking branch 'origin/next' into fix/application-image-validation
2026-06-02 11:14:35 +02:00
Andras Bacsai
d72c1e2a47
fix(applications): harden image validation
2026-06-02 11:11:33 +02:00
Andras Bacsai
2bb07bbe9e
fix: validate application branch updates
2026-06-01 15:13:04 +02:00
Andras Bacsai
8e30035031
Merge remote-tracking branch 'origin/next' into s3-backup-validation
2026-06-01 10:32:17 +02:00
Andras Bacsai
d4ff7ea791
Merge remote-tracking branch 'origin/next' into s3-backup-validation
2026-06-01 10:02:12 +02:00
Andras Bacsai
3db41a83a8
Merge remote-tracking branch 'origin/next' into terminal-long-session-disconnects
2026-06-01 09:52:34 +02:00