Aligned all colors to the core app's dark theme palette:
- Main bg: #14181c, Surface: #1e2328, Borders: #282d34
- Navbar: #191e23, Text: #eaebee/#b0b5be, Muted: #8a909a
- Border radius: 0.25rem to match --rounded-box
- Hover states use bc @ 5-10% opacity like core app
Move the cluster migration form from standalone pages into the project
and add-on edit pages, removing the separate sidebar tabs and routes.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Allows users to migrate projects and add-ons from one cluster to another
within the same account. Creates a copy on the target cluster while keeping
the original intact for verification before cleanup.
Replaces hardcoded install actions with a ClusterPackage model backed by YAML config. Supports helm, manifest, and helm_and_manifest install types. Adds UI to create/edit pages for managing packages, and install/uninstall jobs for individual packages.
- Add Bitbucket API client with support for commits, webhooks, PRs, and file retrieval
- Add Bitbucket webhook controller and job for autodeploy
- Add Bitbucket provider creation action with token validation
- Update Provider model with Bitbucket constants and helper methods
- Update Git::Client factory to route to Bitbucket client
- Add Bitbucket routes for inbound webhooks
- Update provider views with Bitbucket option and instructions
- Update Project and Event models for Bitbucket URLs
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>