Documentation ¶
Index ¶
- Constants
- Variables
- type RunEvent
- type RunMetadata
- type RunPollingTask
- type Stream
- func (s *Stream) AddRunMeta(rmd RunMetadata) error
- func (s *Stream) GetRunMeta(runID string) (RunMetadata, error)
- func (s *Stream) HealthCheck() error
- func (s *Stream) NewTFRunPollingTask(meta RunMetadata, delay time.Duration) RunPollingTask
- func (s *Stream) PublishTFRunEvent(ctx context.Context, re RunEvent) error
- func (s *Stream) SubscribeTFRunEvents(vcsProvider string, cb func(run RunEvent) bool) (closer func(), err error)
- func (s *Stream) SubscribeTFRunPollingTasks(cb func(task RunPollingTask) bool) (closer func(), err error)
- type StreamClient
- type TFRunEvent
- func (e *TFRunEvent) GetContext() context.Context
- func (e *TFRunEvent) GetMetadata() RunMetadata
- func (e *TFRunEvent) GetNewStatus() string
- func (e *TFRunEvent) GetRunID() string
- func (e *TFRunEvent) SetCarrier(carrier map[string]string)
- func (e *TFRunEvent) SetContext(ctx context.Context)
- func (e *TFRunEvent) SetMetadata(meta RunMetadata)
- type TFRunMetadata
- func (r *TFRunMetadata) GetAction() string
- func (r *TFRunMetadata) GetAutoMerge() bool
- func (r *TFRunMetadata) GetCommitSHA() string
- func (r *TFRunMetadata) GetDiscussionID() string
- func (r *TFRunMetadata) GetMRInternalID() int
- func (r *TFRunMetadata) GetMRProjectNameWithNamespace() string
- func (r *TFRunMetadata) GetOrganization() string
- func (r *TFRunMetadata) GetRootNoteID() int64
- func (r *TFRunMetadata) GetRunID() string
- func (r *TFRunMetadata) GetVcsProvider() string
- func (r *TFRunMetadata) GetWorkspace() string
- type TFRunPollingTask
- func (task *TFRunPollingTask) Completed() error
- func (task *TFRunPollingTask) GetContext() context.Context
- func (task *TFRunPollingTask) GetLastStatus() string
- func (task *TFRunPollingTask) GetRunID() string
- func (task *TFRunPollingTask) GetRunMetaData() RunMetadata
- func (task *TFRunPollingTask) Reschedule(ctx context.Context) error
- func (task *TFRunPollingTask) Schedule(ctx context.Context) error
- func (task *TFRunPollingTask) SetCarrier(carrier map[string]string)
- func (task *TFRunPollingTask) SetLastStatus(status string)
Constants ¶
View Source
const ( ApplyAction string = "apply" PlanAction string = "plan" )
View Source
const RunEventsStreamName = "RUN_EVENTS"
View Source
const RunMetadataKvBucket = "RUN_METADATA"
View Source
const RunPollingKvName = "POLLING_TASKS"
View Source
const RunPollingStreamNameV0 = "RUN_POLLING"
View Source
const TaskPollingDelayDefault = 10 * time.Second
View Source
const TaskPollingDelayMinimum = 1 * time.Second
Variables ¶
View Source
var FailedResponse = []byte("failed")
View Source
var SuccessDoneResponse = []byte("done")
View Source
var SuccessResponse = []byte("success")
Functions ¶
This section is empty.
Types ¶
type RunEvent ¶
type RunEvent interface { GetRunID() string GetContext() context.Context SetContext(context.Context) SetCarrier(map[string]string) GetNewStatus() string GetMetadata() RunMetadata SetMetadata(RunMetadata) }
type RunMetadata ¶
type RunPollingTask ¶
type Stream ¶
type Stream struct {
// contains filtered or unexported fields
}
func (*Stream) AddRunMeta ¶
func (s *Stream) AddRunMeta(rmd RunMetadata) error
func (*Stream) GetRunMeta ¶
func (s *Stream) GetRunMeta(runID string) (RunMetadata, error)
func (*Stream) HealthCheck ¶
func (*Stream) NewTFRunPollingTask ¶
func (s *Stream) NewTFRunPollingTask(meta RunMetadata, delay time.Duration) RunPollingTask
func (*Stream) PublishTFRunEvent ¶
func (*Stream) SubscribeTFRunEvents ¶
func (*Stream) SubscribeTFRunPollingTasks ¶
func (s *Stream) SubscribeTFRunPollingTasks(cb func(task RunPollingTask) bool) (closer func(), err error)
type StreamClient ¶
type StreamClient interface { HealthCheck() error PublishTFRunEvent(ctx context.Context, re RunEvent) error AddRunMeta(rmd RunMetadata) error GetRunMeta(runID string) (RunMetadata, error) NewTFRunPollingTask(meta RunMetadata, delay time.Duration) RunPollingTask SubscribeTFRunPollingTasks(cb func(task RunPollingTask) bool) (closer func(), err error) SubscribeTFRunEvents(queue string, cb func(run RunEvent) bool) (closer func(), err error) }
func NewStream ¶
func NewStream(js nats.JetStreamContext) StreamClient
type TFRunEvent ¶
type TFRunEvent struct { RunID string Organization string Workspace string NewStatus string Metadata RunMetadata Carrier propagation.MapCarrier `json:"Carrier"` // contains filtered or unexported fields }
TFRunEvent represents a status change on a run
func (*TFRunEvent) GetContext ¶ added in v0.2.1
func (e *TFRunEvent) GetContext() context.Context
func (*TFRunEvent) GetMetadata ¶
func (e *TFRunEvent) GetMetadata() RunMetadata
func (*TFRunEvent) GetNewStatus ¶
func (e *TFRunEvent) GetNewStatus() string
func (*TFRunEvent) GetRunID ¶
func (e *TFRunEvent) GetRunID() string
func (*TFRunEvent) SetCarrier ¶ added in v0.2.1
func (e *TFRunEvent) SetCarrier(carrier map[string]string)
func (*TFRunEvent) SetContext ¶ added in v0.2.1
func (e *TFRunEvent) SetContext(ctx context.Context)
func (*TFRunEvent) SetMetadata ¶
func (e *TFRunEvent) SetMetadata(meta RunMetadata)
type TFRunMetadata ¶
type TFRunMetadata struct { // RunID is the ID generated by TFC for the run RunID string // Organization is the TFC organization name Organization string // Workspace is the TFC workspace name Workspace string // Source is the trigger source of the TFC run // options include: // "merge_request" - for runs started via MR push or comment // "merge" - for runs started when MR is merged (apply after merge repos) (NOT IMPLEMENTED) // "slack" - for runs started via ChatOps (NOT IMPLEMENTED) Source string // Action is the triggered action (i.e. plan / apply) Action string // The git Commit SHA for which the run has been triggered CommitSHA string // MergeRequestProjectNameWithNamespace is the fully qualified Gitlab project name (e.g. /group/subgroup/project) MergeRequestProjectNameWithNamespace string // MergeRequestIID is the Gitlab Merge Request IID for which the Run has been triggered MergeRequestIID int // DiscussionID is the MergeRequest discussion thread where status updates should be written (optional) DiscussionID string // RootNoteID is the top level note of the discussion thread. It will be updated with progress info. RootNoteID int64 VcsProvider string AutoMerge bool }
func (*TFRunMetadata) GetAction ¶
func (r *TFRunMetadata) GetAction() string
func (*TFRunMetadata) GetAutoMerge ¶ added in v0.3.0
func (r *TFRunMetadata) GetAutoMerge() bool
func (*TFRunMetadata) GetCommitSHA ¶
func (r *TFRunMetadata) GetCommitSHA() string
func (*TFRunMetadata) GetDiscussionID ¶
func (r *TFRunMetadata) GetDiscussionID() string
func (*TFRunMetadata) GetMRInternalID ¶
func (r *TFRunMetadata) GetMRInternalID() int
func (*TFRunMetadata) GetMRProjectNameWithNamespace ¶
func (r *TFRunMetadata) GetMRProjectNameWithNamespace() string
func (*TFRunMetadata) GetOrganization ¶
func (r *TFRunMetadata) GetOrganization() string
func (*TFRunMetadata) GetRootNoteID ¶
func (r *TFRunMetadata) GetRootNoteID() int64
func (*TFRunMetadata) GetRunID ¶
func (r *TFRunMetadata) GetRunID() string
func (*TFRunMetadata) GetVcsProvider ¶
func (r *TFRunMetadata) GetVcsProvider() string
func (*TFRunMetadata) GetWorkspace ¶
func (r *TFRunMetadata) GetWorkspace() string
type TFRunPollingTask ¶
type TFRunPollingTask struct { RunMetadata LastStatus string NextPoll time.Time Processing bool LastUpdate time.Time // Revision is the NATS KV entry revision Revision uint64 Carrier propagation.MapCarrier `json:"Carrier"` // contains filtered or unexported fields }
func (*TFRunPollingTask) Completed ¶
func (task *TFRunPollingTask) Completed() error
func (*TFRunPollingTask) GetContext ¶ added in v0.2.1
func (task *TFRunPollingTask) GetContext() context.Context
func (*TFRunPollingTask) GetLastStatus ¶
func (task *TFRunPollingTask) GetLastStatus() string
func (*TFRunPollingTask) GetRunID ¶
func (task *TFRunPollingTask) GetRunID() string
func (*TFRunPollingTask) GetRunMetaData ¶
func (task *TFRunPollingTask) GetRunMetaData() RunMetadata
func (*TFRunPollingTask) Reschedule ¶
func (task *TFRunPollingTask) Reschedule(ctx context.Context) error
func (*TFRunPollingTask) Schedule ¶
func (task *TFRunPollingTask) Schedule(ctx context.Context) error
func (*TFRunPollingTask) SetCarrier ¶ added in v0.2.1
func (task *TFRunPollingTask) SetCarrier(carrier map[string]string)
func (*TFRunPollingTask) SetLastStatus ¶
func (task *TFRunPollingTask) SetLastStatus(status string)
Click to show internal directories.
Click to hide internal directories.