gito/services/core/internal/events/events.go
toki 8e6d531718 feat(provider): ProviderAdapter 인터페이스를 abstraction하여 다중 provider 지원으로 확장한다
- ProviderAdapter 인터페이스를 정의하고 AWS/GitLab provider 구현체를 추가한다
- CRD model에 ProviderRef 및 status 필드를 추가하여 provider 관리를 표준화한다
- ControlPlane에 provider registry를 통합하여 runtime/periodic event routing을 provider별로 분기한다
- Router에 routeByProvider 메서드를 추가하여 provider별 event 라우팅을 지원한다
- Event 시스템에 outbound event 전송 기능을 추가한다
- 관련 테스트를 추가하여 provider별 동작을 검증한다
2026-06-20 14:52:39 +09:00

32 lines
939 B
Go

package events
import "time"
type Event struct {
ID string
Type string
Subject string
// Payload is stored as a JSON object in the durable outbox.
Payload []byte
CreatedAt time.Time
}
const (
RepoChanged = "repo.changed"
BranchUpdated = "branch.updated"
WorkspaceLeased = "workspace.leased"
WorkspaceReleased = "workspace.released"
WorkspaceDirty = "workspace.dirty"
OperationStarted = "operation.started"
OperationCompleted = "operation.completed"
OperationFailed = "operation.failed"
AgentRunStarted = "agent.run.started"
AgentRunCompleted = "agent.run.completed"
ChangeRequestOpened = "change_request.opened"
ChangeRequestUpdated = "change_request.updated"
ChangeRequestMerged = "change_request.merged"
ChangeRequestClosed = "change_request.closed"
ProviderWebhook = "provider.webhook.received"
)
const PayloadEncodingJSON = "application/json"