Documentation
¶
Index ¶
- Variables
- func LogMessagesToRecords(traceID string, msgs []LogMessage) []sdklog.Record
- func SpansToPB(spans []SpanData) []*tracepb.ResourceSpans
- type Check
- type CheckActor
- type CheckCommit
- type CheckCommitOrg
- type CheckCommitRef
- type CheckEvent
- type Client
- func (c *Client) ConfigureSource(ctx context.Context, installationID, mode string, repositories []string) (*MappedSource, error)
- func (c *Client) CreatePortalSession(ctx context.Context, orgID string) (string, error)
- func (c *Client) DeleteOrgRepoSetting(ctx context.Context, orgID, repo string) (bool, error)
- func (c *Client) Engine(ctx context.Context, req EngineRequest) (*EngineSpec, error)
- func (c *Client) GitHubOAuthURL(ctx context.Context, redirectURI string) (string, error)
- func (c *Client) ModuleChecks(ctx context.Context, org string, moduleRef string, moduleVersion string) ([]CheckCommit, error)
- func (c *Client) OrgByName(ctx context.Context, name string) (*OrgResponse, error)
- func (c *Client) OrgChecks(ctx context.Context, org string, repos []string, first int) ([]CheckCommit, error)
- func (c *Client) OrgDetails(ctx context.Context, orgName string) (*OrgDetails, error)
- func (c *Client) OrgMappedSources(ctx context.Context, orgName string) ([]MappedSource, error)
- func (c *Client) OrgRepoSetting(ctx context.Context, orgName, repo string) (*RepoSetting, error)
- func (c *Client) Plans(ctx context.Context) (*PlansResponse, error)
- func (c *Client) Repos(ctx context.Context) ([]Repo, error)
- func (c *Client) RerunChecks(ctx context.Context, orgID string, checkIDs []string, cleanSlate bool) ([]Check, error)
- func (c *Client) RerunLoad(ctx context.Context, orgID, checkID string) (*Check, error)
- func (c *Client) SourceRepositories(ctx context.Context, installationID, orgID string) ([]SourceRepository, error)
- func (c *Client) Sources(ctx context.Context) ([]Source, error)
- func (c *Client) StatsSummary() string
- func (c *Client) StreamLogs(ctx context.Context, orgID string, traceID string, spanID string, ...) error
- func (c *Client) StreamSpans(ctx context.Context, orgID string, traceID string, handler func([]SpanData)) error
- func (c *Client) StreamSpansWith(ctx context.Context, orgID string, traceID string, opts SpanStreamOpts, ...) error
- func (c *Client) TraceMetadata(ctx context.Context, orgID, traceID string) (*TraceMetadata, error)
- func (c *Client) UpdateOrgRepoSetting(ctx context.Context, orgID, repo string, isPublic bool) (bool, error)
- func (c *Client) User(ctx context.Context) (*UserResponse, error)
- func (c *Client) UserChecks(ctx context.Context, repos []string, first int) ([]CheckCommit, error)
- func (c *Client) UserRepositories(ctx context.Context, refs ...string) ([]Repository, error)
- type EngineRequest
- type EngineSpec
- type ErrResponse
- type Feature
- type LogMessage
- type MappedSource
- type OrgDetails
- type OrgResponse
- type Plan
- type PlanItem
- type PlanPrice
- type PlansResponse
- type Repo
- type RepoSetting
- type Repository
- type SerializableCertificate
- type Source
- type SourceRepository
- type SpanData
- type SpanEvent
- type SpanLink
- type SpanScope
- type SpanStatus
- type SpanStreamOpts
- type SubscriptionInfo
- type TraceCIChange
- type TraceCIMetadata
- type TraceGitMetadata
- type TraceMetadata
- type UserResponse
Constants ¶
This section is empty.
Variables ¶
var ErrNoOrg = errors.New("no org associated with this Engine")
Functions ¶
func LogMessagesToRecords ¶ added in v0.20.2
func LogMessagesToRecords(traceID string, msgs []LogMessage) []sdklog.Record
LogMessagesToRecords converts Cloud API LogMessage values into OTel SDK log records suitable for feeding into a LogExporter.
func SpansToPB ¶ added in v0.20.0
func SpansToPB(spans []SpanData) []*tracepb.ResourceSpans
SpansToPB converts Cloud API SpanData into OTLP ResourceSpans proto, suitable for feeding through telemetry.SpansFromPB and into a SpanExporter.
Types ¶
type Check ¶
type Check struct {
ID string `json:"id"`
Name string `json:"name"`
Status string `json:"status"`
StartedAt *time.Time `json:"startedAt"`
EndTime *time.Time `json:"endTime"`
Duration *int `json:"duration"`
TraceID string `json:"traceId"`
SpanID string `json:"spanId"`
ModuleRef string `json:"moduleRef"`
ModuleVersion string `json:"moduleVersion"`
Internal bool `json:"internal"`
}
func (*Check) DurationAsTime ¶
type CheckActor ¶
type CheckCommit ¶
type CheckCommit struct {
Repo string `json:"repo"`
CommitSHA string `json:"commitSHA"`
CommitMessage string `json:"commitMessage"`
Timestamp time.Time `json:"timestamp"`
AuthorName string `json:"authorName"`
AuthorEmail string `json:"authorEmail"`
Events []CheckEvent `json:"events"`
Refs []CheckCommitRef `json:"refs"`
Checks []Check `json:"checks"`
// Org identifies the owning org of the commit. It is only populated by
// user-scoped queries (e.g. UserChecks) where checks may span orgs; the
// org-scoped queries leave it zero since the org is known from context.
Org CheckCommitOrg `json:"org"`
}
type CheckCommitOrg ¶
type CheckCommitRef ¶
type CheckCommitRef struct {
Typename string `json:"__typename"`
Name string `json:"name,omitempty"`
URL string `json:"url,omitempty"`
Number int `json:"number,omitempty"`
Title string `json:"title,omitempty"`
State string `json:"state,omitempty"`
IntegrationCommit string `json:"integrationCommit,omitempty"`
}
type CheckEvent ¶
type CheckEvent struct {
Provider string `json:"provider"`
Type string `json:"type"`
Timestamp time.Time `json:"timestamp"`
Actor CheckActor `json:"actor"`
}
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
func (*Client) ConfigureSource ¶
func (*Client) CreatePortalSession ¶
func (*Client) DeleteOrgRepoSetting ¶
func (*Client) Engine ¶ added in v0.18.9
func (c *Client) Engine(ctx context.Context, req EngineRequest) (*EngineSpec, error)
func (*Client) GitHubOAuthURL ¶
func (*Client) ModuleChecks ¶
func (*Client) OrgDetails ¶
func (*Client) OrgMappedSources ¶
func (*Client) OrgRepoSetting ¶
func (*Client) RerunChecks ¶
func (c *Client) RerunChecks(ctx context.Context, orgID string, checkIDs []string, cleanSlate bool) ([]Check, error)
RerunChecks re-runs the given checks (by ID) on Dagger Cloud, against the same commit they originally ran on, and returns the newly queued check runs. Checks that are already running or queued are skipped server-side and won't appear in the result. cleanSlate requests a no-cache-reuse run; it's an experimental, org-gated feature and is ignored when unavailable.
func (*Client) RerunLoad ¶
RerunLoad re-runs a failed load check (the gate that discovers and runs a commit's checks) by ID, returning the newly queued load check. Load checks are internal and can't go through RerunChecks; the server requires the check to be a failed load check.
func (*Client) SourceRepositories ¶
func (*Client) StatsSummary ¶
StatsSummary returns a human-readable breakdown of data fetched from Cloud, for --debug diagnostics.
func (*Client) StreamLogs ¶ added in v0.20.0
func (c *Client) StreamLogs( ctx context.Context, orgID string, traceID string, spanID string, descendants bool, handler func([]LogMessage), ) error
StreamLogs streams log messages for a span from Dagger Cloud's GraphQL API. When descendants is true, logs from the span's whole subtree are included; when false, only the span's own logs are returned.
func (*Client) StreamSpans ¶ added in v0.20.0
func (c *Client) StreamSpans( ctx context.Context, orgID string, traceID string, handler func([]SpanData), ) error
StreamSpans streams a trace's priority (root) spans. It's a convenience wrapper over StreamSpansWith and skips empty "caught up" batches.
func (*Client) StreamSpansWith ¶
func (c *Client) StreamSpansWith( ctx context.Context, orgID string, traceID string, opts SpanStreamOpts, handler func([]SpanData), ) error
StreamSpansWith streams span data with explicit subscription options. Unlike StreamSpans it passes through empty batches: the server emits an empty batch once it has caught up to the trace's current state, which callers doing incremental loading use as a "done with this pass" signal.
func (*Client) TraceMetadata ¶
TraceMetadata fetches a trace's git/CI context. Returns nil (no error) when the trace has no metadata recorded.
func (*Client) UpdateOrgRepoSetting ¶
func (*Client) UserChecks ¶
func (*Client) UserRepositories ¶
UserRepositories returns the repo-scoped Cloud configuration for the given refs, scoped to the authenticated user. Only repos that are currently auto-checked (selected) are returned.
type EngineRequest ¶ added in v0.19.1
type EngineRequest struct {
Module string `json:"module,omitempty"`
Function string ` json:"function,omitempty"`
ExecCmd []string `json:"exec_cmd,omitempty"`
ClientID string `json:"client_id,omitempty"`
MinimumEngineVersion string `json:"minimum_engine_version,omitempty"`
TraceID string `json:"trace_id,omitempty"`
}
type EngineSpec ¶ added in v0.18.9
type EngineSpec struct {
EngineRequest
Image string `json:"image,omitempty"`
Location string `json:"location,omitempty"`
OrgID string `json:"org_id,omitempty"`
UserID string `json:"user_id,omitempty"`
URL string `json:"url,omitempty"`
CertSerialized *SerializableCertificate `json:"cert,omitempty"`
InstanceID string `json:"instance_id,omitempty"`
}
func (*EngineSpec) TLSCertificate ¶ added in v0.18.9
func (es *EngineSpec) TLSCertificate() (*tls.Certificate, error)
type ErrResponse ¶ added in v0.18.9
type ErrResponse struct {
Message string `json:"message"`
}
type LogMessage ¶ added in v0.20.0
type MappedSource ¶
type OrgDetails ¶
type OrgDetails struct {
ID string `json:"id"`
Name string `json:"name"`
CreatedAt string `json:"createdAt"`
Subscription SubscriptionInfo `json:"subscription"`
Features []Feature `json:"features"`
}
type OrgResponse ¶ added in v0.20.0
type PlansResponse ¶
type PlansResponse struct {
Plans []Plan `json:"plans"`
}
type RepoSetting ¶
type Repository ¶
type Repository struct {
Ref string `json:"ref"`
Settings *RepoSetting `json:"settings"`
MappedSource *MappedSource `json:"mappedSource"`
}
Repository is a repo-scoped view of Cloud configuration, reachable through the user-scoped User.repositories(refs:) field. It only surfaces repos that are currently auto-checked (selected under a mapped source).
type SerializableCertificate ¶ added in v0.18.9
type SourceRepository ¶
type SpanData ¶ added in v0.20.0
type SpanData struct {
ID string `json:"id"`
TraceID string `json:"traceId"`
TraceState string `json:"traceState"`
Name string `json:"name"`
ParentID *string `json:"parentId"`
Kind string `json:"kind"`
Timestamp time.Time `json:"timestamp"`
EndTime *time.Time `json:"endTime"`
UpdateTime time.Time `json:"updateTime"`
Attributes map[string]any `json:"attributes"`
Status SpanStatus `json:"status"`
Events []SpanEvent `json:"events"`
Links []SpanLink `json:"links"`
Scope SpanScope `json:"scope"`
HasLogs bool `json:"hasLogs"`
ChildCount int `json:"childCount"`
Partial bool `json:"partial"`
}
type SpanStatus ¶ added in v0.20.0
type SpanStreamOpts ¶
type SpanStreamOpts struct {
Root bool
Listen []string
After *time.Time
Before *time.Time
// Incremental forces priority-only + listened-subtree loading regardless of
// trace size. Falls back to a full fetch against an API that predates the
// argument.
Incremental bool
}
SpanStreamOpts selects which spans the GetSpanUpdates subscription returns. It mirrors the variables the Cloud web UI drives (cloud/app_server.go):
- Root: stream the trace's priority spans (roots, revealed spans, checks, tests) plus their ancestors. The server marks spans Partial when the tree is incomplete, signalling that deeper spans must be fetched lazily.
- Listen: also stream the subtrees of these span IDs (used to fetch a span's children on demand when the user expands it).
- After/Before: restrict updates to a time window, used to resubscribe for live updates (After) or backfill historical children (Before).
type SubscriptionInfo ¶
type TraceCIChange ¶
type TraceCIChange struct {
HeadSHA string `json:"headSHA"`
}
type TraceCIMetadata ¶
type TraceCIMetadata struct {
IsNativeCI bool `json:"isNativeCI"`
Change *TraceCIChange `json:"change"`
}
type TraceGitMetadata ¶
type TraceGitMetadata struct {
Ref string `json:"ref"`
}
type TraceMetadata ¶
type TraceMetadata struct {
Git *TraceGitMetadata `json:"git"`
CI *TraceCIMetadata `json:"ci"`
}
TraceMetadata is the trace's source git/CI context: the commit it ran on and whether re-running via Dagger Cloud applies.