Documentation
¶
Index ¶
- Variables
- func DecodeProjectKeys(project *apimodels.ExpandedProject) *apimodels.ExpandedProject
- func DecodeProjectsKeys(projects []*apimodels.ExpandedProject) ([]*apimodels.ExpandedProject, error)
- func EncodeProjectKeys(project *apimodels.ExpandedProject) (*apimodels.ExpandedProject, error)
- func NewProjectCredentialsRepo(dbConnection *MongoDBConnection) *projectCredentialsRepo
- func NewSecretCredentialsRepo(secretStore secretstore.SecretStore) *secretCredentialsRepo
- func SetupTTLIndex(ctx context.Context, propertyName string, duration time.Duration, ...) error
- func TransformGitCredentials(project *models.ExpandedProjectOld) *apimodels.ExpandedProject
- type DBDumpRepo
- type EventQueueRepo
- type EventRepo
- type EventsRetriever
- type LogRepo
- type MongoDBConnection
- type MongoDBDumpRepo
- type MongoDBEventQueueRepo
- func (m *MongoDBEventQueueRepo) CreateOrUpdateEventQueueState(state models.EventQueueSequenceState) error
- func (m *MongoDBEventQueueRepo) DeleteEventQueueStates(filter models.EventQueueSequenceState) error
- func (m *MongoDBEventQueueRepo) DeleteQueuedEvent(eventID string) error
- func (m *MongoDBEventQueueRepo) DeleteQueuedEvents(scope models.EventScope) error
- func (m *MongoDBEventQueueRepo) GetEventQueueSequenceStates(filter models.EventQueueSequenceState) ([]models.EventQueueSequenceState, error)
- func (m *MongoDBEventQueueRepo) GetQueuedEvents(timestamp time.Time) ([]models.QueueItem, error)
- func (m *MongoDBEventQueueRepo) IsEventInQueue(eventID string) (bool, error)
- func (m *MongoDBEventQueueRepo) IsSequenceOfEventPaused(eventScope models.EventScope) bool
- func (m *MongoDBEventQueueRepo) QueueEvent(item models.QueueItem) error
- type MongoDBEventsRepo
- func (e *MongoDBEventsRepo) DeleteAllFinishedEvents(eventScope models.EventScope) error
- func (mdbrepo *MongoDBEventsRepo) DeleteEvent(project, eventID string, status common.EventStatus) error
- func (mdbrepo *MongoDBEventsRepo) DeleteEventCollections(project string) error
- func (mdbrepo *MongoDBEventsRepo) GetEventByID(projectName string, filter common.EventFilter, status ...common.EventStatus) (apimodels.KeptnContextExtendedCE, error)
- func (mdbrepo *MongoDBEventsRepo) GetEvents(project string, filter common.EventFilter, status ...common.EventStatus) ([]apimodels.KeptnContextExtendedCE, error)
- func (e *MongoDBEventsRepo) GetEventsWithRetry(project string, filter common.EventFilter, status common.EventStatus, ...) ([]apimodels.KeptnContextExtendedCE, error)
- func (e *MongoDBEventsRepo) GetFinishedEvents(eventScope models.EventScope) ([]apimodels.KeptnContextExtendedCE, error)
- func (mdbrepo *MongoDBEventsRepo) GetRootEvents(getRootParams models.GetRootEventParams) (*models.GetEventsResult, error)
- func (e *MongoDBEventsRepo) GetStartedEventsForTriggeredID(eventScope models.EventScope) ([]apimodels.KeptnContextExtendedCE, error)
- func (e *MongoDBEventsRepo) GetTaskSequenceTriggeredEvent(eventScope models.EventScope, taskSequenceName string) (*apimodels.KeptnContextExtendedCE, error)
- func (mdbrepo *MongoDBEventsRepo) InsertEvent(project string, event apimodels.KeptnContextExtendedCE, ...) error
- type MongoDBKeyEncodingProjectsRepo
- func (m *MongoDBKeyEncodingProjectsRepo) CreateProject(project *apimodels.ExpandedProject) error
- func (m *MongoDBKeyEncodingProjectsRepo) DeleteProject(projectName string) error
- func (m *MongoDBKeyEncodingProjectsRepo) GetProject(projectName string) (*apimodels.ExpandedProject, error)
- func (m *MongoDBKeyEncodingProjectsRepo) GetProjects() ([]*apimodels.ExpandedProject, error)
- func (m *MongoDBKeyEncodingProjectsRepo) UpdateProject(project *apimodels.ExpandedProject) error
- func (m *MongoDBKeyEncodingProjectsRepo) UpdateProjectService(projectName, stageName, serviceName string, properties mvmodels.ServiceUpdate) error
- func (m *MongoDBKeyEncodingProjectsRepo) UpdateProjectUpstream(projectName string, uri string, user string) error
- type MongoDBLogRepo
- func (mdbrepo *MongoDBLogRepo) CreateLogEntries(entries []apimodels.LogEntry) error
- func (mdbrepo *MongoDBLogRepo) DeleteLogEntries(params models.DeleteLogParams) error
- func (mdbrepo *MongoDBLogRepo) GetLogEntries(params models.GetLogParams) (*models.GetLogsResponse, error)
- func (mdbrepo *MongoDBLogRepo) SetupTTLIndex(duration time.Duration) error
- type MongoDBProjectMVRepo
- func (mv *MongoDBProjectMVRepo) CloseOpenRemediations(project, stage, service, keptnContext string) error
- func (mv *MongoDBProjectMVRepo) CreateProject(prj *apimodels.ExpandedProject) error
- func (mv *MongoDBProjectMVRepo) CreateRemediation(project, stage, service string, remediation *apimodels.Remediation) error
- func (mv *MongoDBProjectMVRepo) CreateService(project string, stage string, service string) error
- func (mv *MongoDBProjectMVRepo) CreateStage(project string, stage string) error
- func (mv *MongoDBProjectMVRepo) DeleteProject(projectName string) error
- func (mv *MongoDBProjectMVRepo) DeleteService(project string, stage string, service string) error
- func (mv *MongoDBProjectMVRepo) DeleteStage(project string, stage string) error
- func (mv *MongoDBProjectMVRepo) DeleteUpstreamInfo(projectName string) error
- func (mv *MongoDBProjectMVRepo) GetProject(projectName string) (*apimodels.ExpandedProject, error)
- func (mv *MongoDBProjectMVRepo) GetProjects() ([]*apimodels.ExpandedProject, error)
- func (mv *MongoDBProjectMVRepo) GetService(projectName, stageName, serviceName string) (*apimodels.ExpandedService, error)
- func (mv *MongoDBProjectMVRepo) OnSequenceTaskEvent(event apimodels.KeptnContextExtendedCE)
- func (mv *MongoDBProjectMVRepo) UpdateEventOfService(e apimodels.KeptnContextExtendedCE) error
- func (mv *MongoDBProjectMVRepo) UpdateProject(prj *apimodels.ExpandedProject) error
- func (mv *MongoDBProjectMVRepo) UpdateShipyard(projectName string, shipyardContent string) error
- func (mv *MongoDBProjectMVRepo) UpdateUpstreamInfo(projectName string, uri, user string) error
- func (mv *MongoDBProjectMVRepo) UpdatedShipyard(projectName string, shipyard string) error
- type MongoDBProjectsRepo
- func (m *MongoDBProjectsRepo) CreateProject(project *apimodels.ExpandedProject) error
- func (m *MongoDBProjectsRepo) DeleteProject(projectName string) error
- func (m *MongoDBProjectsRepo) GetProject(projectName string) (*apimodels.ExpandedProject, error)
- func (m *MongoDBProjectsRepo) GetProjects() ([]*apimodels.ExpandedProject, error)
- func (m *MongoDBProjectsRepo) UpdateProject(project *apimodels.ExpandedProject) error
- func (m *MongoDBProjectsRepo) UpdateProjectService(projectName, stageName, serviceName string, properties mvmodels.ServiceUpdate) error
- func (m *MongoDBProjectsRepo) UpdateProjectUpstream(projectName string, uri string, user string) error
- type MongoDBSequenceExecutionRepo
- func (mdbrepo *MongoDBSequenceExecutionRepo) AppendTaskEvent(taskSequence models.SequenceExecution, event models.TaskEvent) (*models.SequenceExecution, error)
- func (mdbrepo *MongoDBSequenceExecutionRepo) Clear(projectName string) error
- func (mdbrepo *MongoDBSequenceExecutionRepo) Get(filter models.SequenceExecutionFilter) ([]models.SequenceExecution, error)
- func (mdbrepo *MongoDBSequenceExecutionRepo) GetByTriggeredID(project, triggeredID string) (*models.SequenceExecution, error)
- func (mdbrepo *MongoDBSequenceExecutionRepo) GetPaginated(filter models.SequenceExecutionFilter, ...) ([]models.SequenceExecution, *models.PaginationResult, error)
- func (mdbrepo *MongoDBSequenceExecutionRepo) IsContextPaused(eventScope models.EventScope) bool
- func (mdbrepo *MongoDBSequenceExecutionRepo) PauseContext(eventScope models.EventScope) error
- func (mdbrepo *MongoDBSequenceExecutionRepo) ResumeContext(eventScope models.EventScope) error
- func (mdbrepo *MongoDBSequenceExecutionRepo) UpdateStatus(taskSequence models.SequenceExecution) (*models.SequenceExecution, error)
- func (mdbrepo *MongoDBSequenceExecutionRepo) Upsert(item models.SequenceExecution, ...) error
- type MongoDBSequenceQueueRepo
- type MongoDBStateRepo
- func (mdbrepo *MongoDBStateRepo) CreateSequenceState(state models.SequenceState) error
- func (mdbrepo *MongoDBStateRepo) DeleteSequenceStates(filter models.StateFilter) error
- func (mdbrepo *MongoDBStateRepo) FindSequenceStates(filter models.StateFilter) (*models.SequenceStates, error)
- func (mdbrepo *MongoDBStateRepo) GetSequenceStateByID(filter models.StateFilter) (*models.SequenceState, error)
- func (mdbrepo *MongoDBStateRepo) UpdateSequenceState(state models.SequenceState) error
- type MongoDBUniformRepo
- func (mdbrepo *MongoDBUniformRepo) CreateOrUpdateSubscription(integrationID string, subscription apimodels.EventSubscription) error
- func (mdbrepo *MongoDBUniformRepo) CreateOrUpdateUniformIntegration(integration apimodels.Integration) error
- func (mdbrepo *MongoDBUniformRepo) CreateUniformIntegration(integration apimodels.Integration) error
- func (mdbrepo *MongoDBUniformRepo) DeleteSubscription(integrationID, subscriptionID string) error
- func (mdbrepo *MongoDBUniformRepo) DeleteUniformIntegration(id string) error
- func (mdbrepo *MongoDBUniformRepo) GetSubscription(integrationID, subscriptionID string) (*apimodels.EventSubscription, error)
- func (mdbrepo *MongoDBUniformRepo) GetSubscriptions(integrationID string) ([]apimodels.EventSubscription, error)
- func (mdbrepo *MongoDBUniformRepo) GetUniformIntegrations(params models.GetUniformIntegrationsParams) ([]apimodels.Integration, error)
- func (mdbrepo *MongoDBUniformRepo) SetupTTLIndex(duration time.Duration) error
- func (mdbrepo *MongoDBUniformRepo) UpdateLastSeen(integrationID string) (*apimodels.Integration, error)
- func (mdbrepo *MongoDBUniformRepo) UpdateVersionInfo(integrationID, integrationVersion, distributorVersion string) (*apimodels.Integration, error)
- type ProjectCredentialsRepo
- type ProjectMVRepo
- type ProjectRepo
- type SecretCredentialsRepo
- type SequenceExecutionRepo
- type SequenceExecutionRepoOpt
- type SequenceQueueRepo
- type SequenceStateRepo
- type UniformRepo
Constants ¶
This section is empty.
Variables ¶
var ErrEventAlreadyExists = errors.New("event already exists")
var ErrNoEventFound = errors.New("no matching event found")
ErrNoEventFound indicates that no event could be found
var ErrProjectNameMustNotBeEmpty = errors.New("project name must not be empty")
var ErrSequenceIDMustNotBeEmpty = errors.New("sequence ID must not be empty")
var ErrStateAlreadyExists = errors.New("sequence state already exists")
var ErrUniformRegistrationAlreadyExists = errors.New("uniform integration already exists")
var ErrUniformRegistrationNotFound = errors.New("uniform integration not found")
Functions ¶
func DecodeProjectKeys ¶
func DecodeProjectKeys(project *apimodels.ExpandedProject) *apimodels.ExpandedProject
func DecodeProjectsKeys ¶
func DecodeProjectsKeys(projects []*apimodels.ExpandedProject) ([]*apimodels.ExpandedProject, error)
func EncodeProjectKeys ¶
func EncodeProjectKeys(project *apimodels.ExpandedProject) (*apimodels.ExpandedProject, error)
func NewProjectCredentialsRepo ¶
func NewProjectCredentialsRepo(dbConnection *MongoDBConnection) *projectCredentialsRepo
func NewSecretCredentialsRepo ¶
func NewSecretCredentialsRepo(secretStore secretstore.SecretStore) *secretCredentialsRepo
func SetupTTLIndex ¶
func TransformGitCredentials ¶
func TransformGitCredentials(project *models.ExpandedProjectOld) *apimodels.ExpandedProject
Types ¶
type DBDumpRepo ¶
type EventQueueRepo ¶
type EventQueueRepo interface {
QueueEvent(item models.QueueItem) error
GetQueuedEvents(timestamp time.Time) ([]models.QueueItem, error)
IsEventInQueue(eventID string) (bool, error)
IsSequenceOfEventPaused(eventScope models.EventScope) bool
DeleteQueuedEvent(eventID string) error
DeleteQueuedEvents(scope models.EventScope) error
CreateOrUpdateEventQueueState(state models.EventQueueSequenceState) error
GetEventQueueSequenceStates(filter models.EventQueueSequenceState) ([]models.EventQueueSequenceState, error)
DeleteEventQueueStates(state models.EventQueueSequenceState) error
}
EventQueueRepo defines the interface for storing, retrieving and deleting queued events
type EventRepo ¶
type EventRepo interface {
GetEvents(project string, filter common.EventFilter, status ...common.EventStatus) ([]apimodels.KeptnContextExtendedCE, error)
GetEventByID(project string, filter common.EventFilter, status ...common.EventStatus) (apimodels.KeptnContextExtendedCE, error)
GetRootEvents(params models.GetRootEventParams) (*models.GetEventsResult, error)
InsertEvent(project string, event apimodels.KeptnContextExtendedCE, status common.EventStatus) error
DeleteEvent(project string, eventID string, status common.EventStatus) error
DeleteEventCollections(project string) error
GetStartedEventsForTriggeredID(eventScope models.EventScope) ([]apimodels.KeptnContextExtendedCE, error)
GetEventsWithRetry(project string, filter common.EventFilter, status common.EventStatus, nrRetries int) ([]apimodels.KeptnContextExtendedCE, error)
GetTaskSequenceTriggeredEvent(eventScope models.EventScope, taskSequenceName string) (*apimodels.KeptnContextExtendedCE, error)
DeleteAllFinishedEvents(eventScope models.EventScope) error
GetFinishedEvents(eventScope models.EventScope) ([]apimodels.KeptnContextExtendedCE, error)
}
type EventsRetriever ¶
type EventsRetriever interface {
GetEvents(filter *goutils.EventFilter) ([]*goutilsmodels.KeptnContextExtendedCE, *goutilsmodels.Error)
}
EventsRetriever defines the interface for fetching events from the data store
type LogRepo ¶
type LogRepo interface {
CreateLogEntries(entries []apimodels.LogEntry) error
GetLogEntries(filter models.GetLogParams) (*models.GetLogsResponse, error)
DeleteLogEntries(params models.DeleteLogParams) error
}
type MongoDBConnection ¶
MongoDBConnection takes care of establishing a connection to the mongodb
func GetMongoDBConnectionInstance ¶
func GetMongoDBConnectionInstance() *MongoDBConnection
func (*MongoDBConnection) EnsureDBConnection ¶
func (m *MongoDBConnection) EnsureDBConnection() error
EnsureDBConnection makes sure a connection to the mongodb is established
type MongoDBDumpRepo ¶
type MongoDBDumpRepo struct {
DbConnection *MongoDBConnection
}
func NewMongoDBDumpRepo ¶
func NewMongoDBDumpRepo(dbConnection *MongoDBConnection) *MongoDBDumpRepo
func (*MongoDBDumpRepo) GetDump ¶
func (mdbrepo *MongoDBDumpRepo) GetDump(collectionName string) ([]bson.M, error)
func (*MongoDBDumpRepo) ListAllCollections ¶
func (mdbrepo *MongoDBDumpRepo) ListAllCollections() ([]string, error)
type MongoDBEventQueueRepo ¶
type MongoDBEventQueueRepo struct {
DBConnection *MongoDBConnection
}
MongoDBEventQueueRepo retrieves and stores events in a mongodb collection
func NewMongoDBEventQueueRepo ¶
func NewMongoDBEventQueueRepo(dbConnection *MongoDBConnection) *MongoDBEventQueueRepo
func (*MongoDBEventQueueRepo) CreateOrUpdateEventQueueState ¶
func (m *MongoDBEventQueueRepo) CreateOrUpdateEventQueueState(state models.EventQueueSequenceState) error
func (*MongoDBEventQueueRepo) DeleteEventQueueStates ¶
func (m *MongoDBEventQueueRepo) DeleteEventQueueStates(filter models.EventQueueSequenceState) error
func (*MongoDBEventQueueRepo) DeleteQueuedEvent ¶
func (m *MongoDBEventQueueRepo) DeleteQueuedEvent(eventID string) error
DeleteQueuedEvent deletes a queue item from the collection
func (*MongoDBEventQueueRepo) DeleteQueuedEvents ¶
func (m *MongoDBEventQueueRepo) DeleteQueuedEvents(scope models.EventScope) error
DeleteQueuedEvents deletes all matching queue items from the collection
func (*MongoDBEventQueueRepo) GetEventQueueSequenceStates ¶
func (m *MongoDBEventQueueRepo) GetEventQueueSequenceStates(filter models.EventQueueSequenceState) ([]models.EventQueueSequenceState, error)
func (*MongoDBEventQueueRepo) GetQueuedEvents ¶
GetQueuedEvents gets all queued events that should be sent next
func (*MongoDBEventQueueRepo) IsEventInQueue ¶
func (m *MongoDBEventQueueRepo) IsEventInQueue(eventID string) (bool, error)
func (*MongoDBEventQueueRepo) IsSequenceOfEventPaused ¶
func (m *MongoDBEventQueueRepo) IsSequenceOfEventPaused(eventScope models.EventScope) bool
func (*MongoDBEventQueueRepo) QueueEvent ¶
func (m *MongoDBEventQueueRepo) QueueEvent(item models.QueueItem) error
type MongoDBEventsRepo ¶
type MongoDBEventsRepo struct {
DBConnection *MongoDBConnection
}
MongoDBEventsRepo retrieves and stores events in a mongodb collection
func NewMongoDBEventsRepo ¶
func NewMongoDBEventsRepo(dbConnection *MongoDBConnection) *MongoDBEventsRepo
func (*MongoDBEventsRepo) DeleteAllFinishedEvents ¶
func (e *MongoDBEventsRepo) DeleteAllFinishedEvents(eventScope models.EventScope) error
func (*MongoDBEventsRepo) DeleteEvent ¶
func (mdbrepo *MongoDBEventsRepo) DeleteEvent(project, eventID string, status common.EventStatus) error
DeleteEvent deletes an event from the collection
func (*MongoDBEventsRepo) DeleteEventCollections ¶
func (mdbrepo *MongoDBEventsRepo) DeleteEventCollections(project string) error
DeleteEventCollections godoc
func (*MongoDBEventsRepo) GetEventByID ¶
func (mdbrepo *MongoDBEventsRepo) GetEventByID(projectName string, filter common.EventFilter, status ...common.EventStatus) (apimodels.KeptnContextExtendedCE, error)
GetEventByID gets a single event of a project, based on the id
func (*MongoDBEventsRepo) GetEvents ¶
func (mdbrepo *MongoDBEventsRepo) GetEvents(project string, filter common.EventFilter, status ...common.EventStatus) ([]apimodels.KeptnContextExtendedCE, error)
GetEvents gets all events of a project, based on the provided filter
func (*MongoDBEventsRepo) GetEventsWithRetry ¶
func (e *MongoDBEventsRepo) GetEventsWithRetry(project string, filter common.EventFilter, status common.EventStatus, nrRetries int) ([]apimodels.KeptnContextExtendedCE, error)
func (*MongoDBEventsRepo) GetFinishedEvents ¶
func (e *MongoDBEventsRepo) GetFinishedEvents(eventScope models.EventScope) ([]apimodels.KeptnContextExtendedCE, error)
func (*MongoDBEventsRepo) GetRootEvents ¶
func (mdbrepo *MongoDBEventsRepo) GetRootEvents(getRootParams models.GetRootEventParams) (*models.GetEventsResult, error)
func (*MongoDBEventsRepo) GetStartedEventsForTriggeredID ¶
func (e *MongoDBEventsRepo) GetStartedEventsForTriggeredID(eventScope models.EventScope) ([]apimodels.KeptnContextExtendedCE, error)
func (*MongoDBEventsRepo) GetTaskSequenceTriggeredEvent ¶
func (e *MongoDBEventsRepo) GetTaskSequenceTriggeredEvent(eventScope models.EventScope, taskSequenceName string) (*apimodels.KeptnContextExtendedCE, error)
func (*MongoDBEventsRepo) InsertEvent ¶
func (mdbrepo *MongoDBEventsRepo) InsertEvent(project string, event apimodels.KeptnContextExtendedCE, status common.EventStatus) error
InsertEvent inserts an event into the collection of the specified project
type MongoDBKeyEncodingProjectsRepo ¶
type MongoDBKeyEncodingProjectsRepo struct {
// contains filtered or unexported fields
}
MongoDBKeyEncodingProjectsRepo is a wrapper around a ProjectRepo which takes care of transforming the value of a project's LastEventTypes to not contain invalid characters like a dot (.)
func NewMongoDBKeyEncodingProjectsRepo ¶
func NewMongoDBKeyEncodingProjectsRepo(dbConnection *MongoDBConnection) *MongoDBKeyEncodingProjectsRepo
func (*MongoDBKeyEncodingProjectsRepo) CreateProject ¶
func (m *MongoDBKeyEncodingProjectsRepo) CreateProject(project *apimodels.ExpandedProject) error
func (*MongoDBKeyEncodingProjectsRepo) DeleteProject ¶
func (m *MongoDBKeyEncodingProjectsRepo) DeleteProject(projectName string) error
func (*MongoDBKeyEncodingProjectsRepo) GetProject ¶
func (m *MongoDBKeyEncodingProjectsRepo) GetProject(projectName string) (*apimodels.ExpandedProject, error)
func (*MongoDBKeyEncodingProjectsRepo) GetProjects ¶
func (m *MongoDBKeyEncodingProjectsRepo) GetProjects() ([]*apimodels.ExpandedProject, error)
func (*MongoDBKeyEncodingProjectsRepo) UpdateProject ¶
func (m *MongoDBKeyEncodingProjectsRepo) UpdateProject(project *apimodels.ExpandedProject) error
func (*MongoDBKeyEncodingProjectsRepo) UpdateProjectService ¶
func (m *MongoDBKeyEncodingProjectsRepo) UpdateProjectService(projectName, stageName, serviceName string, properties mvmodels.ServiceUpdate) error
func (*MongoDBKeyEncodingProjectsRepo) UpdateProjectUpstream ¶
func (m *MongoDBKeyEncodingProjectsRepo) UpdateProjectUpstream(projectName string, uri string, user string) error
type MongoDBLogRepo ¶
type MongoDBLogRepo struct {
DbConnection *MongoDBConnection
TheClock clock.Clock
}
func NewMongoDBLogRepo ¶
func NewMongoDBLogRepo(dbConnection *MongoDBConnection) *MongoDBLogRepo
func (*MongoDBLogRepo) CreateLogEntries ¶
func (mdbrepo *MongoDBLogRepo) CreateLogEntries(entries []apimodels.LogEntry) error
func (*MongoDBLogRepo) DeleteLogEntries ¶
func (mdbrepo *MongoDBLogRepo) DeleteLogEntries(params models.DeleteLogParams) error
func (*MongoDBLogRepo) GetLogEntries ¶
func (mdbrepo *MongoDBLogRepo) GetLogEntries(params models.GetLogParams) (*models.GetLogsResponse, error)
func (*MongoDBLogRepo) SetupTTLIndex ¶
func (mdbrepo *MongoDBLogRepo) SetupTTLIndex(duration time.Duration) error
type MongoDBProjectMVRepo ¶
type MongoDBProjectMVRepo struct {
// contains filtered or unexported fields
}
func NewProjectMVRepo ¶
func NewProjectMVRepo(projectRepo ProjectRepo, eventRepo EventRepo, sequenceExecutionRepo SequenceExecutionRepo) *MongoDBProjectMVRepo
func (*MongoDBProjectMVRepo) CloseOpenRemediations ¶
func (mv *MongoDBProjectMVRepo) CloseOpenRemediations(project, stage, service, keptnContext string) error
CloseOpenRemediations closes a open remediation actions for a given keptnContext
func (*MongoDBProjectMVRepo) CreateProject ¶
func (mv *MongoDBProjectMVRepo) CreateProject(prj *apimodels.ExpandedProject) error
CreateProject creates a project
func (*MongoDBProjectMVRepo) CreateRemediation ¶
func (mv *MongoDBProjectMVRepo) CreateRemediation(project, stage, service string, remediation *apimodels.Remediation) error
CreateRemediation creates a remediation action
func (*MongoDBProjectMVRepo) CreateService ¶
func (mv *MongoDBProjectMVRepo) CreateService(project string, stage string, service string) error
CreateService creates a service
func (*MongoDBProjectMVRepo) CreateStage ¶
func (mv *MongoDBProjectMVRepo) CreateStage(project string, stage string) error
CreateStage creates a stage
func (*MongoDBProjectMVRepo) DeleteProject ¶
func (mv *MongoDBProjectMVRepo) DeleteProject(projectName string) error
DeleteProject deletes a project
func (*MongoDBProjectMVRepo) DeleteService ¶
func (mv *MongoDBProjectMVRepo) DeleteService(project string, stage string, service string) error
DeleteService deletes a service
func (*MongoDBProjectMVRepo) DeleteStage ¶
func (mv *MongoDBProjectMVRepo) DeleteStage(project string, stage string) error
DeleteStage deletes a stage
func (*MongoDBProjectMVRepo) DeleteUpstreamInfo ¶
func (mv *MongoDBProjectMVRepo) DeleteUpstreamInfo(projectName string) error
DeleteUpstreamInfo deletes the Upstream Repository URL and git user of a project
func (*MongoDBProjectMVRepo) GetProject ¶
func (mv *MongoDBProjectMVRepo) GetProject(projectName string) (*apimodels.ExpandedProject, error)
GetProject returns a project by its name
func (*MongoDBProjectMVRepo) GetProjects ¶
func (mv *MongoDBProjectMVRepo) GetProjects() ([]*apimodels.ExpandedProject, error)
GetProjects returns all projects
func (*MongoDBProjectMVRepo) GetService ¶
func (mv *MongoDBProjectMVRepo) GetService(projectName, stageName, serviceName string) (*apimodels.ExpandedService, error)
func (*MongoDBProjectMVRepo) OnSequenceTaskEvent ¶
func (mv *MongoDBProjectMVRepo) OnSequenceTaskEvent(event apimodels.KeptnContextExtendedCE)
func (*MongoDBProjectMVRepo) UpdateEventOfService ¶
func (mv *MongoDBProjectMVRepo) UpdateEventOfService(e apimodels.KeptnContextExtendedCE) error
UpdateEventOfService updates a service event
func (*MongoDBProjectMVRepo) UpdateProject ¶
func (mv *MongoDBProjectMVRepo) UpdateProject(prj *apimodels.ExpandedProject) error
UpdateProject updates a project
func (*MongoDBProjectMVRepo) UpdateShipyard ¶
func (mv *MongoDBProjectMVRepo) UpdateShipyard(projectName string, shipyardContent string) error
UpdateShipyard updates the shipyard of a project
func (*MongoDBProjectMVRepo) UpdateUpstreamInfo ¶
func (mv *MongoDBProjectMVRepo) UpdateUpstreamInfo(projectName string, uri, user string) error
UpdateUpstreamInfo updates the Upstream Repository URL and git user of a project
func (*MongoDBProjectMVRepo) UpdatedShipyard ¶
func (mv *MongoDBProjectMVRepo) UpdatedShipyard(projectName string, shipyard string) error
type MongoDBProjectsRepo ¶
type MongoDBProjectsRepo struct {
DBConnection *MongoDBConnection
}
func NewMongoDBProjectsRepo ¶
func NewMongoDBProjectsRepo(dbConnection *MongoDBConnection) *MongoDBProjectsRepo
func (*MongoDBProjectsRepo) CreateProject ¶
func (m *MongoDBProjectsRepo) CreateProject(project *apimodels.ExpandedProject) error
func (*MongoDBProjectsRepo) DeleteProject ¶
func (m *MongoDBProjectsRepo) DeleteProject(projectName string) error
func (*MongoDBProjectsRepo) GetProject ¶
func (m *MongoDBProjectsRepo) GetProject(projectName string) (*apimodels.ExpandedProject, error)
func (*MongoDBProjectsRepo) GetProjects ¶
func (m *MongoDBProjectsRepo) GetProjects() ([]*apimodels.ExpandedProject, error)
func (*MongoDBProjectsRepo) UpdateProject ¶
func (m *MongoDBProjectsRepo) UpdateProject(project *apimodels.ExpandedProject) error
func (*MongoDBProjectsRepo) UpdateProjectService ¶
func (m *MongoDBProjectsRepo) UpdateProjectService(projectName, stageName, serviceName string, properties mvmodels.ServiceUpdate) error
func (*MongoDBProjectsRepo) UpdateProjectUpstream ¶
func (m *MongoDBProjectsRepo) UpdateProjectUpstream(projectName string, uri string, user string) error
type MongoDBSequenceExecutionRepo ¶
type MongoDBSequenceExecutionRepo struct {
DbConnection *MongoDBConnection
// ModelTransformer allows transforming sequence execution objects before storing and after retrieving to and from the database.
// This is needed if the items for that collection should be stored in a different format while retaining its structure used outside the package
ModelTransformer sequence_execution.ModelTransformer
}
func NewMongoDBSequenceExecutionRepo ¶
func NewMongoDBSequenceExecutionRepo(dbConnection *MongoDBConnection, opts ...SequenceExecutionRepoOpt) *MongoDBSequenceExecutionRepo
func (*MongoDBSequenceExecutionRepo) AppendTaskEvent ¶
func (mdbrepo *MongoDBSequenceExecutionRepo) AppendTaskEvent(taskSequence models.SequenceExecution, event models.TaskEvent) (*models.SequenceExecution, error)
AppendTaskEvent adds an event that is relevant to the execution of the current task. This function needs to be thread safe since it can potentially be invoked by multiple threads at the same time.
func (*MongoDBSequenceExecutionRepo) Clear ¶
func (mdbrepo *MongoDBSequenceExecutionRepo) Clear(projectName string) error
Clear deletes the sequence execution collection of the given project
func (*MongoDBSequenceExecutionRepo) Get ¶
func (mdbrepo *MongoDBSequenceExecutionRepo) Get(filter models.SequenceExecutionFilter) ([]models.SequenceExecution, error)
Get returns all matching sequence executions, based on the given filter
func (*MongoDBSequenceExecutionRepo) GetByTriggeredID ¶
func (mdbrepo *MongoDBSequenceExecutionRepo) GetByTriggeredID(project, triggeredID string) (*models.SequenceExecution, error)
GetByTriggeredID searches for a sequence execution with the given triggeredID.
func (*MongoDBSequenceExecutionRepo) GetPaginated ¶
func (mdbrepo *MongoDBSequenceExecutionRepo) GetPaginated(filter models.SequenceExecutionFilter, paginationParams models.PaginationParams) ([]models.SequenceExecution, *models.PaginationResult, error)
GetPaginated returns all matching sequence executions within the specified range, based on the given filter
func (*MongoDBSequenceExecutionRepo) IsContextPaused ¶
func (mdbrepo *MongoDBSequenceExecutionRepo) IsContextPaused(eventScope models.EventScope) bool
IsContextPaused checks whether a sequence that belongs to the given Keptn Context is currently paused
func (*MongoDBSequenceExecutionRepo) PauseContext ¶
func (mdbrepo *MongoDBSequenceExecutionRepo) PauseContext(eventScope models.EventScope) error
PauseContext pauses all sequence executions for the given Keptn Context
func (*MongoDBSequenceExecutionRepo) ResumeContext ¶
func (mdbrepo *MongoDBSequenceExecutionRepo) ResumeContext(eventScope models.EventScope) error
ResumeContext resumes all sequence executions for the given Keptn Context
func (*MongoDBSequenceExecutionRepo) UpdateStatus ¶
func (mdbrepo *MongoDBSequenceExecutionRepo) UpdateStatus(taskSequence models.SequenceExecution) (*models.SequenceExecution, error)
UpdateStatus is used to update the overall state of the sequence, e.g. when it was paused via the API. This will not update a complete sequence execution, but just the attributes representing the overall state of the sequence
func (*MongoDBSequenceExecutionRepo) Upsert ¶
func (mdbrepo *MongoDBSequenceExecutionRepo) Upsert(item models.SequenceExecution, upsertOptions *models.SequenceExecutionUpsertOptions) error
Upsert inserts or updates a sequence execution into the sequence execution collection. By setting the CheckUniqueTriggeredID of the upsertOptions to true, this function will return a ErrSequenceWithTriggeredIDAlreadyExists, if a sequence with the same triggeredID already exists (can be useful to avoid storing duplicate sequences).
type MongoDBSequenceQueueRepo ¶
type MongoDBSequenceQueueRepo struct {
DBConnection *MongoDBConnection
}
func NewMongoDBSequenceQueueRepo ¶
func NewMongoDBSequenceQueueRepo(dbConnection *MongoDBConnection) *MongoDBSequenceQueueRepo
func (*MongoDBSequenceQueueRepo) DeleteQueuedSequences ¶
func (sq *MongoDBSequenceQueueRepo) DeleteQueuedSequences(itemFilter models.QueueItem) error
func (*MongoDBSequenceQueueRepo) GetQueuedSequences ¶
func (sq *MongoDBSequenceQueueRepo) GetQueuedSequences() ([]models.QueueItem, error)
func (*MongoDBSequenceQueueRepo) QueueSequence ¶
func (sq *MongoDBSequenceQueueRepo) QueueSequence(item models.QueueItem) error
type MongoDBStateRepo ¶
type MongoDBStateRepo struct {
DBConnection *MongoDBConnection
}
func NewMongoDBStateRepo ¶
func NewMongoDBStateRepo(dbConnection *MongoDBConnection) *MongoDBStateRepo
func (*MongoDBStateRepo) CreateSequenceState ¶
func (mdbrepo *MongoDBStateRepo) CreateSequenceState(state models.SequenceState) error
func (*MongoDBStateRepo) DeleteSequenceStates ¶
func (mdbrepo *MongoDBStateRepo) DeleteSequenceStates(filter models.StateFilter) error
func (*MongoDBStateRepo) FindSequenceStates ¶
func (mdbrepo *MongoDBStateRepo) FindSequenceStates(filter models.StateFilter) (*models.SequenceStates, error)
func (*MongoDBStateRepo) GetSequenceStateByID ¶
func (mdbrepo *MongoDBStateRepo) GetSequenceStateByID(filter models.StateFilter) (*models.SequenceState, error)
func (*MongoDBStateRepo) UpdateSequenceState ¶
func (mdbrepo *MongoDBStateRepo) UpdateSequenceState(state models.SequenceState) error
type MongoDBUniformRepo ¶
type MongoDBUniformRepo struct {
DbConnection *MongoDBConnection
}
func NewMongoDBUniformRepo ¶
func NewMongoDBUniformRepo(dbConnection *MongoDBConnection) *MongoDBUniformRepo
func (*MongoDBUniformRepo) CreateOrUpdateSubscription ¶
func (mdbrepo *MongoDBUniformRepo) CreateOrUpdateSubscription(integrationID string, subscription apimodels.EventSubscription) error
func (*MongoDBUniformRepo) CreateOrUpdateUniformIntegration ¶
func (mdbrepo *MongoDBUniformRepo) CreateOrUpdateUniformIntegration(integration apimodels.Integration) error
func (*MongoDBUniformRepo) CreateUniformIntegration ¶
func (mdbrepo *MongoDBUniformRepo) CreateUniformIntegration(integration apimodels.Integration) error
func (*MongoDBUniformRepo) DeleteSubscription ¶
func (mdbrepo *MongoDBUniformRepo) DeleteSubscription(integrationID, subscriptionID string) error
func (*MongoDBUniformRepo) DeleteUniformIntegration ¶
func (mdbrepo *MongoDBUniformRepo) DeleteUniformIntegration(id string) error
func (*MongoDBUniformRepo) GetSubscription ¶
func (mdbrepo *MongoDBUniformRepo) GetSubscription(integrationID, subscriptionID string) (*apimodels.EventSubscription, error)
func (*MongoDBUniformRepo) GetSubscriptions ¶
func (mdbrepo *MongoDBUniformRepo) GetSubscriptions(integrationID string) ([]apimodels.EventSubscription, error)
func (*MongoDBUniformRepo) GetUniformIntegrations ¶
func (mdbrepo *MongoDBUniformRepo) GetUniformIntegrations(params models.GetUniformIntegrationsParams) ([]apimodels.Integration, error)
func (*MongoDBUniformRepo) SetupTTLIndex ¶
func (mdbrepo *MongoDBUniformRepo) SetupTTLIndex(duration time.Duration) error
func (*MongoDBUniformRepo) UpdateLastSeen ¶
func (mdbrepo *MongoDBUniformRepo) UpdateLastSeen(integrationID string) (*apimodels.Integration, error)
func (*MongoDBUniformRepo) UpdateVersionInfo ¶
func (mdbrepo *MongoDBUniformRepo) UpdateVersionInfo(integrationID, integrationVersion, distributorVersion string) (*apimodels.Integration, error)
type ProjectCredentialsRepo ¶
type ProjectCredentialsRepo interface {
UpdateProject(project *models.ExpandedProjectOld) error
GetOldCredentialsProjects() ([]*models.ExpandedProjectOld, error)
CreateOldCredentialsProject(project *models.ExpandedProjectOld) error
}
ProjectCredentialsRepo is a helper repository to migrate the old git credentials model to a new one (including the projects in DB) When the migration is not needed anymore, this struct/file can be removed
type ProjectMVRepo ¶
type ProjectMVRepo interface {
CreateProject(prj *apimodels.ExpandedProject) error
UpdateShipyard(projectName string, shipyardContent string) error
UpdateProject(prj *apimodels.ExpandedProject) error
UpdateUpstreamInfo(projectName string, uri, user string) error
UpdatedShipyard(projectName string, shipyard string) error
DeleteUpstreamInfo(projectName string) error
GetProjects() ([]*apimodels.ExpandedProject, error)
GetProject(projectName string) (*apimodels.ExpandedProject, error)
DeleteProject(projectName string) error
CreateStage(project string, stage string) error
DeleteStage(project string, stage string) error
CreateService(project string, stage string, service string) error
GetService(projectName, stageName, serviceName string) (*apimodels.ExpandedService, error)
DeleteService(project string, stage string, service string) error
UpdateEventOfService(e apimodels.KeptnContextExtendedCE) error
CreateRemediation(project, stage, service string, remediation *apimodels.Remediation) error
CloseOpenRemediations(project, stage, service, keptnContext string) error
OnSequenceTaskEvent(event apimodels.KeptnContextExtendedCE)
}
type ProjectRepo ¶
type ProjectRepo interface {
GetProjects() ([]*apimodels.ExpandedProject, error)
GetProject(projectName string) (*apimodels.ExpandedProject, error)
CreateProject(project *apimodels.ExpandedProject) error
UpdateProject(project *apimodels.ExpandedProject) error
UpdateProjectService(projectName, stageName, serviceName string, properties mvmodels.ServiceUpdate) error
UpdateProjectUpstream(projectName string, uri string, user string) error
DeleteProject(projectName string) error
}
ProjectRepo is an interface to access projects
type SecretCredentialsRepo ¶
type SecretCredentialsRepo interface {
UpdateSecret(project *models.ExpandedProjectOld) error
}
SecretCredentialsRepo is a helper repository to migrate the old git credentials model to a new one (including the K8s secrets) When the migration is not needed anymore, this struct/file can be removed
type SequenceExecutionRepo ¶
type SequenceExecutionRepo interface {
Get(filter models.SequenceExecutionFilter) ([]models.SequenceExecution, error)
GetPaginated(filter models.SequenceExecutionFilter, paginationParams models.PaginationParams) ([]models.SequenceExecution, *models.PaginationResult, error)
GetByTriggeredID(project, triggeredID string) (*models.SequenceExecution, error)
Upsert(item models.SequenceExecution, options *models.SequenceExecutionUpsertOptions) error
AppendTaskEvent(taskSequence models.SequenceExecution, event models.TaskEvent) (*models.SequenceExecution, error)
UpdateStatus(taskSequence models.SequenceExecution) (*models.SequenceExecution, error)
PauseContext(eventScope models.EventScope) error
ResumeContext(eventScope models.EventScope) error
IsContextPaused(eventScope models.EventScope) bool
Clear(projectName string) error
}
type SequenceExecutionRepoOpt ¶
type SequenceExecutionRepoOpt func(repo *MongoDBSequenceExecutionRepo)
func WithSequenceExecutionModelTransformer ¶
func WithSequenceExecutionModelTransformer(transformer sequence_execution.ModelTransformer) SequenceExecutionRepoOpt
type SequenceQueueRepo ¶
type SequenceQueueRepo interface {
QueueSequence(item models.QueueItem) error
GetQueuedSequences() ([]models.QueueItem, error)
DeleteQueuedSequences(itemFilter models.QueueItem) error
}
SequenceQueueRepo defines the interface for storing, retrieving and deleting queued events
type SequenceStateRepo ¶
type SequenceStateRepo interface {
CreateSequenceState(state apimodels.SequenceState) error
FindSequenceStates(filter apimodels.StateFilter) (*apimodels.SequenceStates, error)
GetSequenceStateByID(filter apimodels.StateFilter) (*apimodels.SequenceState, error)
UpdateSequenceState(state apimodels.SequenceState) error
DeleteSequenceStates(filter apimodels.StateFilter) error
}
type UniformRepo ¶
type UniformRepo interface {
GetUniformIntegrations(filter models.GetUniformIntegrationsParams) ([]apimodels.Integration, error)
DeleteUniformIntegration(id string) error
CreateUniformIntegration(integration apimodels.Integration) error
CreateOrUpdateUniformIntegration(integration apimodels.Integration) error
CreateOrUpdateSubscription(integrationID string, subscription apimodels.EventSubscription) error
DeleteSubscription(integrationID, subscriptionID string) error
GetSubscription(integrationID, subscriptionID string) (*apimodels.EventSubscription, error)
GetSubscriptions(integrationID string) ([]apimodels.EventSubscription, error)
UpdateLastSeen(integrationID string) (*apimodels.Integration, error)
UpdateVersionInfo(integrationID, integrationVersion, distributorVersion string) (*apimodels.Integration, error)
}
Source Files
¶
- mongodb.go
- mongodb_connection.go
- mongodb_dbdump_repo.go
- mongodb_event_repo.go
- mongodb_eventqueue_repo.go
- mongodb_log_repo.go
- mongodb_project_mv_repo.go
- mongodb_project_repo.go
- mongodb_sequence_execution_repo.go
- mongodb_sequencequeue_repo.go
- mongodb_state_repo.go
- mongodb_uniform_repo.go
- project_credentials_repo.go
- repos.go
- secret_credentials_repo.go