Commit Graph
1499 Commits
Author SHA1 Message Date
Andras Bacsai 559cdbff25 Merge remote-tracking branch 'origin/next' into v5-parallel-inertia-react 2026-06-30 21:31:25 +02:00
Andras Bacsai a630532308 fix(deploy): preserve deploy key command metadata 2026-06-29 10:17:09 +02:00
Andras Bacsai e3e91b7741 feat(v5): sync server status and ingress access
Add Flux agent token issuing, open and revoke Caddy ingress firewall
rules, broadcast server-scoped application status updates, and update
the dashboard to show unreachable servers as unknown.
2026-06-22 11:56:26 +02:00
Andras Bacsai 1c091e9e36 feat(v5): add dashboard ingress routing controls
Add V5 dashboard controls and validation for enabling server-backed app ingress, track generic ingress type/status fields, and improve Flux dispatch timeout/error handling.
2026-06-20 23:10:48 +02:00
Andras Bacsai ad0bcc8a4a feat(v5): add application ingress routing 2026-06-20 15:08:45 +02:00
Andras Bacsai 86156b6f7a feat(v5): add mesh app canvas 2026-06-20 09:23:16 +02:00
Andras Bacsai 24bbfe07c6 feat(v5): add server bootstrap job with realtime cluster broadcasting
- Add V5BootstrapServerJob: SSH into new servers, install coold/WireGuard,
  track bootstrap progress via last_bootstrap_action/status/output fields
- Add V5ClusterUpdated event: broadcasts full cluster+servers payload to
  team private channel on bootstrap state changes
- Add V5RealtimeTestEvent + RealtimeTest page for WebSocket connectivity testing
- Consolidate 3 dropped migrations into base cluster/server migrations:
  WireGuard config, builder CPU quota, status check fields, uuid
- Auto-generate uuid on V5Model create via Schema::hasColumn guard
- Expose currentTeam.id in Inertia shared props
- Add showCluster, realtimeTest, broadcastRealtimeTest controller endpoints
- Add dropdown-menu UI component
2026-06-19 11:44:42 +02:00
Andras Bacsai 3ae87334bd feat(v5): add WireGuard and coold/corrosion config to clusters/servers
Add WireGuard networking fields (interface, management pool, listen port),
container network pool, coold/corrosion versioning, and builder CPU quota
to clusters and servers via new migrations and model fillables.

