Next (wip) - #11106
Open
andrasbacsai wants to merge 142 commits into
Open
Conversation
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.
Allow s6 services to start for specific roles like horizon, scheduler, nightwatch, and flux while keeping all as the default.
Add scripts and Lima config for managing local coold endpoint VMs, mint Flux dev host JWTs, expose coold host details on the V5 home page, and document the local development workflow.
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.
Add ping and firewall up/down helpers for example nginx dev VMs. Remove the v5 home ready banner and coolify version controls, and render Flux status as a compact summary.
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.
Switch Lima VM dev-environment sync from a custom Artisan command to a
database seeder. The seeder creates/updates the Development-Lima cluster
and its two servers idempotently, reading ssh_user from the
COOLIFY_CLI_SSH_USER env var (exposed via config('coold.dev_ssh_user')).
dev.sh now passes COOLIFY_CLI_SSH_USER and runs db:seed instead of
building per-server --server flag arrays.
Convert all v5 JS/JSX source files to TS/TSX, add tsconfig.json, install typescript and @types/react* dev deps, add typecheck npm script, create types.ts with shared prop types, and update Tailwind CSS source glob and shadcn components.json to include TS extensions.
Extract clusters out of Home into a standalone Clusters page with its own controller action and route. Delete CoolifyCliBootstrap and CoolifyCliVersion services along with the coolifyCliVersion endpoint. Add Dialog component, warning CSS token, Inertia progress bar, and a Clusters nav link. Extend V5Server type with ssh/builder/key fields.
Rename HomeController, Home page, and V5HomeProps type to Dashboard equivalents. Update route name from 'home' to 'dashboard'. Add coollabs brand color tokens to CSS theme and a 'coolify' button variant using those colors. Add Sheet UI component for slide-over panels. Update navbar with active-route detection and Sheet-based mobile drawer. Switch cluster action buttons to use the new 'coolify' variant.
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.
- 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
Remove server count badge, last run status, and CLI summary from the cluster detail panel. Rename "CLI state" to "Cluster state" and update the add-server dialog to drop "CLI-generated" wording. Add test assertions covering all removed and renamed elements.
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.
Add v5 architecture docs and update dev bootstrap, seeding, and tests to use bridged Lima .local hosts with a container-accessible SSH key.
Remove active builder flags from dev Lima sync, bootstrap commands, and server capabilities while documenting the v5 control-plane and host-agent boundaries.
Add an application Internal access section that loads the running container hostname (skipped for Compose apps), densify configuration diff and popup-small defaults, dock the server-timing HUD into the mobile top bar, restyle the 2FA challenge with the auth shell, and enforce 16px mobile form fonts to prevent iOS zoom.
Move email verification and team invitation into x-auth.shell with shared guidance/alert patterns. Truncate long team names in the mobile header switcher so actions stay visible. Cover both with markup tests.
Standardize highlighted buttons, selected controls, and loading indicators on coollabs accent colors; improve light-mode log toolbar styling; enhance small popups with compact/icon modes; and align navbars, helpers, and related layouts with matching tests.
Map svg/ logo paths to public svgs/, fall back when files are missing, and tighten hardcoded database logo viewBoxes on the new-resource select page.
Make button and helper tooltips keyboard-focusable with ARIA roles, close helper popups on outside pointer/focus leave, reserve select chevron padding, rotate DNS chevron when open, and re-key the service domain list after row changes.
Group service domain tables with inline redirect controls, live-save redirects without full refreshes, and only auto-pair www hosts when a www redirect is active. Align helper tooltips, server-timing HUD, and loading spinners with dark-theme accents; default theme-color to dark.
Dispatch edit-domain-saved so Alpine closes the domain edit modal, wire Save to updateDomain, and force white active log toolbar text in dark mode. Seed railpack examples on the local Docker destination only and remove Lima servers, environments, and V5DevLimaSeeder.
Only show the copy control when isSecureContext and clipboard.writeText are available, and style the empty internal hostname state as a readonly input to match adjacent fields.
Move internal hostname loading and breadcrumb status into dedicated Livewire components with live refresh. Merge public/internal access into one Access section, bind Enter to save on the unsaved bar, and drop x-teleport wrappers from popup and global search.
Show configured domain count in a bordered card with helper copy and a Manage link, and update the feature test assertions to match.
Introduce x-table toolbar/search/filter/sort/loading components and multi-select deployment history filters with OR within groups and AND across groups. Add live database/service status for breadcrumbs, shared variables layout controls, logs viewer toolbar polish, and infrastructure list filter consistency. Document patterns in UI_REDESIGN.md and cover with feature tests.
Support a custom accent theme across nav, terminal, scrollbars, and loaders. Improve light-mode tokens, helper popup placement, and theme persistence (including purple→custom migration). Cover with appearance and scrollbar tests.
Add shared status-summary and icon-tooltip components and wire them into application, service, and database headings, breadcrumbs, and previews. Badge production and PR domain links, prefer helper popups below the trigger, keep full wire targets for button loading, and cover the UI with feature tests.
The pinned cloudflared 2025.7.0 is built with Go 1.24.4 and grpc v1.72.2, which carry two CRITICAL vulnerabilities: - CVE-2025-68121 (crypto/tls: incorrect certificate validation during TLS session resumption), fixed in Go 1.24.13 - CVE-2026-33186 (grpc-go authz: authorization bypass due to improper HTTP/2 path validation), fixed in grpc 1.79.3 cloudflared 2026.7.3 ships patched Go/grpc; a Trivy scan of the official linux-amd64 binary reports zero CRITICAL findings.
Keep error pages full-viewport, lift the unsaved bar above the mobile keyboard, make status/heading layouts stack cleanly on small screens, route service DB backups to volume-backups, and tighten volume backup grid/forms. Cover with feature tests.
Replace responsive column-hiding with horizontal scroll and a fixed min-width grid so Status, Source, Commit, Started, Duration, and Server stay available on small screens. Also let logs-viewer actions grow in the primary toolbar so the status badge remains usable.
Position helper info popups with visualViewport bounds and max size so they stay on screen. Ignore helper triggers in the global icon tooltip handler via data-icon-tooltip-ignore.
Surface unset required service env vars in the configuration checker popup and sidebar, refresh on env updates, and keep the env table horizontally scrollable with correct managed/hardcoded pagination order.
Add a local-only command palette action to show/hide the Server Timing HUD via localStorage and a visibility event. Make the service heading "Required variables missing" badge link to environment variables, with tests covering both behaviors.
Eager-load S3 on volume backup lists and add an S3 status column with Configured/Unavailable/Not set badges. Surface Local vs S3 on the persistent storages backup column. Move service resource domain links to a globe action in the card footer, and update related tests and grid CSS.
Limit helper info popups to 320px with normal text wrapping so content stacks vertically. Use the shared status-summary on the application destination card instead of custom status badges.
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.
wip