Documentation ¶
Overview ¶
Code generated by mockery v1.0.0
Code generated by mockery v1.0.0 ¶
Code generated by mockery v1.0.0 ¶
Code generated by mockery v1.0.0 ¶
Code generated by mockery v1.0.0 ¶
Code generated by mockery v1.0.0
Index ¶
- Constants
- Variables
- func CalculateAccountHash(account string) string
- func MatchAccount(account, uri string) bool
- func MatchPublicAccount(uri string) bool
- type ConfigField
- type Event
- type EventInfo
- type EventPublisher
- type EventType
- type EventTypes
- type FilterField
- type MockPinger
- type MockRunner
- type MockSecretChecker
- type MockTriggerEventGetter
- type MockTriggerEventReaderWriter
- func (_m *MockTriggerEventReaderWriter) CreateEvent(ctx context.Context, eventType string, kind string, secret string, _a4 string, ...) (*Event, error)
- func (_m *MockTriggerEventReaderWriter) DeleteEvent(ctx context.Context, event string, _a2 string) error
- func (_m *MockTriggerEventReaderWriter) GetEvent(ctx context.Context, event string) (*Event, error)
- func (_m *MockTriggerEventReaderWriter) GetEvents(ctx context.Context, eventType string, kind string, filter string) ([]Event, error)
- type MockTriggerReaderWriter
- func (_m *MockTriggerReaderWriter) CreateTrigger(ctx context.Context, event string, pipeline string, filters map[string]string) error
- func (_m *MockTriggerReaderWriter) DeleteAllTriggersByPipeline(ctx context.Context, pipeline string) error
- func (_m *MockTriggerReaderWriter) DeleteTrigger(ctx context.Context, event string, pipeline string) error
- func (_m *MockTriggerReaderWriter) GetEventTriggers(ctx context.Context, event string) ([]Trigger, error)
- func (_m *MockTriggerReaderWriter) GetPipelineTriggers(ctx context.Context, pipeline string, withEvent bool) ([]Trigger, error)
- func (_m *MockTriggerReaderWriter) GetTriggerPipelines(ctx context.Context, event string, vars map[string]string) ([]string, error)
- type NormalizedEvent
- type Pinger
- type PipelineRun
- type Runner
- type SecretChecker
- type Trigger
- type TriggerEventGetter
- type TriggerEventReaderWriter
- type TriggerReaderWriter
Constants ¶
const GenerateKeyword = "!generate"
GenerateKeyword keyword used to auto-generate secret
Variables ¶
var ( ContextKeyAccount = contextKey("account") ContextKeyUser = contextKey("user") ContextKeyPublic = contextKey("public") ContextRequestID = contextKey("requestID") ContextAuthEntity = contextKey("authEntity") ContextNewRelicTxn = contextKey("newRelicTransaction") )
Context keys
var ErrEventDeleteWithTriggers = errors.New("cannot delete trigger event linked to pipelines")
ErrEventDeleteWithTriggers trigger-event has linked pipelines (omn delete)
var ErrEventNotFound = errors.New("trigger event not found")
ErrEventNotFound error when trigger event not found
var ErrPipelineNotFound = errors.New("pipeline not found")
ErrPipelineNotFound error when trigger not found
var ErrTriggerAlreadyExists = errors.New("trigger already exists")
ErrTriggerAlreadyExists error when trigger already exists
var ErrTriggerNotFound = errors.New("trigger not found")
ErrTriggerNotFound error when trigger not found
var PublicAccount = strings.Repeat("0", 12)
PublicAccount public account ID [0]{12}
var PublicAccountHash = CalculateAccountHash(PublicAccount)
PublicAccountHash calculated sha1 hash
Functions ¶
func CalculateAccountHash ¶
CalculateAccountHash return first 12 of account SHA1 hash return empty string for empty account
func MatchAccount ¶
MatchAccount match account for passed uri
func MatchPublicAccount ¶
MatchPublicAccount match public account for passed uri
Types ¶
type ConfigField ¶
type ConfigField struct { // Name field name Name string `json:"name" yaml:"name"` // Type field type (default 'string'): string, int, date, list, cron Type string `json:"type,omitempty" yaml:"type,omitempty"` // Help text Help string `json:"help,omitempty" yaml:"help,omitempty"` // Options an options map (key: value) for list type Options map[string]string `json:"options,omitempty" yaml:"options,omitempty"` // Validator validator for value: regex, '|' separated list, int range, date range, http-get Validator string `json:"validator,omitempty" yaml:"validator,omitempty"` // Required required flag (default: false) Required bool `json:"required,omitempty" yaml:"required,omitempty"` // NameLabel name-label filed NameLabel string `json:"name-label" yaml:"name-label"` }
ConfigField configuration field
type Event ¶
type Event struct { // event info EventInfo // URI event unique identifier URI string `json:"uri" yaml:"uri"` // event type Type string `json:"type" yaml:"type"` // event kind Kind string `json:"kind" yaml:"kind"` // event account Account string `json:"account" yaml:"account"` // event secret, used for event validation Secret string `json:"secret" yaml:"secret"` }
Event single trigger event
func StringsMapToEvent ¶
StringsMapToEvent convert map[string]string to Event
type EventInfo ¶
type EventInfo struct { // Endpoint URL Endpoint string `json:"endpoint,omitempty" yaml:"endpoint,omitempty"` // Description human readable text Description string `json:"description,omitempty" yaml:"description,omitempty"` // Status of current event for event provider (active, error, not active) Status string `json:"status,omitempty" yaml:"status,omitempty"` // Help text Help string `json:"help,omitempty" yaml:"help,omitempty"` }
EventInfo event info as seen by trigger provider
type EventPublisher ¶
type EventPublisher interface {
Publish(ctx context.Context, account string, eventURI string, event NormalizedEvent) error
}
EventPublisher eventbus publisher
type EventType ¶
type EventType struct { // Event type name; e.g. registry, git Type string `json:"type" yaml:"type"` // Event Handler service url ServiceURL string `json:"service-url" yaml:"service-url"` //Event kind name; e.g. dockerhub|ecr|gcr (registry), github|bitbucket|gitlab (git) Kind string `json:"kind,omitempty" yaml:"kind,omitempty"` // URI template; e.g. registry:dockerhub:{{namespace}}:{{name}}:push URITemplate string `json:"uri-template,omitempty" yaml:"uri-template,omitempty"` // URI pattern; event uri match pattern - helps to detect type and kind from uri URIPattern string `json:"uri-regex" yaml:"uri-regex"` // Help URL HelpURL string `json:"help-url,omitempty" yaml:"help-url,omitempty"` // Configuration Fields Config []ConfigField `json:"config" yaml:"config"` // Filters - fields that support filtering Filters []FilterField `json:"filters" yaml:"filters"` }
EventType event type
type EventTypes ¶
type EventTypes struct {
Types []EventType `json:"types" yaml:"types"`
}
EventTypes array of event types
type FilterField ¶
type FilterField struct { // Name field name Name string `json:"name" yaml:"name"` // Type field type (default 'string'): string, int, date, list, crontab Type string `json:"type,omitempty" yaml:"type,omitempty"` // Help text Help string `json:"help,omitempty" yaml:"help,omitempty"` // Validator validator for value: regex, '|' separated list, int range, date range, http-get Validator string `json:"validator,omitempty" yaml:"validator,omitempty"` }
FilterField configuration field
type MockPinger ¶
MockPinger is an autogenerated mock type for the Pinger type
func (*MockPinger) Ping ¶
func (_m *MockPinger) Ping() (string, error)
Ping provides a mock function with given fields:
type MockRunner ¶
MockRunner is an autogenerated mock type for the Runner type
func (*MockRunner) Run ¶
func (_m *MockRunner) Run(account string, pipelines []string, vars map[string]string, event NormalizedEvent) ([]PipelineRun, error)
Run provides a mock function with given fields: account, pipelines, vars, event
type MockSecretChecker ¶
MockSecretChecker is an autogenerated mock type for the SecretChecker type
type MockTriggerEventGetter ¶
MockTriggerEventGetter is an autogenerated mock type for the TriggerEventGetter type
type MockTriggerEventReaderWriter ¶
MockTriggerEventReaderWriter is an autogenerated mock type for the TriggerEventReaderWriter type
func (*MockTriggerEventReaderWriter) CreateEvent ¶
func (_m *MockTriggerEventReaderWriter) CreateEvent(ctx context.Context, eventType string, kind string, secret string, _a4 string, values map[string]string) (*Event, error)
CreateEvent provides a mock function with given fields: ctx, eventType, kind, secret, _a4, values
func (*MockTriggerEventReaderWriter) DeleteEvent ¶
func (_m *MockTriggerEventReaderWriter) DeleteEvent(ctx context.Context, event string, _a2 string) error
DeleteEvent provides a mock function with given fields: ctx, event, _a2
type MockTriggerReaderWriter ¶
MockTriggerReaderWriter is an autogenerated mock type for the TriggerReaderWriter type
func (*MockTriggerReaderWriter) CreateTrigger ¶
func (_m *MockTriggerReaderWriter) CreateTrigger(ctx context.Context, event string, pipeline string, filters map[string]string) error
CreateTrigger provides a mock function with given fields: ctx, event, pipeline, filters
func (*MockTriggerReaderWriter) DeleteAllTriggersByPipeline ¶
func (_m *MockTriggerReaderWriter) DeleteAllTriggersByPipeline(ctx context.Context, pipeline string) error
func (*MockTriggerReaderWriter) DeleteTrigger ¶
func (_m *MockTriggerReaderWriter) DeleteTrigger(ctx context.Context, event string, pipeline string) error
DeleteTrigger provides a mock function with given fields: ctx, event, pipeline
func (*MockTriggerReaderWriter) GetEventTriggers ¶
func (_m *MockTriggerReaderWriter) GetEventTriggers(ctx context.Context, event string) ([]Trigger, error)
GetEventTriggers provides a mock function with given fields: ctx, event
func (*MockTriggerReaderWriter) GetPipelineTriggers ¶
func (_m *MockTriggerReaderWriter) GetPipelineTriggers(ctx context.Context, pipeline string, withEvent bool) ([]Trigger, error)
GetPipelineTriggers provides a mock function with given fields: ctx, pipeline, withEvent
func (*MockTriggerReaderWriter) GetTriggerPipelines ¶
func (_m *MockTriggerReaderWriter) GetTriggerPipelines(ctx context.Context, event string, vars map[string]string) ([]string, error)
GetTriggerPipelines provides a mock function with given fields: ctx, event, vars
type NormalizedEvent ¶
type NormalizedEvent struct { Secret string `form:"secret" json:"secret" binding:"required"` Original string `form:"original" json:"original"` Variables map[string]string `form:"variables" json:"variables"` }
NormalizedEvent trigger-event event data enriched with type,kind,action and ULID
type PipelineRun ¶
type PipelineRun struct { ID string `json:"id" yaml:"id"` Error error `json:"error,omitempty" yaml:"error,omitempty"` }
PipelineRun pipeline run with ID (can be empty on error) and error (when failed)
type Runner ¶
type Runner interface {
Run(account string, pipelines []string, vars map[string]string, event NormalizedEvent) ([]PipelineRun, error)
}
Runner pipeline runner
type SecretChecker ¶
SecretChecker validates message secret or HMAC signature
type Trigger ¶
type Trigger struct { // unique event URI, use ':' instead of '/' Event string `json:"event" yaml:"event"` // pipeline Pipeline string `json:"pipeline" yaml:"pipeline"` // filter Filters map[string]string `json:"filters,omitempty" yaml:"filters,omitempty"` // event details (optional) EventData Event `json:"event-data,omitempty" yaml:"event-data,omitempty"` }
Trigger a single link between event and pipeline
type TriggerEventGetter ¶
TriggerEventGetter interface
type TriggerEventReaderWriter ¶
type TriggerEventReaderWriter interface { // trigger events TriggerEventGetter GetEvents(ctx context.Context, eventType, kind, filter string) ([]Event, error) CreateEvent(ctx context.Context, eventType, kind, secret, context string, values map[string]string) (*Event, error) DeleteEvent(ctx context.Context, event, context string) error }
TriggerEventReaderWriter interface
type TriggerReaderWriter ¶
type TriggerReaderWriter interface { // triggers GetEventTriggers(ctx context.Context, event string) ([]Trigger, error) GetPipelineTriggers(ctx context.Context, pipeline string, withEvent bool) ([]Trigger, error) DeleteTrigger(ctx context.Context, event, pipeline string) error CreateTrigger(ctx context.Context, event, pipeline string, filters map[string]string) error GetTriggerPipelines(ctx context.Context, event string, vars map[string]string) ([]string, error) DeleteAllTriggersByPipeline(ctx context.Context, pipeline string) error }
TriggerReaderWriter interface