Expose full cluster and server CRUD on the Clusters page with private key
selection, pending state tracking, and new form primitives (Field, Input,
Textarea). Add server status check fields and a lima test VM config for
development.
2026-06-19 07:23:45 +02:00
Andras Bacsai 9566b259b2 refactor(v5): remove Project model and consolidate v5 migrations
Drop v5_projects table, Project model, and related alter-table
migrations; fold cluster_id and nullable private_key_id into the
initial v5_servers migration; rename migration files to v5_ prefix;
strip cooldServers/privateKeys/teams props from HomeController and
Home page.
2026-06-16 16:57:52 +02:00
Andras Bacsai 1e038fecae feat(v5): add server clusters and CLI bootstrap
Create v5 cluster/server persistence, expose them on the home page,
and add a bootstrap endpoint backed by the coolify CLI. Add dev Lima
server sync support and update the dev script firewall flow.
2026-06-16 15:45:16 +02:00
Andras Bacsai dcd325dc44 feat(v5): add Inertia app shell with Flux health
Adds v5 routing, middleware, home page rendering, team context sharing,
project model/table support, and Flux health reporting. Installs Flux in
container builds with role-aware s6 services and documents runtime roles.
2026-06-15 23:09:49 +02:00
Andras Bacsai 78d8afa602 Merge remote-tracking branch 'origin/next' into audit-policies 2026-06-15 12:05:19 +02:00
vuguul 4c77504b5e fix(service): limit Grafana extra fields to Grafana images 2026-06-05 14:29:29 -06: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 e39a9ad827 fix(git): use deploy key path for PR fetches 2026-06-03 14:39:05 +02:00
Andras Bacsai 3eb5463e3e Merge remote-tracking branch 'origin/next' into fix/deploy-key-dedicated-path-race 2026-06-03 14:00:34 +02:00
Andras Bacsai 36d44faaf9 fix(git): apply HTTP transport config to PR checkouts 2026-06-03 12:59:45 +02:00
Andras Bacsai 9dabaabdf1 fix(git): force HTTP/1.1 for repository imports
Apply HTTP/1.1 transport config to HTTPS git clone and submodule commands,
including GitHub App credential rewrites, to avoid flaky large repo imports.
2026-06-03 12:42:04 +02:00
Andras Bacsai 9aa40bb5f0 Merge remote-tracking branch 'origin/next' into jean/allow-dots-username 2026-06-03 11:38:55 +02:00
Andras Bacsai bc2afdf02e fix(server): share SSH username validation
Centralize SSH username rules and sanitization so dotted usernames are
accepted consistently across API, onboarding, and Livewire server forms.
2026-06-03 11:38:48 +02:00
Andras Bacsai 13e94a499d feat(destinations): split Docker resources into separate page
Move standalone Docker destination resource listings out of the general
settings view and add a searchable resources page with team-scoped tests.
2026-06-03 11:24:36 +02:00
Andras Bacsai aaa540421f feat(application): preserve crash restart limit status
Stop applications after they hit the crash restart limit without clearing
restart tracking, surface the stopped-limit warning in status UI, and use
the application link in restart limit notifications.
2026-06-03 11:01:28 +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 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
Ömer Faruk ŞAHİN 903f7a7177 Merge branch 'next' into fix/deploy-key-dedicated-path-race 2026-06-03 10:28:34 +03:00
Andras Bacsai 252a4a702c Merge remote-tracking branch 'origin/next' into audit-policies 2026-06-02 12:08:35 +02:00
Andras Bacsai 973632b49c Merge remote-tracking branch 'origin/next' into audit-policies 2026-06-02 12:03:38 +02:00
Andras Bacsai 93aa8894a8 fix(service): Garage doesn't start due to RPC secret being wrong length (#10425) 2026-06-02 12:01:41 +02:00
Andras Bacsai a511bd9b67 fix(api): validate token team context 2026-06-01 15:17:55 +02:00
Andras Bacsai e7483f591f fix(deployments): scope submodule git credentials per command
Use per-command git config for GitHub App HTTPS credentials so private submodules authenticate without persisting global git config. Preserve configured git options for checkout, fetch, submodule, and LFS commands, and cover GitLab PR submodule checkout with tests.
2026-06-01 10:54:14 +02:00
Andras Bacsai bc8928fdc4 Merge remote-tracking branch 'origin/next' into 2731-investigate-failed-git-clone 2026-06-01 10:40:02 +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 51062e73a6 fix(database): honor disabled standalone health checks
Skip Docker healthcheck configuration when standalone database health checks are disabled, and document default health check settings in the database API schema.
2026-06-01 08:55:03 +02:00
Jérémy Derdaele b5416859e5 fix(templates): generate valid Garage RPC secret
Garage requires a 32 bytes secret (which is a 64 char hex string)
2026-05-31 23:57:46 +02:00
Andras Bacsai d423223d38 feat(database): configure standalone health checks
Add configurable health check settings for standalone databases and apply them to generated Docker Compose services. Allow disabling health checks and cover the behavior with feature tests.
2026-05-31 21:50:10 +02:00
ShadowArcanist 84eb9d31bb feat(ui): improve configuration changes modal 2026-05-30 13:16:37 +05:30
Ömer Faruk ŞAHİN ddd84e5adc fix(git): write deploy key to per-deployment path, not root's id_rsa 2026-05-28 19:13:29 +03:00
Andras Bacsai dd8a0d501d fix(s3): cap connection checks at 15 seconds
Return a friendly timeout error for failed S3 endpoint checks while
preserving the original exception as the previous throwable.
2026-05-28 17:31:11 +02:00
Andras Bacsai 9b996b4dc9 chore: inspect commit message guidance 2026-05-27 07:14:54 +02:00
Andras Bacsai 081bd6ef8c fix(seeding): ensure root user joins root team
Create the root team before production seeding depends on it, reuse the
existing root team when creating root users, and cover the production seeder
flow with a feature test.
2026-05-26 17:05:54 +02:00
Andras Bacsai a4d75ff0e2 fix(backups): validate S3 storage before backup scheduling
Prevent scheduled database backups from enabling S3 uploads without a valid team-owned storage configuration, and preserve the previous S3 storage ID in missing-storage error messages.

Add coverage for backup edit/create validation and S3 upload failure messaging.
2026-05-23 13:06:36 +02:00
ShadowArcanist bd744eb8dd fix(ui): configuration changes modal values, colors and spacing 2026-05-22 21:22:50 +05:30
Andras Bacsai e9b8320d5f Fix source selection flow 2026-05-22 13:00:53 +02:00
Andras Bacsai 6ab88c46b2 Merge remote-tracking branch 'origin/next' into audit-policies 2026-05-13 11:15:29 +02:00
Andras Bacsai 4ff3e4b2be feat(deployments): track application configuration diffs (#10183) 2026-05-13 10:49:53 +02:00
Andras Bacsai df4d9f8069 fix(applications): use preview environment variable query
Call the preview environment variable relationship as a query when building the legacy configuration hash, and cover preview deployments with a regression test.
2026-05-13 10:28:18 +02:00
Andras Bacsai 3911a0305c fix(api-tokens): persist expiration warning state
Track when expiration warnings are sent on personal access tokens so repeated job runs or cache flushes do not send duplicate notifications.
2026-05-13 10:11:40 +02:00
Andras Bacsai f8849aba73 feat(deployments): track application configuration diffs
Store deployment configuration snapshots on application deployment queues and compare them against the current application state. Surface grouped pending changes in the configuration checker and use build-impact diffs to decide when an existing image can skip the build step.
2026-05-13 09:58:58 +02:00