Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct {
DB db.Database
GitHub githubclient.GitHubClient
// RestateAdmin is used to cancel in-flight Deploy invocations when a
// new push supersedes an older one on the same branch.
RestateAdmin *restateadmin.Client
DashboardURL string
AllowUnauthenticatedDeployments bool
}
Config holds the configuration for creating a Service.
type Service ¶
type Service struct {
hydrav1.UnimplementedGitHubWebhookServiceServer
// contains filtered or unexported fields
}
Service implements the GitHubWebhookService virtual object for processing GitHub push events durably via Restate. Keyed by "{installation_id}/{repo_id}" to serialize webhook processing per repository.
func (*Service) HandlePush ¶
func (s *Service) HandlePush(ctx restate.ObjectContext, req *hydrav1.HandlePushRequest) (*hydrav1.HandlePushResponse, error)
HandlePush processes a GitHub push event durably via Restate. It looks up repo connections with full deploy context (project, environment, app, settings) in a single query, creates deployment records, and fires off DeployService.Deploy().
Click to show internal directories.
Click to hide internal directories.