|
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
Replace per-project notify host provisioning (7-9 API calls + DNS + async Resend verification) with a shared platform host for all *.threesix.ai projects. Under the new model: - CreateProjectNotify: 3 calls only (account + send key + host grant) - No per-project Resend domain, DNS records, or async verification - All *.threesix.ai projects share `threesix.ai` as the platform host - Custom domains still get a dedicated host via ReprovisionNotifyHost Changes: - domain/notify.go: slim NotifyCredentials (no Host/From/ResendDomainID); add NotifyHostCredentials for reprovision return path - port/notify_provisioner.go: update interface signatures and docs - adapter/notify/provisioner.go: rewrite CreateProjectNotify (3 steps); rewrite DeleteProjectNotify (account-only vs full cleanup) - adapter/notify/provisioner_reprovision.go: return *NotifyHostCredentials - adapter/notify/provisioner_test.go: update tests for new model - service/project_infra_crud.go: store only NOTIFY_API_KEY on provision - domain/credential.go: add CredKeyNotifySharedHost/CredKeyNotifySharedFrom - cmd/rdev-api/config.go: add NotifySharedHost/NotifySharedFrom to InfraConfig - service/component.go: add notifySharedHost/notifySharedFrom + WithNotifyDefaults - service/component_deploy.go: inject shared host defaults when no custom host stored - handlers/notify.go: handle shared-host projects in Reprovision guard; add WithSharedNotifyHost builder - cmd/rdev-api/main.go: wire SharedHost to provisioner, component service, and notify handler Bootstrap: NOTIFY_SHARED_HOST=threesix.ai and NOTIFY_SHARED_FROM=noreply@threesix.ai stored in credential store (host id=1 already provisioned with Resend provider). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| apikey_service_test.go | ||
| apikey_service.go | ||
| architect_service.go | ||
| blueprint_service.go | ||
| build_progress_test.go | ||
| build_progress.go | ||
| build_service_test.go | ||
| build_service.go | ||
| checkout_service.go | ||
| component_batch.go | ||
| component_deploy.go | ||
| component_infra.go | ||
| component_listing.go | ||
| component_test.go | ||
| component_updates_test.go | ||
| component_updates.go | ||
| component.go | ||
| conversation_service.go | ||
| diagnostics_service_test.go | ||
| diagnostics_service.go | ||
| mock_test.go | ||
| operation_service.go | ||
| project_infra_crud.go | ||
| project_infra_domains.go | ||
| project_infra.go | ||
| project_service_agent.go | ||
| project_service_commands.go | ||
| project_service_queue.go | ||
| project_service_test.go | ||
| project_service.go | ||
| question_service.go | ||
| saga_executor.go | ||
| sdlc_callback_test.go | ||
| sdlc_callback.go | ||
| sdlc_generate_test.go | ||
| sdlc_generate.go | ||
| sdlc_orchestrator_test.go | ||
| sdlc_orchestrator.go | ||
| sdlc_service_test.go | ||
| sdlc_service.go | ||
| session_service_test.go | ||
| session_service.go | ||
| verify_service.go | ||
| work_service_test.go | ||
| work_service.go | ||
| worker_service_test.go | ||
| worker_service.go | ||