feat: gateways get created on project init#4367
Conversation
|
|
The latest updates on your projects. Learn more about Vercel for GitHub.
1 Skipped Deployment
|
|
Caution Review failedThe pull request is closed. 📝 WalkthroughWalkthroughThis PR migrates from an internal proto package to generated proto files, updates import paths across the dashboard, implements new Project and Environment services in the backend, and transitions project creation from a local database transaction to a remote Ctrl service call. Additionally, the environments.description column is made non-nullable with a default value. Changes
Sequence Diagram(s)sequenceDiagram
autonumber
participant Dashboard as Dashboard<br/>(create.ts)
participant Ctrl as Ctrl API<br/>(ProjectService)
participant Hydra as Hydra<br/>(ProjectService Workflow)
participant DB as Database
participant Krane as Krane<br/>(GatewayService)
Dashboard->>Ctrl: CreateProject Request<br/>(workspaceId, name, slug, gitRepository)
Ctrl->>Ctrl: Validate workspace & slug
Ctrl->>Hydra: CreateProject via Restate
Hydra->>DB: Insert Project record
Hydra->>DB: Insert Dev Environment
Hydra->>Krane: Provision Dev Gateway<br/>(replicas: 1, image: nginx)
Krane->>DB: Create Gateway record
Hydra->>DB: Insert Prod Environment
Hydra->>Krane: Provision Prod Gateway<br/>(replicas: 3, image: nginx)
Krane->>DB: Create Gateway record
Hydra->>Hydra: Return ProjectId
Ctrl->>Dashboard: CreateProjectResponse<br/>(projectId)
Dashboard->>Dashboard: Return created project
Estimated code review effort🎯 4 (Complex) | ⏱️ ~45 minutes
✨ Finishing touches
🧪 Generate unit tests (beta)
📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: CHILL Plan: Pro ⛔ Files ignored due to path filters (21)
📒 Files selected for processing (35)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
This stack of pull requests is managed by Graphite. Learn more about stacking. |
…ays_get_created_on_project_init

What does this PR do?
Relocates the protobuf generated files from
internal/prototoapps/dashboard/gen/protoand updates all imports to use the new location. This change removes the dependency on the@unkey/protopackage and instead directly imports the generated protobuf files from their new location.Type of change
How should this be tested?
Checklist
Required
pnpm buildpnpm fmtmake fmton/godirectoryconsole.logsgit pull origin main