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