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
7d699818e8
fix: harden Vultr create, Gmail identity, and provider retries
...
Wrap Vultr server creation in DB transactions and delete the remote
instance when local persistence fails (API and Livewire). Scope
plus/dot email normalization to gmail.com/googlemail.com only.
Use throw:false on DigitalOcean/Vultr HTTP retries, and normalize
service log line counts via normalizeLogLines.
2026-07-16 13:42:53 +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
6ae1b4eba2
fix(backups): show setup prompt when no S3 storage is available
2026-07-15 20:36:23 +02:00
Andras Bacsai
91d97bfad2
fix(status): prevent health badge row height expansion
2026-07-15 20:07:51 +02:00
Andras Bacsai
e0f85de3fe
fix(backups): move S3 retention settings to retention page
2026-07-15 20:00:10 +02:00
Andras Bacsai
aef70eb053
refactor(backups): consolidate volume backup retention columns
2026-07-15 19:55:29 +02:00
Andras Bacsai
9d04bb7e59
fix(backups): rename storage backup page heading
2026-07-15 18:17:54 +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
995ec5fbb6
Merge remote-tracking branch 'origin/next' into volume-backups-server-s3
2026-07-15 16:33:51 +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
908b5cc09d
feat(api): add service database management endpoints
...
Add service database CRUD, logs, and lifecycle actions, and document service application operations with OpenAPI tests.
2026-07-15 12:29:58 +02:00
Andras Bacsai
64667574f6
fix(api): correct service and application OpenAPI schemas
2026-07-15 12:29:20 +02:00
Andras Bacsai
05dc2c65f6
chore(deps): bump web-auth/webauthn-lib from 5.3.3 to 5.3.5 ( #10901 )
2026-07-14 14:18:00 +02:00
Andras Bacsai
198e9f8fff
fix(environment-variable): align settings and actions responsively
2026-07-14 14:02:34 +02:00
Andras Bacsai
59605fe7d3
fix(environment-variable): keep delete button compact
2026-07-14 13:58:15 +02:00
Andras Bacsai
34e6a6dd5d
feat(api): add application settings to application endpoints
2026-07-14 13:44:45 +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
5381287606
Update configuration for compatibility with EspoCRM v10 ( #10848 )
2026-07-13 15:06:35 +02:00
Andras Bacsai
683a2ce2e9
feat(services): bump alexandrie to version 8.10.0 ( #10864 )
2026-07-13 15:06:16 +02:00
Andras Bacsai
47a292486c
chore(deps): bump NGINX package to 1.31.2-r1
2026-07-13 10:54:31 +02:00
Andras Bacsai
c8a332a3bc
fix(servers): isolate cloud status checks from SSH checks
...
Track provider state independently, skip SSH work for placeholder IPs, and clean up failed cloud server provisioning.
2026-07-11 22:52:10 +02:00
Andras Bacsai
e01b8a057e
fix(servers): retain cloud instances awaiting IPs
...
Persist DigitalOcean, Hetzner, and Vultr servers before public IP
assignment, then backfill placeholder addresses from provider state.
Treat partial Sentinel snapshots as non-authoritative and document the
destinations API with OpenAPI schemas.
2026-07-11 21:35:10 +02:00
dependabot[bot]
bd82b4c1cd
chore(deps): bump web-auth/webauthn-lib from 5.3.3 to 5.3.5
...
Bumps [web-auth/webauthn-lib](https://github.com/web-auth/webauthn-lib ) from 5.3.3 to 5.3.5.
- [Commits](https://github.com/web-auth/webauthn-lib/compare/5.3.3...5.3.5 )
---
updated-dependencies:
- dependency-name: web-auth/webauthn-lib
dependency-version: 5.3.5
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-07-10 18:35:42 +00:00
Andras Bacsai
d3fbb32c52
feat(cdn): sync release metadata through BunnyCDN
...
Replace the legacy sync:bunny flags with an interactive CDN sync flow for service templates and release metadata. Serve official service templates from the Coollabs CDN, update version metadata, and remove obsolete helper scripts.
2026-07-10 14:29:11 +02:00
Andras Bacsai
e4f925ebbf
fix(meta): serve releases metadata from Coollabs CDN
2026-07-10 10:49:59 +02:00
Andras Bacsai
dd10a90d8c
fix(meta): update social preview image URL
2026-07-10 10:48:06 +02:00
Andras Bacsai
bcadcc9200
docs(readme): serve sponsor images from Coollabs CDN
2026-07-10 10:47:38 +02:00
Andras Bacsai
2a0183bfad
Revert "feat(notifications): deduplicate repeated email alerts"
...
This reverts commit 8c1405e168 .
2026-07-09 13:19:48 +02:00
Andras Bacsai
8c1405e168
feat(notifications): deduplicate repeated email alerts
...
Add notification-level deduplication keys and TTLs for deployment, backup,
server, container, scheduled task, SSL, token, and transactional emails.
Apply deduplication in email channels before sending rendered messages.
2026-07-08 15:23:14 +02:00
Andras Bacsai
ee620a5413
fix(github): honor skip flags for PR preview syncs ( #10873 )
2026-07-08 15:06:31 +02:00
Andras Bacsai
e325f93662
Merge remote-tracking branch 'origin/next' into 10870-pr-previews-ignore
2026-07-08 15:06:16 +02:00
Andras Bacsai
f24439f9c8
test(github): cover PR previews without skip ci
2026-07-08 14:44:40 +02:00
Andras Bacsai
3f960d94c3
fix(github): skip opened PR previews with skip ci
2026-07-08 14:41:37 +02:00
Andras Bacsai
0217e2b0c0
feat(server): improve private key and cloud link flows
...
Add server private key generation from the dropdown, prevent deleting
private keys that are still in use, and close cloud provider link modals
after successful linking.
2026-07-08 13:35:09 +02:00
Andras Bacsai
f4f4274cee
fix(github): skip PR previews from head commit flags
2026-07-08 13:31:23 +02:00
Andras Bacsai
9b8aeb4758
feat(server): add private key creation to IP server form
2026-07-08 13:05:29 +02:00
Andras Bacsai
e200d881f5
feat(security): add editable cloud credential pages
...
Add dedicated show/edit pages for cloud provider tokens and cloud-init
scripts, including descriptions and UUID routes.
Generate private keys directly from the index and surface cloud provider
API loading errors in server creation flows.
2026-07-08 12:58:27 +02:00
Andras Bacsai
7236cb8228
feat(server): add dedicated server creation flow
2026-07-08 12:20:56 +02:00
Andras Bacsai
18f0f7f6be
feat(digitalocean): add droplet provisioning support ( #10871 )
2026-07-08 10:50:25 +02:00
Andras Bacsai
c303c34cfd
feat(digitalocean): add droplet provisioning support
2026-07-08 10:42:58 +02:00
Andras Bacsai
5936874ffd
feat(vultr): add cloud provider integration ( #10533 )
2026-07-08 10:24:10 +02:00