Documentation ¶
Index ¶
- Constants
- Variables
- func DeleteAllCanaries(db *gorm.DB, canaries ...Canary) error
- func DeleteAllComponents(db *gorm.DB, components ...Component) error
- func DeleteAllConfigs(db *gorm.DB, configs ...ConfigItem) error
- func DeleteAllIncidents(db *gorm.DB, incidents ...Incident) error
- func DeleteCheckComponentRelationshipsForCanary(db *gorm.DB, id string) error
- func DeleteChecksForCanary(db *gorm.DB, id string) ([]string, error)
- func DeleteComponentChildren(db *gorm.DB, componentID string) error
- func DeleteComponentsWithIDs(db *gorm.DB, compIDs []string) error
- func DeleteInlineCanariesForComponent(db *gorm.DB, componentID string) error
- func ErrorContext(items ...Contextable) []any
- func GetIDs[T DBTable](items ...T) []string
- func Now() clause.Expr
- func SetProperties(db *gorm.DB, props []AppProperty) error
- func SetPropertiesInDBFromFile(db *gorm.DB, filename string) error
- type AccessToken
- type Agent
- type AnalysisType
- type AppProperty
- type Artifact
- type Canary
- type Check
- func (c Check) AsMap(removeFields ...string) map[string]any
- func (c Check) GetDescription() string
- func (c Check) GetFieldsMatcher() fields.Fields
- func (c Check) GetID() string
- func (c Check) GetLabelsMatcher() labels.Labels
- func (c Check) GetName() string
- func (c Check) GetNamespace() string
- func (c Check) GetStatus() (string, error)
- func (c Check) GetType() string
- func (t Check) GetUnpushed(db *gorm.DB) ([]DBTable, error)
- func (c Check) PK() string
- func (t Check) PKCols() []clause.Column
- func (c Check) TableName() string
- func (c Check) ToString() string
- func (t Check) UpdateParentsIsPushed(db *gorm.DB, items []DBTable) error
- func (t Check) Value() any
- type CheckComponentRelationship
- func (t CheckComponentRelationship) GetUnpushed(db *gorm.DB) ([]DBTable, error)
- func (c CheckComponentRelationship) PK() string
- func (c *CheckComponentRelationship) Save(db *gorm.DB) error
- func (CheckComponentRelationship) TableName() string
- func (s CheckComponentRelationship) UpdateIsPushed(db *gorm.DB, items []DBTable) error
- type CheckConfigRelationship
- func (c CheckConfigRelationship) GetUnpushed(db *gorm.DB) ([]DBTable, error)
- func (c CheckConfigRelationship) PK() string
- func (c *CheckConfigRelationship) Save(db *gorm.DB) error
- func (CheckConfigRelationship) TableName() string
- func (s CheckConfigRelationship) UpdateIsPushed(db *gorm.DB, items []DBTable) error
- type CheckHealthStatus
- type CheckStatus
- func (s CheckStatus) AsMap(removeFields ...string) map[string]any
- func (s CheckStatus) GetTime() (time.Time, error)
- func (s CheckStatus) GetUnpushed(db *gorm.DB) ([]DBTable, error)
- func (s CheckStatus) PK() string
- func (s CheckStatus) PKCols() []clause.Column
- func (CheckStatus) TableName() string
- func (s CheckStatus) UpdateIsPushed(db *gorm.DB, items []DBTable) error
- func (t CheckStatus) UpdateParentsIsPushed(db *gorm.DB, items []DBTable) error
- func (t CheckStatus) Value() any
- type CheckStatusAggregate1d
- type CheckStatusAggregate1h
- type CheckSummary
- type Checks
- type Comment
- type Component
- func (c *Component) AsMap(removeFields ...string) map[string]any
- func (component Component) Clone() Component
- func (component Component) GetAsEnvironment() map[string]interface{}
- func (c Component) GetFieldsMatcher() fields.Fields
- func (c Component) GetHealth() (Health, error)
- func (c Component) GetID() string
- func (c Component) GetLabelsMatcher() labels.Labels
- func (c Component) GetName() string
- func (c Component) GetNamespace() string
- func (c Component) GetStatus() (string, error)
- func (c Component) GetType() string
- func (t Component) GetUnpushed(db *gorm.DB) ([]DBTable, error)
- func (component Component) IsHealthy() bool
- func (c *Component) ObjectMeta() metav1.ObjectMeta
- func (c Component) PK() string
- func (component Component) String() string
- func (c *Component) Summarize(depth int) types.Summary
- func (c Component) TableName() string
- func (t Component) UpdateParentsIsPushed(db *gorm.DB, items []DBTable) error
- type ComponentRelationship
- func (cr ComponentRelationship) GetUnpushed(db *gorm.DB) ([]DBTable, error)
- func (cr ComponentRelationship) PK() string
- func (s ComponentRelationship) PKCols() []clause.Column
- func (ComponentRelationship) TableName() string
- func (s ComponentRelationship) UpdateIsPushed(db *gorm.DB, items []DBTable) error
- func (s ComponentRelationship) UpdateParentsIsPushed(db *gorm.DB, items []DBTable) error
- func (s ComponentRelationship) Value() any
- type Components
- type ConfigAnalysis
- func (ConfigAnalysis) GetUnpushed(db *gorm.DB) ([]DBTable, error)
- func (a ConfigAnalysis) PK() string
- func (c ConfigAnalysis) PKCols() []clause.Column
- func (a ConfigAnalysis) String() string
- func (a ConfigAnalysis) TableName() string
- func (t ConfigAnalysis) UpdateParentsIsPushed(db *gorm.DB, items []DBTable) error
- func (c ConfigAnalysis) Value() any
- type ConfigChange
- func (c *ConfigChange) BeforeCreate(tx *gorm.DB) error
- func (c ConfigChange) GetExternalID() ExternalID
- func (t ConfigChange) GetUnpushed(db *gorm.DB) ([]DBTable, error)
- func (c ConfigChange) PK() string
- func (c ConfigChange) PKCols() []clause.Column
- func (c ConfigChange) String() string
- func (c ConfigChange) TableName() string
- func (t ConfigChange) UpdateParentsIsPushed(db *gorm.DB, items []DBTable) error
- func (c ConfigChange) Value() any
- type ConfigComponentRelationship
- func (t ConfigComponentRelationship) GetUnpushed(db *gorm.DB) ([]DBTable, error)
- func (t ConfigComponentRelationship) PK() string
- func (s ConfigComponentRelationship) PKCols() []clause.Column
- func (ConfigComponentRelationship) TableName() string
- func (s ConfigComponentRelationship) UpdateIsPushed(db *gorm.DB, items []DBTable) error
- func (s ConfigComponentRelationship) UpdateParentsIsPushed(db *gorm.DB, items []DBTable) error
- func (s ConfigComponentRelationship) Value() any
- type ConfigItem
- func (ci ConfigItem) AsMap(removeFields ...string) map[string]any
- func (ci *ConfigItem) ConfigJSONStringMap() (map[string]any, error)
- func (c ConfigItem) GetFieldsMatcher() fields.Fields
- func (c ConfigItem) GetID() string
- func (c ConfigItem) GetLabelsMatcher() labels.Labels
- func (c ConfigItem) GetName() string
- func (c ConfigItem) GetNamespace() string
- func (c ConfigItem) GetSelectorID() string
- func (c ConfigItem) GetStatus() (string, error)
- func (c ConfigItem) GetTagsMatcher() labels.Labels
- func (c ConfigItem) GetType() string
- func (t ConfigItem) GetUnpushed(db *gorm.DB) ([]DBTable, error)
- func (ci *ConfigItem) NestedString(paths ...string) string
- func (t ConfigItem) PK() string
- func (t ConfigItem) PKCols() []clause.Column
- func (ci *ConfigItem) SetParent(parent *ConfigItem)
- func (ci ConfigItem) String() string
- func (ConfigItem) TableName() string
- func (t ConfigItem) UpdateParentsIsPushed(db *gorm.DB, items []DBTable) error
- func (c ConfigItem) Value() any
- type ConfigRelationship
- func (t ConfigRelationship) GetUnpushed(db *gorm.DB) ([]DBTable, error)
- func (cr ConfigRelationship) PK() string
- func (c ConfigRelationship) PKCols() []clause.Column
- func (cr ConfigRelationship) TableName() string
- func (s ConfigRelationship) UpdateIsPushed(db *gorm.DB, items []DBTable) error
- func (t ConfigRelationship) UpdateParentsIsPushed(db *gorm.DB, items []DBTable) error
- func (c ConfigRelationship) Value() any
- type ConfigScraper
- type Connection
- func (c Connection) AsEnv(ctx context.Context) EnvPrep
- func (c Connection) AsGoGetterURL() (string, error)
- func (c Connection) AsMap(removeFields ...string) map[string]any
- func (c Connection) Merge(ctx types.GetEnvVarFromCache, from any) (*Connection, error)
- func (c Connection) PK() string
- func (c *Connection) SetProperty(key, value string)
- func (c Connection) String() string
- func (c Connection) TableName() string
- type Contextable
- type DBTable
- type Deleteable
- type EnvPrep
- type Event
- type EventQueueSummary
- type Events
- type Evidence
- type EvidenceCanaryCheck
- type EvidenceComponent
- type EvidenceConfig
- type EvidenceConfigAnalysis
- type EvidenceConfigChange
- type EvidenceLogs
- type ExtendedDBTable
- type ExternalID
- type Health
- type Hypothesis
- type Incident
- type IncidentStatus
- type IncidentType
- type Integration
- type IntegrationType
- type JobHistory
- func (h *JobHistory) AddDetails(key string, val any)
- func (h *JobHistory) AddError(err any) *JobHistory
- func (h *JobHistory) AddErrorWithSkipReportLevel(err string, level int) *JobHistory
- func (h *JobHistory) AddErrorf(msg string, args ...interface{}) *JobHistory
- func (j JobHistory) AsError() error
- func (h *JobHistory) End() *JobHistory
- func (j JobHistory) GetUnpushed(db *gorm.DB) ([]DBTable, error)
- func (h *JobHistory) IncrSuccess() *JobHistory
- func (j JobHistory) PK() string
- func (h *JobHistory) Persist(db *gorm.DB) error
- func (h *JobHistory) Start() *JobHistory
- func (h *JobHistory) String() string
- func (j JobHistory) TableName() string
- type JobStatus
- type Link
- type LocalTime
- type LogLine
- type LogNameAccessor
- type LoggingBackend
- type NamespaceScopeAccessor
- type Notification
- type NotificationSendHistory
- func (n NotificationSendHistory) AsMap(removeFields ...string) map[string]any
- func (t *NotificationSendHistory) End() *NotificationSendHistory
- func (t *NotificationSendHistory) Failed(e error) *NotificationSendHistory
- func (t *NotificationSendHistory) PendingPlaybookRun() *NotificationSendHistory
- func (t *NotificationSendHistory) Sending() *NotificationSendHistory
- func (t *NotificationSendHistory) Sent() *NotificationSendHistory
- func (t *NotificationSendHistory) TableName() string
- func (t *NotificationSendHistory) WithStartTime(s time.Time) *NotificationSendHistory
- type NotificationSilence
- type NotificationSilenceResource
- type Permission
- type Person
- type PersonProperties
- type Playbook
- func (p Playbook) AsMap(removeFields ...string) map[string]any
- func (p Playbook) Context() map[string]any
- func (p Playbook) Load(db *gorm.DB) (*Playbook, error)
- func (p *Playbook) LoggerName() string
- func (p *Playbook) NamespaceScope() string
- func (p *Playbook) NamespacedName() string
- func (p Playbook) PK() string
- func (p *Playbook) Save(db *gorm.DB) error
- func (p Playbook) TableName() string
- type PlaybookActionAgentData
- type PlaybookActionStatus
- type PlaybookApproval
- type PlaybookRun
- func (p PlaybookRun) AsMap(removeFields ...string) map[string]any
- func (p PlaybookRun) Assign(db *gorm.DB, agent *Agent, action string) error
- func (p PlaybookRun) Context() map[string]any
- func (p PlaybookRun) Delay(db *gorm.DB, delay time.Duration) error
- func (p PlaybookRun) End(db *gorm.DB) error
- func (p PlaybookRun) Fail(db *gorm.DB, err error) error
- func (p PlaybookRun) GetAction(db *gorm.DB, name string) (action *PlaybookRunAction, err error)
- func (p PlaybookRun) GetActions(db *gorm.DB) (actions []PlaybookRunAction, err error)
- func (p PlaybookRun) GetAgentAction(db *gorm.DB, name string) (*PlaybookRunAction, error)
- func (p PlaybookRun) GetAgentActions(db *gorm.DB) (actions []PlaybookRunAction, err error)
- func (p PlaybookRun) GetPlaybook(db *gorm.DB) (*Playbook, error)
- func (run *PlaybookRun) GetRBACAttributes(db *gorm.DB) (map[string]any, error)
- func (p PlaybookRun) Load(db *gorm.DB) (*PlaybookRun, error)
- func (p PlaybookRun) PK() string
- func (p PlaybookRun) Running(db *gorm.DB) error
- func (p PlaybookRun) Schedule(db *gorm.DB) error
- func (p PlaybookRun) StartAction(db *gorm.DB, action string) (*PlaybookRunAction, error)
- func (p *PlaybookRun) String(db *gorm.DB) string
- func (p PlaybookRun) TableName() string
- func (p PlaybookRun) Update(db *gorm.DB, columns map[string]any) error
- func (p PlaybookRun) Waiting(db *gorm.DB) error
- type PlaybookRunAction
- func (p PlaybookRunAction) AsMap(removeFields ...string) map[string]any
- func (p PlaybookRunAction) Complete(db *gorm.DB, result any) error
- func (p PlaybookRunAction) Context() map[string]any
- func (p PlaybookRunAction) Fail(db *gorm.DB, result any, err error) error
- func (p PlaybookRunAction) GetPlaybook(db *gorm.DB) (*Playbook, error)
- func (p PlaybookRunAction) GetRun(db *gorm.DB) (*PlaybookRun, error)
- func (p PlaybookRunAction) JSON() (out map[string]any)
- func (p PlaybookRunAction) Load(db *gorm.DB) (*PlaybookRunAction, error)
- func (p PlaybookRunAction) PK() string
- func (p PlaybookRunAction) ScheduleRun(db *gorm.DB) error
- func (p PlaybookRunAction) Skip(db *gorm.DB) error
- func (p PlaybookRunAction) Start(db *gorm.DB) error
- func (p PlaybookRunAction) String() string
- func (p PlaybookRunAction) TableName() string
- func (p PlaybookRunAction) Update(db *gorm.DB, columns map[string]any) error
- func (p PlaybookRunAction) UpdateRun(db *gorm.DB, columns map[string]any) error
- type PlaybookRunStatus
- type Properties
- func (p Properties) AsJSON() []byte
- func (p Properties) AsMap() map[string]any
- func (p Properties) Find(name string) *Property
- func (Properties) GormDBDataType(db *gorm.DB, field *schema.Field) string
- func (Properties) GormDataType() string
- func (p Properties) GormValue(ctx context.Context, db *gorm.DB) clause.Expr
- func (p *Properties) Scan(val any) error
- func (p Properties) Value() (driver.Value, error)
- type Property
- type RelatedConfigDirection
- type Responder
- type ScrapePlugin
- type Severity
- type Team
- type Text
- type Topology
Constants ¶
const ( CheckStatusHealthy = "healthy" CheckStatusUnhealthy = "unhealthy" )
const ( ConfigClassCluster = "Cluster" ConfigClassDatabase = "Database" ConfigClassDeployment = "Deployment" ConfigClassNamespace = "Namespace" ConfigClassNode = "Node" ConfigClassPod = "Pod" ConfigClassVirtualMachine = "VirtualMachine" )
Config classes
const ( ConfigStatusCordoned = "Cordoned" ConfigStatusCordoning = "Cordoning" ConfigStatusDeleted = "Deleted" ConfigStatusDeleting = "Deleting" ConfigStatusFailed = "Failed" ConfigStatusPending = "Pending" ConfigStatusRunning = "Running" ConfigStatusStarting = "Starting" ConfigStatusStopped = "Stopped" ConfigStatusStopping = "Stopping" ConfigStatusSucceeded = "Succeeded" ConfigStatusUncordoned = "Uncordoned" ConfigStatusUnknown = "Unknown" )
Config Statuses
const ( AnalysisStatusOpen = "open" AnalysisStatusResolved = "resolved" AnalysisStatusSilenced = "silenced" )
Config Analysis statuses
const ( ConnectionTypeAWS = "aws" ConnectionTypeAzure = "azure" ConnectionTypeAzureDevops = "azure_devops" ConnectionTypeDiscord = "discord" ConnectionTypeDynatrace = "dynatrace" ConnectionTypeElasticSearch = "elasticsearch" ConnectionTypeEmail = "email" ConnectionTypeFolder = "folder" ConnectionTypeGCP = "google_cloud" ConnectionTypeGCS = "gcs" ConnectionTypeGenericWebhook = "generic_webhook" ConnectionTypeGit = "git" ConnectionTypeGithub = "github" ConnectionTypeGitlab = "gitlab" ConnectionTypeGoogleChat = "google_chat" ConnectionTypeHTTP = "http" ConnectionTypeIFTTT = "ifttt" ConnectionTypeJMeter = "jmeter" ConnectionTypeKubernetes = "kubernetes" ConnectionTypeLDAP = "ldap" ConnectionTypeMatrix = "matrix" ConnectionTypeMattermost = "mattermost" ConnectionTypeMongo = "mongo" ConnectionTypeMySQL = "mysql" ConnectionTypeNtfy = "ntfy" ConnectionTypeOpsGenie = "opsgenie" ConnectionTypePostgres = "postgres" ConnectionTypePrometheus = "prometheus" ConnectionTypePushbullet = "pushbullet" ConnectionTypePushover = "pushover" ConnectionTypeRedis = "redis" ConnectionTypeRestic = "restic" ConnectionTypeRocketchat = "rocketchat" ConnectionTypeS3 = "s3" ConnectionTypeSFTP = "sftp" ConnectionTypeSlack = "slack" ConnectionTypeSlackWebhook = "slackwebhook" ConnectionTypeSMB = "smb" ConnectionTypeSQLServer = "sql_server" ConnectionTypeTeams = "teams" ConnectionTypeTelegram = "telegram" ConnectionTypeWebhook = "webhook" ConnectionTypeWindows = "windows" ConnectionTypeZulipChat = "zulip_chat" )
List of all connection types
const ( StatusRunning = "RUNNING" StatusSuccess = "SUCCESS" StatusWarning = "WARNING" StatusFailed = "FAILED" StatusStale = "STALE" StatusSkipped = "SKIPPED" )
const ( NotificationStatusError = "error" NotificationStatusSent = "sent" NotificationStatusSending = "sending" NotificationStatusPending = "pending" // delayed due to waitFor evaluation NotificationStatusSkipped = "skipped" // due to waitFor evaluation NotificationStatusSilenced = "silenced" NotificationStatusRepeatInterval = "repeat-interval" // an event was triggered and the notification is waiting for the playbook run to be triggered. NotificationStatusPendingPlaybookRun = "pending_playbook_run" // A playbook is currently in progress NotificationStatusPendingPlaybookCompletion = "pending_playbook_completion" // health related notifications of kubernetes config items get into this state // to wait for the incremental scraper to re-evaluate the health. NotificationStatusEvaluatingWaitFor = "evaluating-waitfor" )
const ( SourceCRD = "KubernetesCRD" SourceConfigFile = "ConfigFile" SourceUI = "UI" SourceTopology = "Topology" SourcePush = "Push" SourceCRDSync = "CRDSync" )
const TimeFormat = "2006-01-02T15:04:05"
Variables ¶
var AllowedColumnFieldsInComponents = []string{
"owner",
"topology_type",
"topology_id",
"parent_id",
"type",
}
var AllowedColumnFieldsInConfigs = []string{"config_class", "external_id"}
var CheckHealthStatuses = []CheckHealthStatus{ CheckStatusHealthy, CheckStatusUnhealthy, }
var CheckID = func(c Check) string {
return c.ID.String()
}
var ComponentID = func(c Component) string {
return c.ID.String()
}
var ConfigID = func(c ConfigComponentRelationship, i int) string {
return c.ConfigID.String()
}
var ConfigSelectorID = func(c ConfigComponentRelationship, i int) string {
return c.SelectorID
}
var PlaybookActionFinalStates = []PlaybookActionStatus{ PlaybookActionStatusFailed, PlaybookActionStatusCompleted, PlaybookActionStatusSkipped, }
var PlaybookRunStatusExecutingGroup = []PlaybookRunStatus{ PlaybookRunStatusRunning, PlaybookRunStatusScheduled, PlaybookRunStatusCompleted, }
Functions ¶
func DeleteAllCanaries ¶ added in v1.0.561
func DeleteAllComponents ¶ added in v1.0.561
func DeleteAllConfigs ¶ added in v1.0.561
func DeleteAllConfigs(db *gorm.DB, configs ...ConfigItem) error
func DeleteAllIncidents ¶ added in v1.0.561
func DeleteCheckComponentRelationshipsForCanary ¶ added in v1.0.510
func DeleteChecksForCanary ¶ added in v1.0.510
func DeleteComponentChildren ¶ added in v1.0.510
func DeleteComponentsWithIDs ¶ added in v1.0.510
DeleteComponentsWithID deletes all components with specified ids.
func DeleteInlineCanariesForComponent ¶ added in v1.0.510
func ErrorContext ¶ added in v1.0.564
func ErrorContext(items ...Contextable) []any
func SetProperties ¶ added in v1.0.145
func SetProperties(db *gorm.DB, props []AppProperty) error
Types ¶
type AccessToken ¶ added in v1.0.143
type AccessToken struct { ID uuid.UUID `gorm:"default:generate_ulid()"` Name string `gorm:"not null"` Value string `gorm:"not null"` PersonID uuid.UUID `gorm:"not null"` CreatedAt time.Time `json:"created_at" gorm:"<-:create"` ExpiresAt *time.Time }
func (AccessToken) PK ¶ added in v1.0.561
func (a AccessToken) PK() string
func (AccessToken) TableName ¶ added in v1.0.143
func (AccessToken) TableName() string
type Agent ¶ added in v1.0.91
type Agent struct { ID uuid.UUID `json:"id,omitempty" gorm:"default:generate_ulid()"` Name string `json:"name"` Hostname string `json:"hostname,omitempty"` Description string `json:"description,omitempty"` IP string `json:"ip,omitempty"` Version string `json:"version,omitempty"` Username string `json:"username,omitempty"` PersonID *uuid.UUID `json:"person_id,omitempty"` Properties types.JSONStringMap `json:"properties,omitempty"` TLS string `json:"tls,omitempty"` CreatedBy *uuid.UUID `json:"created_by,omitempty"` CreatedAt time.Time `json:"created_at" time_format:"postgres_timestamp"` DeletedAt *time.Time `json:"deleted_at" time_format:"postgres_timestamp"` UpdatedAt time.Time `json:"updated_at" time_format:"postgres_timestamp"` // Cleanup when set to true will delete all the agent resources when the agent is deleted Cleanup bool `json:"cleanup"` // LastSeen is the timestamp the agent last sent a heartbeat LastSeen *time.Time `json:"last_seen,omitempty" time_format:"postgres_timestamp"` // LastReceived is the timestamp the agent last sent a push data LastReceived *time.Time `json:"last_received,omitempty" time_format:"postgres_timestamp"` }
type AnalysisType ¶ added in v1.0.117
type AnalysisType string
const ( AnalysisTypeAvailability AnalysisType = "availability" AnalysisTypeCompliance AnalysisType = "compliance" AnalysisTypeCost AnalysisType = "cost" AnalysisTypeIntegration AnalysisType = "integration" AnalysisTypeOther AnalysisType = "other" AnalysisTypePerformance AnalysisType = "performance" AnalysisTypeRecommendation AnalysisType = "recommendation" AnalysisTypeReliability AnalysisType = "reliability" AnalysisTypeSecurity AnalysisType = "security" AnalysisTypeTechDebt AnalysisType = "technical_debt" )
type AppProperty ¶ added in v1.0.144
type AppProperty struct { Name string `json:"name,omitempty"` Value string `json:"value,omitempty"` CreatedBy *uuid.UUID `json:"created_by,omitempty"` CreatedAt time.Time `json:"created_at,omitempty" time_format:"postgres_timestamp" gorm:"default:CURRENT_TIMESTAMP()"` UpdatedAt time.Time `json:"updated_at,omitempty" time_format:"postgres_timestamp" gorm:"default:CURRENT_TIMESTAMP()"` DeletedAt *time.Time `json:"deleted_at,omitempty" time_format:"postgres_timestamp" gorm:"default:CURRENT_TIMESTAMP()"` }
func (AppProperty) PK ¶ added in v1.0.561
func (p AppProperty) PK() string
func (AppProperty) TableName ¶ added in v1.0.234
func (p AppProperty) TableName() string
type Artifact ¶ added in v1.0.225
type Artifact struct { ID uuid.UUID `json:"id" gorm:"default:generate_ulid()"` CheckID *uuid.UUID `json:"check_id,omitempty"` CheckTime *time.Time `json:"check_time,omitempty" time_format:"postgres_timestamp"` PlaybookRunActionID *uuid.UUID `json:"playbook_run_action_id,omitempty"` ConnectionID uuid.UUID `json:"connection_id,omitempty"` Path string `json:"path"` IsPushed bool `json:"is_pushed"` IsDataPushed bool `json:"is_data_pushed"` Filename string `json:"filename"` Size int64 `json:"size"` // Size in bytes ContentType string `json:"content_type,omitempty"` Checksum string `json:"checksum"` CreatedAt time.Time `json:"created_at" yaml:"created_at" time_format:"postgres_timestamp"` UpdatedAt time.Time `json:"updated_at" yaml:"updated_at" time_format:"postgres_timestamp"` DeletedAt *time.Time `json:"deleted_at,omitempty" yaml:"deleted_at,omitempty" time_format:"postgres_timestamp"` ExpiresAt *time.Time `json:"expires_at,omitempty" yaml:"expires_at,omitempty" time_format:"postgres_timestamp"` }
Artifact represents the artifacts table
func (Artifact) GetUnpushed ¶ added in v1.0.362
type Canary ¶ added in v1.0.15
type Canary struct { ID uuid.UUID `json:"id" yaml:"id" gorm:"default:generate_ulid()"` Name string `json:"name" yaml:"name"` Namespace string `json:"namespace" yaml:"namespace"` AgentID uuid.UUID `json:"agent_id" yaml:"agent_id"` Spec types.JSON `json:"spec" yaml:"spec"` Labels types.JSONStringMap `json:"labels,omitempty" yaml:"labels,omitempty"` Annotations types.JSONStringMap `json:"annotations,omitempty" yaml:"annotations,omitempty"` Source string `json:"source,omitempty" yaml:"source,omitempty"` Checks types.JSONStringMap `gorm:"-" json:"checks,omitempty" yaml:"checks,omitempty"` CreatedAt time.Time `json:"created_at" yaml:"created_at" time_format:"postgres_timestamp" gorm:"<-:create"` UpdatedAt *time.Time `json:"updated_at" yaml:"updated_at" time_format:"postgres_timestamp" gorm:"autoUpdateTime:false"` DeletedAt *time.Time `json:"deleted_at,omitempty" yaml:"deleted_at,omitempty" time_format:"postgres_timestamp"` }
func (Canary) ConflictClause ¶ added in v1.0.438
func (t Canary) ConflictClause() clause.OnConflict
func (Canary) GetCheckID ¶ added in v1.0.15
func (Canary) GetUnpushed ¶ added in v1.0.362
type Check ¶ added in v1.0.15
type Check struct { ID uuid.UUID `json:"id" gorm:"default:generate_ulid()"` CanaryID uuid.UUID `json:"canary_id"` AgentID uuid.UUID `json:"agent_id,omitempty"` Spec types.JSON `json:"-"` Type string `json:"type"` Name string `json:"name"` Namespace string `json:"namespace"` Labels types.JSONStringMap `json:"labels" gorm:"type:jsonstringmap"` Description string `json:"description,omitempty"` Status CheckHealthStatus `json:"status,omitempty"` Owner string `json:"owner,omitempty"` Severity Severity `json:"severity,omitempty"` Icon string `json:"icon,omitempty"` Transformed bool `json:"transformed,omitempty"` LastRuntime *time.Time `json:"last_runtime,omitempty"` NextRuntime *time.Time `json:"next_runtime,omitempty"` LastTransitionTime *time.Time `json:"last_transition_time,omitempty"` CreatedAt *time.Time `json:"created_at,omitempty" gorm:"<-:create"` UpdatedAt *time.Time `json:"updated_at,omitempty" gorm:"autoUpdateTime:false"` DeletedAt *time.Time `json:"deleted_at,omitempty"` SilencedAt *time.Time `json:"silenced_at,omitempty"` // Auxiliary fields CanaryName string `json:"canary_name,omitempty" gorm:"-"` ComponentIDs []string `json:"components,omitempty" gorm:"-"` // Linked component ids Uptime types.Uptime `json:"uptime,omitempty" gorm:"-"` Latency types.Latency `json:"latency,omitempty" gorm:"-"` Statuses []CheckStatus `json:"checkStatuses,omitempty" gorm:"-"` DisplayType string `json:"display_type,omitempty" gorm:"-"` // These are calculated for the selected date range EarliestRuntime *time.Time `json:"earliestRuntime,omitempty" gorm:"-"` LatestRuntime *time.Time `json:"latestRuntime,omitempty" gorm:"-"` TotalRuns int `json:"totalRuns,omitempty" gorm:"-"` }
func (Check) GetDescription ¶ added in v1.0.15
func (Check) GetFieldsMatcher ¶ added in v1.0.401
func (Check) GetLabelsMatcher ¶ added in v1.0.401
func (Check) GetNamespace ¶ added in v1.0.397
func (Check) GetUnpushed ¶ added in v1.0.362
func (Check) UpdateParentsIsPushed ¶ added in v1.0.428
type CheckComponentRelationship ¶ added in v1.0.77
type CheckComponentRelationship struct { ComponentID uuid.UUID `json:"component_id,omitempty"` CheckID uuid.UUID `json:"check_id,omitempty"` CanaryID uuid.UUID `json:"canary_id,omitempty"` SelectorID string `json:"selector_id,omitempty"` CreatedAt time.Time `json:"created_at,omitempty"` UpdatedAt time.Time `json:"updated_at,omitempty" gorm:"autoUpdateTime:false"` DeletedAt *time.Time `json:"deleted_at,omitempty"` }
func (CheckComponentRelationship) GetUnpushed ¶ added in v1.0.362
func (t CheckComponentRelationship) GetUnpushed(db *gorm.DB) ([]DBTable, error)
func (CheckComponentRelationship) PK ¶ added in v1.0.362
func (c CheckComponentRelationship) PK() string
func (*CheckComponentRelationship) Save ¶ added in v1.0.253
func (c *CheckComponentRelationship) Save(db *gorm.DB) error
func (CheckComponentRelationship) TableName ¶ added in v1.0.77
func (CheckComponentRelationship) TableName() string
func (CheckComponentRelationship) UpdateIsPushed ¶ added in v1.0.362
func (s CheckComponentRelationship) UpdateIsPushed(db *gorm.DB, items []DBTable) error
type CheckConfigRelationship ¶ added in v1.0.235
type CheckConfigRelationship struct { ConfigID uuid.UUID `json:"config_id,omitempty"` CheckID uuid.UUID `json:"check_id,omitempty"` CanaryID uuid.UUID `json:"canary_id,omitempty"` SelectorID string `json:"selector_id,omitempty"` CreatedAt time.Time `json:"created_at,omitempty"` UpdatedAt time.Time `json:"updated_at,omitempty"` DeletedAt *time.Time `json:"deleted_at,omitempty"` }
func (CheckConfigRelationship) GetUnpushed ¶ added in v1.0.362
func (c CheckConfigRelationship) GetUnpushed(db *gorm.DB) ([]DBTable, error)
func (CheckConfigRelationship) PK ¶ added in v1.0.362
func (c CheckConfigRelationship) PK() string
func (*CheckConfigRelationship) Save ¶ added in v1.0.253
func (c *CheckConfigRelationship) Save(db *gorm.DB) error
func (CheckConfigRelationship) TableName ¶ added in v1.0.235
func (CheckConfigRelationship) TableName() string
func (CheckConfigRelationship) UpdateIsPushed ¶ added in v1.0.362
func (s CheckConfigRelationship) UpdateIsPushed(db *gorm.DB, items []DBTable) error
type CheckHealthStatus ¶ added in v1.0.60
type CheckHealthStatus string
type CheckStatus ¶ added in v1.0.15
type CheckStatus struct { CheckID uuid.UUID `json:"check_id" gorm:"primaryKey"` Status bool `json:"status"` Invalid bool `json:"invalid,omitempty"` Time string `json:"time" gorm:"primaryKey"` Duration int `json:"duration"` Message string `json:"message,omitempty"` Error string `json:"error,omitempty"` Detail any `json:"-" gorm:"-"` CreatedAt time.Time `json:"created_at,omitempty" gorm:"<-:create"` // IsPushed when set to true indicates that the check status has been pushed to upstream. IsPushed bool `json:"is_pushed,omitempty"` }
func (CheckStatus) AsMap ¶ added in v1.0.172
func (s CheckStatus) AsMap(removeFields ...string) map[string]any
func (CheckStatus) GetUnpushed ¶ added in v1.0.362
func (s CheckStatus) GetUnpushed(db *gorm.DB) ([]DBTable, error)
func (CheckStatus) PK ¶ added in v1.0.362
func (s CheckStatus) PK() string
func (CheckStatus) PKCols ¶ added in v1.0.428
func (s CheckStatus) PKCols() []clause.Column
func (CheckStatus) TableName ¶ added in v1.0.21
func (CheckStatus) TableName() string
func (CheckStatus) UpdateIsPushed ¶ added in v1.0.362
func (s CheckStatus) UpdateIsPushed(db *gorm.DB, items []DBTable) error
func (CheckStatus) UpdateParentsIsPushed ¶ added in v1.0.428
func (t CheckStatus) UpdateParentsIsPushed(db *gorm.DB, items []DBTable) error
func (CheckStatus) Value ¶ added in v1.0.428
func (t CheckStatus) Value() any
type CheckStatusAggregate1d ¶ added in v1.0.44
type CheckStatusAggregate1d struct { CheckID string `gorm:"column:check_id"` CreatedAt time.Time `gorm:"column:created_at"` Duration int `gorm:"column:duration"` Total int `gorm:"column:total"` Passed int `gorm:"column:passed"` Failed int `gorm:"column:failed"` }
CheckStatusAggregate1d represents the `check_statuses_1d` table
func (CheckStatusAggregate1d) TableName ¶ added in v1.0.44
func (CheckStatusAggregate1d) TableName() string
type CheckStatusAggregate1h ¶ added in v1.0.44
type CheckStatusAggregate1h struct { CheckID string `gorm:"column:check_id"` CreatedAt time.Time `gorm:"column:created_at"` Duration int `gorm:"column:duration"` Total int `gorm:"column:total"` Passed int `gorm:"column:passed"` Failed int `gorm:"column:failed"` }
CheckStatusAggregate1h represents the `check_statuses_1h` table
func (CheckStatusAggregate1h) TableName ¶ added in v1.0.44
func (CheckStatusAggregate1h) TableName() string
type CheckSummary ¶ added in v1.0.164
type CheckSummary struct { ID uuid.UUID `json:"id"` CanaryID uuid.UUID `json:"canary_id"` CanaryName string `json:"canary_name"` CanaryNamespace string `json:"canary_namespace"` Description string `json:"description,omitempty"` Icon string `json:"icon,omitempty"` Labels types.JSONStringMap `json:"labels"` LastTransitionTime *time.Time `json:"last_transition_time,omitempty"` Latency types.Latency `json:"latency,omitempty"` Name string `json:"name"` Namespace string `json:"namespace"` Owner string `json:"owner,omitempty"` Severity string `json:"severity,omitempty"` Status string `json:"status"` Type string `json:"type"` Uptime types.Uptime `json:"uptime,omitempty"` LastRuntime *time.Time `json:"last_runtime,omitempty"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` DeletedAt *time.Time `json:"deleted_at,omitempty"` SilencedAt *time.Time `json:"silenced_at,omitempty"` }
CheckSummary represents the `check_summary` view
func (CheckSummary) AsMap ¶ added in v1.0.175
func (t CheckSummary) AsMap(removeFields ...string) map[string]any
func (*CheckSummary) TableName ¶ added in v1.0.164
func (t *CheckSummary) TableName() string
type Comment ¶ added in v1.0.67
type Comment struct { ID uuid.UUID `json:"id" gorm:"primaryKey"` CreatedBy uuid.UUID `json:"created_by,omitempty"` Comment string `json:"comment,omitempty"` ExternalID *string `json:"external_id,omitempty"` ExternalCreatedBy *string `json:"external_created_by,omitempty"` IncidentID uuid.UUID `json:"incident_id,omitempty"` ResponderID *uuid.UUID `json:"responder_id,omitempty"` HypothesisID *uuid.UUID `json:"hypothesis_id,omitempty"` Read []int16 `json:"read,omitempty" gorm:"type:smallint[]"` CreatedAt time.Time `json:"created_at,omitempty" time_format:"postgres_timestamp" gorm:"default:CURRENT_TIMESTAMP()"` UpdatedAt time.Time `json:"updated_at,omitempty" time_format:"postgres_timestamp" gorm:"default:CURRENT_TIMESTAMP()"` }
type Component ¶ added in v1.0.15
type Component struct { ID uuid.UUID `json:"id,omitempty" gorm:"default:generate_ulid()"` //nolint TopologyID *uuid.UUID `json:"topology_id,omitempty"` AgentID uuid.UUID `json:"agent_id,omitempty"` ExternalId string `json:"external_id,omitempty"` //nolint ParentId *uuid.UUID `json:"parent_id,omitempty"` //nolint Name string `json:"name"` Text string `json:"text,omitempty"` TopologyType string `json:"topology_type,omitempty"` Namespace string `json:"namespace"` Labels types.JSONStringMap `json:"labels,omitempty" gorm:"default:null"` Hidden bool `json:"hidden,omitempty"` Silenced bool `json:"silenced,omitempty"` Status types.ComponentStatus `json:"status"` Health *Health `json:"health,omitempty"` Description string `json:"description"` Lifecycle string `json:"lifecycle,omitempty"` LogSelectors types.LogSelectors `json:"logs,omitempty" gorm:"column:log_selectors;default:null"` Tooltip string `json:"tooltip,omitempty"` StatusReason types.NullString `json:"status_reason"` Schedule string `json:"schedule,omitempty"` Icon string `json:"icon,omitempty"` Type string `json:"type"` Owner string `json:"owner,omitempty"` Selectors types.ResourceSelectors `json:"selectors,omitempty" gorm:"resourceSelectors;default:null" swaggerignore:"true"` Configs types.ConfigQueries `json:"configs,omitempty" gorm:"default:null"` ComponentChecks types.ComponentChecks `json:"componentChecks,omitempty" gorm:"default:null"` Properties Properties `json:"properties,omitempty" gorm:"type:properties;default:null"` Path string `json:"path,omitempty"` Summary types.Summary `json:"summary,omitempty" gorm:"type:summary;default:null"` IsLeaf bool `json:"is_leaf"` CostPerMinute float64 `json:"cost_per_minute,omitempty" gorm:"column:cost_per_minute"` CostTotal1d float64 `json:"cost_total_1d,omitempty" gorm:"column:cost_total_1d"` CostTotal7d float64 `json:"cost_total_7d,omitempty" gorm:"column:cost_total_7d"` CostTotal30d float64 `json:"cost_total_30d,omitempty" gorm:"column:cost_total_30d"` CreatedBy *uuid.UUID `json:"created_by,omitempty"` CreatedAt time.Time `json:"created_at,omitempty" time_format:"postgres_timestamp" gorm:"default:CURRENT_TIMESTAMP();<-:create"` UpdatedAt *time.Time `json:"updated_at,omitempty" time_format:"postgres_timestamp" gorm:"autoUpdateTime:false"` DeletedAt *time.Time `json:"deleted_at,omitempty" time_format:"postgres_timestamp" swaggerignore:"true"` // ConfigID is the id of the config from which this component is derived ConfigID *uuid.UUID `json:"config_id,omitempty"` // StatusExpr allows defining a cel expression to evaluate the status of a component // based on the summary. StatusExpr string `json:"status_expr,omitempty" gorm:"column:status_expr;default:null"` // HealthExpr allows defining a cel expression to evaluate the health of a component // based on the summary. HealthExpr string `json:"health_expr,omitempty" gorm:"column:health_expr;default:null"` // Auxiliary fields Checks map[string]int `json:"checks,omitempty" gorm:"-"` Incidents map[string]map[string]int `json:"incidents,omitempty" gorm:"-"` Analysis map[string]map[string]int `json:"analysis,omitempty" gorm:"-"` Components Components `json:"components,omitempty" gorm:"-"` Order int `json:"order,omitempty" gorm:"-"` SelectorID string `json:"-" gorm:"-"` RelationshipID *uuid.UUID `json:"relationship_id,omitempty" gorm:"-"` Children []string `json:"children,omitempty" gorm:"-"` Parents []string `json:"parents,omitempty" gorm:"-"` // Mark it as true when the component is processed // during topology tree creation NodeProcessed bool `json:"-" gorm:"-"` }
func (Component) GetAsEnvironment ¶ added in v1.0.49
func (Component) GetFieldsMatcher ¶ added in v1.0.401
func (Component) GetLabelsMatcher ¶ added in v1.0.401
func (Component) GetNamespace ¶ added in v1.0.397
func (Component) GetUnpushed ¶ added in v1.0.362
func (*Component) ObjectMeta ¶ added in v1.0.253
func (c *Component) ObjectMeta() metav1.ObjectMeta
type ComponentRelationship ¶ added in v1.0.15
type ComponentRelationship struct { ComponentID uuid.UUID `json:"component_id,omitempty" gorm:"primaryKey"` RelationshipID uuid.UUID `json:"relationship_id,omitempty" gorm:"primaryKey"` SelectorID string `json:"selector_id,omitempty" gorm:"primaryKey"` RelationshipPath string `json:"relationship_path,omitempty"` CreatedAt time.Time `json:"created_at,omitempty"` UpdatedAt time.Time `json:"updated_at,omitempty" gorm:"autoUpdateTime:false"` DeletedAt *time.Time `json:"deleted_at,omitempty"` }
func (ComponentRelationship) GetUnpushed ¶ added in v1.0.362
func (cr ComponentRelationship) GetUnpushed(db *gorm.DB) ([]DBTable, error)
func (ComponentRelationship) PK ¶ added in v1.0.362
func (cr ComponentRelationship) PK() string
func (ComponentRelationship) PKCols ¶ added in v1.0.428
func (s ComponentRelationship) PKCols() []clause.Column
func (ComponentRelationship) TableName ¶ added in v1.0.15
func (ComponentRelationship) TableName() string
func (ComponentRelationship) UpdateIsPushed ¶ added in v1.0.362
func (s ComponentRelationship) UpdateIsPushed(db *gorm.DB, items []DBTable) error
func (ComponentRelationship) UpdateParentsIsPushed ¶ added in v1.0.428
func (s ComponentRelationship) UpdateParentsIsPushed(db *gorm.DB, items []DBTable) error
func (ComponentRelationship) Value ¶ added in v1.0.428
func (s ComponentRelationship) Value() any
type Components ¶ added in v1.0.15
type Components []*Component
func (Components) Debug ¶ added in v1.0.83
func (components Components) Debug(prefix string) string
func (Components) Find ¶ added in v1.0.83
func (components Components) Find(name string) *Component
func (Components) Map ¶ added in v1.0.25
func (components Components) Map(fn func(c *Component))
func (Components) Summarize ¶ added in v1.0.83
func (components Components) Summarize(depth int) types.Summary
func (Components) Walk ¶ added in v1.0.83
func (components Components) Walk() Components
type ConfigAnalysis ¶ added in v1.0.5
type ConfigAnalysis struct { ID uuid.UUID `gorm:"primaryKey;unique_index;not null;column:id;default:generate_ulid()" json:"id"` ExternalID string `gorm:"-"` ConfigType string `gorm:"-"` ConfigID uuid.UUID `gorm:"column:config_id;default:''" json:"config_id"` ScraperID *uuid.UUID `gorm:"column:scraper_id;default:null" json:"scraper_id"` Analyzer string `gorm:"column:analyzer" json:"analyzer" faker:"oneof: ec2-instance-no-public-ip, eks-endpoint-no-public-access"` Message string `gorm:"column:message" json:"message"` Summary string `gorm:"column:summary;default:null" json:"summary,omitempty"` Status string `gorm:"column:status;default:null" json:"status,omitempty" faker:"oneof: open, resolved, silenced"` Severity Severity `gorm:"column:severity" json:"severity" faker:"oneof: critical, high, medium, low, info"` AnalysisType AnalysisType `gorm:"column:analysis_type" json:"analysis_type" faker:"oneof: availability, compliance, cost, security, performance"` Analysis types.JSONMap `gorm:"column:analysis" json:"analysis,omitempty"` Source string `gorm:"column:source" json:"source,omitempty"` FirstObserved *time.Time `gorm:"column:first_observed;<-:false" json:"first_observed"` LastObserved *time.Time `gorm:"column:last_observed" json:"last_observed"` // IsPushed when set to true indicates that the check status has been pushed to upstream. IsPushed bool `json:"is_pushed,omitempty"` }
func (ConfigAnalysis) GetUnpushed ¶ added in v1.0.362
func (ConfigAnalysis) GetUnpushed(db *gorm.DB) ([]DBTable, error)
func (ConfigAnalysis) PK ¶ added in v1.0.362
func (a ConfigAnalysis) PK() string
func (ConfigAnalysis) PKCols ¶ added in v1.0.428
func (c ConfigAnalysis) PKCols() []clause.Column
func (ConfigAnalysis) String ¶ added in v1.0.5
func (a ConfigAnalysis) String() string
func (ConfigAnalysis) TableName ¶ added in v1.0.5
func (a ConfigAnalysis) TableName() string
func (ConfigAnalysis) UpdateParentsIsPushed ¶ added in v1.0.428
func (t ConfigAnalysis) UpdateParentsIsPushed(db *gorm.DB, items []DBTable) error
func (ConfigAnalysis) Value ¶ added in v1.0.428
func (c ConfigAnalysis) Value() any
type ConfigChange ¶ added in v1.0.5
type ConfigChange struct { // ExternalID is the external identifier for the configuration change. // Note: This field is not stored in the database. ExternalID string `gorm:"-" json:"-"` // ConfigType represents the type of configuration. // Note: This field is not stored in the database. ConfigType string `gorm:"-" json:"-"` // ExternalChangeID is the identifier for the change from an external system. ExternalChangeID *string `gorm:"column:external_change_id;default:null" json:"external_change_id"` // ID is the unique identifier for the configuration change. // It is automatically generated using ULID if not provided. ID string `gorm:"primaryKey;unique_index;not null;column:id;default:generate_ulid()" json:"id"` // ConfigID is the identifier of the associated configuration item. ConfigID string `gorm:"column:config_id;default:''" json:"config_id"` // ChangeType describes the nature of the configuration change. // Example values: RunInstances, diff ChangeType string `gorm:"column:change_type" json:"change_type" faker:"oneof: RunInstances, diff" ` // Severity indicates the importance or impact level of the change. // Possible values: critical, high, medium, low, info Severity Severity `json:"severity" faker:"oneof: critical, high, medium, low, info"` // Source indicates the origin of the configuration change, e.g. Kubernetes, Cloudtrail Source string `json:"source"` // Summary provides a brief description of the change. Summary string `json:"summary,omitempty"` // Patches contains a JSON strategic merge patch Patches string `gorm:"column:patches;default:null" json:"patches,omitempty"` // Diff represents the differences introduced by this change. Diff string `gorm:"column:diff;default:null" json:"diff,omitempty"` // Fingerprint is a uniquest identifier for the change, it ignores all UUID, numbers and timestamps to enable de-duplication of equivalent changes. Fingerprint string `gorm:"column:fingerprint;default:null" json:"fingerprint,omitempty"` // Details contains additional information about the change in JSON format. Details types.JSON `json:"details,omitempty"` // CreatedAt represents the timestamp when the change was created or last observed CreatedAt *time.Time `json:"created_at"` // FirstObserved represents the timestamp when this change was first observed. FirstObserved *time.Time `gorm:"first_observed;default:now()" json:"first_observed,omitempty"` // Count is the number of occurrences of this change, including duplicates detected by fingerprinting Count int `json:"count"` // IsPushed indicates whether the change has been pushed to upstream. // When set to true, it means the status has been synchronized. IsPushed bool `json:"is_pushed,omitempty"` }
ConfigChange represents the config change database table ConfigChange represents a change to a configuration item.
func (*ConfigChange) BeforeCreate ¶ added in v1.0.64
func (c *ConfigChange) BeforeCreate(tx *gorm.DB) error
BeforeCreate is a user defined hook for Gorm. It will be called when creating a record.
func (ConfigChange) GetExternalID ¶ added in v1.0.5
func (c ConfigChange) GetExternalID() ExternalID
func (ConfigChange) GetUnpushed ¶ added in v1.0.362
func (t ConfigChange) GetUnpushed(db *gorm.DB) ([]DBTable, error)
func (ConfigChange) PK ¶ added in v1.0.362
func (c ConfigChange) PK() string
func (ConfigChange) PKCols ¶ added in v1.0.428
func (c ConfigChange) PKCols() []clause.Column
func (ConfigChange) String ¶ added in v1.0.5
func (c ConfigChange) String() string
func (ConfigChange) TableName ¶ added in v1.0.5
func (c ConfigChange) TableName() string
func (ConfigChange) UpdateParentsIsPushed ¶ added in v1.0.428
func (t ConfigChange) UpdateParentsIsPushed(db *gorm.DB, items []DBTable) error
func (ConfigChange) Value ¶ added in v1.0.428
func (c ConfigChange) Value() any
type ConfigComponentRelationship ¶ added in v1.0.15
type ConfigComponentRelationship struct { ComponentID uuid.UUID `json:"component_id,omitempty" gorm:"primaryKey"` ConfigID uuid.UUID `json:"config_id,omitempty" gorm:"primaryKey"` SelectorID string `json:"selector_id,omitempty"` CreatedAt time.Time `json:"created_at,omitempty"` UpdatedAt *time.Time `json:"updated_at,omitempty" gorm:"autoUpdateTime:false"` DeletedAt *time.Time `json:"deleted_at,omitempty"` }
func (ConfigComponentRelationship) GetUnpushed ¶ added in v1.0.362
func (t ConfigComponentRelationship) GetUnpushed(db *gorm.DB) ([]DBTable, error)
func (ConfigComponentRelationship) PK ¶ added in v1.0.362
func (t ConfigComponentRelationship) PK() string
func (ConfigComponentRelationship) PKCols ¶ added in v1.0.428
func (s ConfigComponentRelationship) PKCols() []clause.Column
func (ConfigComponentRelationship) TableName ¶ added in v1.0.15
func (ConfigComponentRelationship) TableName() string
func (ConfigComponentRelationship) UpdateIsPushed ¶ added in v1.0.362
func (s ConfigComponentRelationship) UpdateIsPushed(db *gorm.DB, items []DBTable) error
func (ConfigComponentRelationship) UpdateParentsIsPushed ¶ added in v1.0.428
func (s ConfigComponentRelationship) UpdateParentsIsPushed(db *gorm.DB, items []DBTable) error
func (ConfigComponentRelationship) Value ¶ added in v1.0.428
func (s ConfigComponentRelationship) Value() any
type ConfigItem ¶ added in v1.0.5
type ConfigItem struct { ID uuid.UUID `json:"id" faker:"uuid_hyphenated" gorm:"default:generate_ulid()"` ScraperID *string `json:"scraper_id,omitempty"` AgentID uuid.UUID `json:"agent_id,omitempty"` ConfigClass string `json:"config_class" faker:"oneof:File,EC2Instance,KubernetesPod" ` ExternalID pq.StringArray `gorm:"type:[]text" json:"external_id,omitempty"` Type *string `json:"type"` Status *string `json:"status" gorm:"default:null"` Ready bool `json:"ready"` Health *Health `json:"health"` Name *string `json:"name,omitempty" faker:"name"` Description *string `json:"description"` Config *string `json:"config"` Source *string `json:"source,omitempty"` ParentID *uuid.UUID `json:"parent_id,omitempty" faker:"-"` Path string `json:"path,omitempty" faker:"-"` CostPerMinute float64 `gorm:"column:cost_per_minute;default:null" json:"cost_per_minute,omitempty"` CostTotal1d float64 `gorm:"column:cost_total_1d;default:null" json:"cost_total_1d,omitempty"` CostTotal7d float64 `gorm:"column:cost_total_7d;default:null" json:"cost_total_7d,omitempty"` CostTotal30d float64 `gorm:"column:cost_total_30d;default:null" json:"cost_total_30d,omitempty"` Labels *types.JSONStringMap `json:"labels,omitempty" faker:"labels"` Tags types.JSONStringMap `json:"tags,omitempty" faker:"tags"` Properties *types.Properties `json:"properties,omitempty"` LastScrapedTime *time.Time `json:"last_scraped_time,omitempty"` CreatedAt time.Time `json:"created_at" gorm:"<-:create"` UpdatedAt *time.Time `json:"updated_at" gorm:"autoUpdateTime:false"` DeletedAt *time.Time `json:"deleted_at,omitempty"` DeleteReason string `json:"delete_reason,omitempty"` // contains filtered or unexported fields }
ConfigItem represents the config item database table
func (ConfigItem) AsMap ¶ added in v1.0.175
func (ci ConfigItem) AsMap(removeFields ...string) map[string]any
func (*ConfigItem) ConfigJSONStringMap ¶ added in v1.0.5
func (ci *ConfigItem) ConfigJSONStringMap() (map[string]any, error)
func (ConfigItem) GetFieldsMatcher ¶ added in v1.0.401
func (c ConfigItem) GetFieldsMatcher() fields.Fields
func (ConfigItem) GetID ¶ added in v1.0.374
func (c ConfigItem) GetID() string
func (ConfigItem) GetLabelsMatcher ¶ added in v1.0.401
func (c ConfigItem) GetLabelsMatcher() labels.Labels
func (ConfigItem) GetName ¶ added in v1.0.374
func (c ConfigItem) GetName() string
func (ConfigItem) GetNamespace ¶ added in v1.0.374
func (c ConfigItem) GetNamespace() string
func (ConfigItem) GetSelectorID ¶ added in v1.0.83
func (c ConfigItem) GetSelectorID() string
func (ConfigItem) GetStatus ¶ added in v1.0.374
func (c ConfigItem) GetStatus() (string, error)
func (ConfigItem) GetTagsMatcher ¶ added in v1.0.412
func (c ConfigItem) GetTagsMatcher() labels.Labels
func (ConfigItem) GetType ¶ added in v1.0.374
func (c ConfigItem) GetType() string
func (ConfigItem) GetUnpushed ¶ added in v1.0.362
func (t ConfigItem) GetUnpushed(db *gorm.DB) ([]DBTable, error)
func (*ConfigItem) NestedString ¶ added in v1.0.660
func (ci *ConfigItem) NestedString(paths ...string) string
func (ConfigItem) PK ¶ added in v1.0.347
func (t ConfigItem) PK() string
func (ConfigItem) PKCols ¶ added in v1.0.536
func (t ConfigItem) PKCols() []clause.Column
func (*ConfigItem) SetParent ¶ added in v1.0.5
func (ci *ConfigItem) SetParent(parent *ConfigItem)
func (ConfigItem) String ¶ added in v1.0.5
func (ci ConfigItem) String() string
func (ConfigItem) TableName ¶ added in v1.0.5
func (ConfigItem) TableName() string
func (ConfigItem) UpdateParentsIsPushed ¶ added in v1.0.428
func (t ConfigItem) UpdateParentsIsPushed(db *gorm.DB, items []DBTable) error
func (ConfigItem) Value ¶ added in v1.0.536
func (c ConfigItem) Value() any
type ConfigRelationship ¶ added in v1.0.5
type ConfigRelationship struct { ConfigID string `json:"config_id" gorm:"primaryKey"` RelatedID string `json:"related_id" gorm:"primaryKey"` Relation string `json:"relation" gorm:"primaryKey"` SelectorID string `json:"selector_id"` CreatedAt time.Time `json:"created_at,omitempty"` UpdatedAt time.Time `json:"updated_at,omitempty" gorm:"autoUpdateTime:false"` DeletedAt *time.Time `json:"deleted_at,omitempty"` }
func (ConfigRelationship) GetUnpushed ¶ added in v1.0.362
func (t ConfigRelationship) GetUnpushed(db *gorm.DB) ([]DBTable, error)
func (ConfigRelationship) PK ¶ added in v1.0.362
func (cr ConfigRelationship) PK() string
func (ConfigRelationship) PKCols ¶ added in v1.0.428
func (c ConfigRelationship) PKCols() []clause.Column
func (ConfigRelationship) TableName ¶ added in v1.0.5
func (cr ConfigRelationship) TableName() string
func (ConfigRelationship) UpdateIsPushed ¶ added in v1.0.362
func (s ConfigRelationship) UpdateIsPushed(db *gorm.DB, items []DBTable) error
func (ConfigRelationship) UpdateParentsIsPushed ¶ added in v1.0.428
func (t ConfigRelationship) UpdateParentsIsPushed(db *gorm.DB, items []DBTable) error
func (ConfigRelationship) Value ¶ added in v1.0.428
func (c ConfigRelationship) Value() any
type ConfigScraper ¶ added in v1.0.53
type ConfigScraper struct { ID uuid.UUID `json:"id"` AgentID uuid.UUID `json:"agent_id,omitempty"` Name string `json:"name"` Namespace string `json:"namespace"` Description string `json:"description,omitempty"` Spec string `json:"spec,omitempty"` Source string `json:"source,omitempty"` CreatedBy *uuid.UUID `json:"created_by,omitempty"` CreatedAt time.Time `json:"created_at" gorm:"<-:create"` UpdatedAt *time.Time `json:"updated_at" gorm:"autoUpdateTime:false"` DeletedAt *time.Time `json:"deleted_at,omitempty"` }
ConfigScraper represents the config_scrapers database table
func (ConfigScraper) AsMap ¶ added in v1.0.175
func (c ConfigScraper) AsMap(removeFields ...string) map[string]any
func (*ConfigScraper) BeforeCreate ¶ added in v1.0.53
func (cs *ConfigScraper) BeforeCreate(tx *gorm.DB) error
BeforeCreate GORM hook
func (ConfigScraper) GetUnpushed ¶ added in v1.0.362
func (t ConfigScraper) GetUnpushed(db *gorm.DB) ([]DBTable, error)
func (ConfigScraper) PK ¶ added in v1.0.362
func (c ConfigScraper) PK() string
func (ConfigScraper) TableName ¶ added in v1.0.53
func (c ConfigScraper) TableName() string
type Connection ¶ added in v1.0.45
type Connection struct { ID uuid.UUID `gorm:"primaryKey;unique_index;not null;column:id;default:generate_ulid()" json:"id" faker:"uuid_hyphenated" ` Name string `gorm:"column:name" json:"name" faker:"name" ` Namespace string `gorm:"column:namespace" json:"namespace"` Source string `json:"source"` Type string `gorm:"column:type" json:"type" faker:"oneof: postgres, mysql, aws, gcp, http" ` URL string `gorm:"column:url" json:"url,omitempty" faker:"url" template:"true"` Username string `gorm:"column:username" json:"username,omitempty" faker:"username" ` Password string `gorm:"column:password" json:"password,omitempty" faker:"password" ` Properties types.JSONStringMap `gorm:"column:properties" json:"properties,omitempty" faker:"-" template:"true"` Certificate string `gorm:"column:certificate" json:"certificate,omitempty" faker:"-" ` InsecureTLS bool `gorm:"column:insecure_tls;default:false" json:"insecure_tls,omitempty" faker:"-" ` CreatedAt time.Time `gorm:"column:created_at;default:now();<-:create" json:"created_at,omitempty" faker:"-" ` UpdatedAt time.Time `gorm:"column:updated_at;default:now()" json:"updated_at,omitempty" faker:"-" ` CreatedBy *uuid.UUID `gorm:"column:created_by" json:"created_by,omitempty" faker:"-" ` }
func ConnectionFromURL ¶ added in v1.0.216
func ConnectionFromURL(url url.URL) *Connection
func (Connection) AsEnv ¶ added in v1.0.200
func (c Connection) AsEnv(ctx context.Context) EnvPrep
AsEnv generates environment variables and a configuration file content based on the connection type.
func (Connection) AsGoGetterURL ¶ added in v1.0.200
func (c Connection) AsGoGetterURL() (string, error)
AsGoGetterURL returns the connection as a url that's supported by https://github.com/hashicorp/go-getter Connection details are added to the url as query params
func (Connection) AsMap ¶ added in v1.0.175
func (c Connection) AsMap(removeFields ...string) map[string]any
func (Connection) Merge ¶ added in v1.0.213
func (c Connection) Merge(ctx types.GetEnvVarFromCache, from any) (*Connection, error)
func (Connection) PK ¶ added in v1.0.561
func (c Connection) PK() string
func (*Connection) SetProperty ¶ added in v1.0.605
func (c *Connection) SetProperty(key, value string)
func (Connection) String ¶ added in v1.0.48
func (c Connection) String() string
func (Connection) TableName ¶ added in v1.0.561
func (c Connection) TableName() string
type Contextable ¶ added in v1.0.564
type Deleteable ¶ added in v1.0.561
type EnvPrep ¶ added in v1.0.200
type EnvPrep struct { // Env is the connection credentials in environment variables Env []string // CmdEnvs is a list of env vars that will be passed to the command CmdEnvs []string // List of commands that need to be run before the actual command. // These commands will setup the connection. PreRuns []*exec.Cmd // File contains the content of the configuration file based on the connection Files map[string]bytes.Buffer }
type Event ¶ added in v1.0.273
type Event struct { ID uuid.UUID `gorm:"default:generate_ulid()"` Name string `json:"name"` CreatedAt time.Time `json:"created_at"` Properties types.JSONStringMap `json:"properties"` Delay *time.Duration `json:"delay,omitempty"` Error *string `json:"error,omitempty"` Attempts int `json:"attempts"` LastAttempt *time.Time `json:"last_attempt"` Priority int `json:"priority"` }
type EventQueueSummary ¶ added in v1.0.273
type EventQueueSummary struct { Name string `json:"name"` Pending int64 `json:"pending"` Failed int64 `json:"failed"` AvgAttempts int64 `json:"average_attempts"` FirstFailure *time.Time `json:"first_failure,omitempty"` LastFailure *time.Time `json:"last_failure,omitempty"` MostCommonErr string `json:"most_common_error,omitempty"` }
func (*EventQueueSummary) TableName ¶ added in v1.0.273
func (t *EventQueueSummary) TableName() string
type Evidence ¶ added in v1.0.24
type Evidence struct { ID uuid.UUID `json:"id"` HypothesisID uuid.UUID `json:"hypothesis_id"` ConfigID *uuid.UUID `json:"config_id"` ConfigChangeID *uuid.UUID `json:"config_change_id"` ConfigAnalysisID *uuid.UUID `json:"config_analysis_id"` ComponentID *uuid.UUID `json:"component_id"` CheckID *uuid.UUID `json:"check_id"` Description string `json:"description"` DefinitionOfDone bool `json:"definition_of_done"` Done bool `json:"done"` Factor bool `json:"factor"` Mitigator bool `json:"mitigator"` CreatedBy uuid.UUID `json:"created_by"` Type string `json:"type"` Script string `json:"script"` ScriptResult string `json:"script_result"` Evidence types.JSONMap `json:"evidence"` Properties types.JSONMap `json:"properties"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` }
type EvidenceCanaryCheck ¶ added in v1.0.24
type EvidenceCanaryCheck struct { }
type EvidenceComponent ¶ added in v1.0.24
type EvidenceComponent struct { }
type EvidenceConfig ¶ added in v1.0.24
type EvidenceConfig struct { ID uuid.UUID `json:"id"` Lines []string `json:"lines"` SelectedLines types.JSONStringMap `json:"selected_lines"` }
type EvidenceConfigAnalysis ¶ added in v1.0.24
type EvidenceConfigChange ¶ added in v1.0.24
type EvidenceLogs ¶ added in v1.0.24
type EvidenceLogs struct {
Lines []LogLine `json:"lines"`
}
type ExtendedDBTable ¶ added in v1.0.428
TODO: Find a better way to handle this
type ExternalID ¶ added in v1.0.5
func (ExternalID) CacheKey ¶ added in v1.0.5
func (e ExternalID) CacheKey() string
func (ExternalID) IsEmpty ¶ added in v1.0.5
func (e ExternalID) IsEmpty() bool
func (ExternalID) String ¶ added in v1.0.5
func (e ExternalID) String() string
func (ExternalID) WhereClause ¶ added in v1.0.5
func (e ExternalID) WhereClause(db *gorm.DB) *gorm.DB
type Hypothesis ¶ added in v1.0.24
type Hypothesis struct { ID uuid.UUID `json:"id,omitempty" gorm:"default:generate_ulid()"` IncidentID uuid.UUID `json:"incident_id,omitempty"` Type string `json:"type,omitempty"` Title string `json:"title,omitempty"` Status string `json:"status,omitempty"` ParentID *uuid.UUID `json:"parent_id,omitempty"` TeamID *uuid.UUID `json:"team_id,omitempty"` Owner *uuid.UUID `json:"owner,omitempty"` CreatedAt *time.Time `json:"created_at,omitempty"` UpdatedAt *time.Time `json:"updated_at,omitempty"` CreatedBy uuid.UUID `json:"created_by,omitempty"` }
func (Hypothesis) AsMap ¶ added in v1.0.129
func (h Hypothesis) AsMap(removeFields ...string) map[string]any
func (Hypothesis) PK ¶ added in v1.0.561
func (h Hypothesis) PK() string
func (Hypothesis) TableName ¶ added in v1.0.24
func (Hypothesis) TableName() string
type Incident ¶ added in v1.0.24
type Incident struct { ID uuid.UUID `json:"id,omitempty" gorm:"default:generate_ulid()"` IncidentID string `json:"incident_id,omitempty" gorm:"default:format_incident_id(NEXTVAL('incident_id_sequence'))"` Title string `json:"title,omitempty"` Description string `json:"description,omitempty"` Type IncidentType `json:"type,omitempty"` Status IncidentStatus `json:"status,omitempty"` Severity Severity `json:"severity,omitempty"` CreatedAt *time.Time `json:"created_at,omitempty"` UpdatedAt *time.Time `json:"updated_at,omitempty"` Acknowledged *time.Time `json:"acknowledged,omitempty"` Resolved *time.Time `json:"resolved,omitempty"` Closed *time.Time `json:"closed,omitempty"` CreatedBy uuid.UUID `json:"created_by,omitempty"` IncidentRuleID *uuid.UUID `json:"incident_rule_id,omitempty"` CommanderID *uuid.UUID `json:"commander_id,omitempty"` CommunicatorID *uuid.UUID `json:"communicator_id,omitempty"` }
type IncidentStatus ¶ added in v1.0.24
type IncidentStatus string
var ( IncidentStatusOpen IncidentStatus = "open" IncidentStatusClosed IncidentStatus = "closed" IncidentStatusMitigated IncidentStatus = "mitigated" IncidentStatusResolved IncidentStatus = "resolved" IncidentStatusCancelled IncidentStatus = "cancelled" )
type IncidentType ¶ added in v1.0.24
type IncidentType string
var ( IncidentTypeAvailability IncidentType = "availability" IncidentTypeCost IncidentType = "cost" IncidentTypePerformance IncidentType = "performance" IncidentTypeSecurity IncidentType = "security" IncidentTypeTechnicalDebt IncidentType = "technical_debt" IncidentTypeCompliance IncidentType = "compliance" IncidentTypeIntegration IncidentType = "integration" )
type Integration ¶ added in v1.0.238
type Integration struct { ID uuid.UUID `json:"id"` Name string `json:"name"` Description string `json:"description"` Integration IntegrationType `json:"integration"` Source string `json:"source"` AgentID *uuid.UUID `json:"agent_id,omitempty"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` DeletedAt *time.Time `json:"deleted_at,omitempty"` CreatedBy *uuid.UUID `json:"created_by,omitempty"` JobName string `json:"job_name"` JobSuccess int `json:"job_success_count"` JobError int `json:"job_error_count"` JobDetails string `json:"job_details"` JobHostname string `json:"job_hostname"` JobDuration int `json:"job_duration_millis"` JobResource string `json:"job_resource_type"` JobStatus string `json:"job_status"` JobTimeStart time.Time `json:"job_time_start"` JobTimeEnd time.Time `json:"job_time_end"` JobCreatedAt time.Time `json:"job_created_at"` }
func (Integration) PK ¶ added in v1.0.561
func (i Integration) PK() string
func (*Integration) TableName ¶ added in v1.0.238
func (t *Integration) TableName() string
type IntegrationType ¶ added in v1.0.238
type IntegrationType string
const ( IntegrationTypeScraper IntegrationType = "scrapers" IntegrationTypeLoggingBackends IntegrationType = "logging_backends" IntegrationTypeTopology IntegrationType = "topology" )
type JobHistory ¶
type JobHistory struct { ID uuid.UUID `gorm:"default:generate_ulid()"` AgentID uuid.UUID `json:"agent_id,omitempty"` Name string SuccessCount int ErrorCount int Hostname string DurationMillis int64 ResourceType string ResourceID string Details types.JSONMap Status string TimeStart time.Time TimeEnd *time.Time Errors []string `gorm:"-"` Logger logger.Logger `gorm:"-"` }
func NewJobHistory ¶ added in v1.0.4
func NewJobHistory(log logger.Logger, name, resourceType, resourceID string) *JobHistory
func (*JobHistory) AddDetails ¶ added in v1.0.525
func (h *JobHistory) AddDetails(key string, val any)
func (*JobHistory) AddError ¶
func (h *JobHistory) AddError(err any) *JobHistory
func (*JobHistory) AddErrorWithSkipReportLevel ¶ added in v1.0.310
func (h *JobHistory) AddErrorWithSkipReportLevel(err string, level int) *JobHistory
func (*JobHistory) AddErrorf ¶ added in v1.0.270
func (h *JobHistory) AddErrorf(msg string, args ...interface{}) *JobHistory
func (JobHistory) AsError ¶ added in v1.0.307
func (j JobHistory) AsError() error
func (*JobHistory) End ¶
func (h *JobHistory) End() *JobHistory
func (JobHistory) GetUnpushed ¶ added in v1.0.476
func (j JobHistory) GetUnpushed(db *gorm.DB) ([]DBTable, error)
func (*JobHistory) IncrSuccess ¶
func (h *JobHistory) IncrSuccess() *JobHistory
func (JobHistory) PK ¶ added in v1.0.476
func (j JobHistory) PK() string
func (*JobHistory) Start ¶
func (h *JobHistory) Start() *JobHistory
func (*JobHistory) String ¶ added in v1.0.254
func (h *JobHistory) String() string
func (JobHistory) TableName ¶ added in v1.0.250
func (j JobHistory) TableName() string
type Link ¶ added in v1.0.15
type Link struct { // e.g. documentation, support, playbook Type string `json:"type,omitempty"` URL string `json:"url,omitempty"` Text `json:",inline"` }
+kubebuilder:object:generate=true
func (*Link) DeepCopy ¶ added in v1.0.317
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Link.
func (*Link) DeepCopyInto ¶ added in v1.0.317
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LocalTime ¶ added in v1.0.24
func (LocalTime) MarshalJSON ¶ added in v1.0.24
func (*LocalTime) UnmarshalJSON ¶ added in v1.0.24
type LogLine ¶ added in v1.0.24
type LogLine struct { Timestamp time.Time `json:"timestamp"` Message string `json:"message"` Labels types.JSONStringMap `json:"labels"` }
type LogNameAccessor ¶ added in v1.0.564
type LogNameAccessor interface {
LoggerName() string
}
type LoggingBackend ¶ added in v1.0.40
type LoggingBackend struct { ID uuid.UUID `json:"id" gorm:"default:generate_ulid()"` Name string `json:"name"` Labels types.JSONStringMap `json:"labels" gorm:"type:jsonstringmap"` Spec string `json:"spec,omitempty"` Source string `json:"source,omitempty"` AgentID *uuid.UUID `json:"agent_id,omitempty"` CreatedAt time.Time `json:"created_at,omitempty"` UpdatedAt time.Time `json:"updated_at,omitempty"` DeletedAt *time.Time `json:"deleted_at,omitempty"` }
func (LoggingBackend) PK ¶ added in v1.0.561
func (l LoggingBackend) PK() string
func (LoggingBackend) TableName ¶ added in v1.0.561
func (l LoggingBackend) TableName() string
type NamespaceScopeAccessor ¶ added in v1.0.564
type NamespaceScopeAccessor interface {
NamespaceScope() string
}
type Notification ¶ added in v1.0.129
type Notification struct { ID uuid.UUID `json:"id"` Name string `json:"name"` Namespace string `json:"namespace,omitempty"` Events pq.StringArray `json:"events" gorm:"type:[]text"` Title string `json:"title,omitempty"` Template string `json:"template,omitempty"` Filter string `json:"filter,omitempty"` PlaybookID *uuid.UUID `json:"playbook_id,omitempty"` PersonID *uuid.UUID `json:"person_id,omitempty"` TeamID *uuid.UUID `json:"team_id,omitempty"` Properties types.JSONStringMap `json:"properties,omitempty"` Source string `json:"source"` RepeatInterval string `json:"repeat_interval,omitempty"` GroupBy pq.StringArray `json:"group_by" gorm:"type:[]text"` CustomServices types.JSON `json:"custom_services,omitempty" gorm:"column:custom_services"` CreatedBy *uuid.UUID `json:"created_by,omitempty"` UpdatedAt time.Time `json:"updated_at" time_format:"postgres_timestamp" gorm:"<-:false"` CreatedAt time.Time `json:"created_at" time_format:"postgres_timestamp" gorm:"<-:false"` DeletedAt *time.Time `json:"deleted_at,omitempty"` // Duration to wait before re-evaluating health of the resource. WaitFor *time.Duration `json:"wait_for,omitempty"` // Duration to wait after triggering incremental scrape for kubernetes config. // Works together with waitFor duration. WaitForEvalPeriod *time.Duration `json:"wait_for_eval_period,omitempty"` // Error stores errors in notification filters (if any). Error *string `json:"error,omitempty"` }
Notification represents the notifications table
func (Notification) AsMap ¶ added in v1.0.175
func (n Notification) AsMap(removeFields ...string) map[string]any
func (*Notification) HasRecipients ¶ added in v1.0.129
func (n *Notification) HasRecipients() bool
func (Notification) PK ¶ added in v1.0.561
func (n Notification) PK() string
func (Notification) TableName ¶ added in v1.0.561
func (n Notification) TableName() string
type NotificationSendHistory ¶ added in v1.0.181
type NotificationSendHistory struct { ID uuid.UUID `json:"id,omitempty" gorm:"default:generate_ulid()"` NotificationID uuid.UUID `json:"notification_id"` Body *string `json:"body,omitempty"` Error *string `json:"error,omitempty"` DurationMillis int64 `json:"duration_millis,omitempty"` CreatedAt time.Time `json:"created_at" time_format:"postgres_timestamp"` Status string `json:"status,omitempty"` // payload holds in original event properties for delayed/pending notifications Payload types.JSONStringMap `json:"payload,omitempty"` NotBefore *time.Time `json:"notBefore,omitempty"` // number of retries of pending notifications Retries int `json:"retries,omitempty" gorm:"default:null"` // Notifications that were silenced or blocked by repeat intervals // use this counter. Count int `json:"count"` // Notifications that were silenced or blocked by repeat intervals // use this as the first observed timestamp. FirstObserved time.Time `json:"first_observed" gorm:"<-:false"` // Name of the original event that caused this notification SourceEvent string `json:"source_event"` // ID of the resource this notification is for ResourceID uuid.UUID `json:"resource_id"` // ID of the person this notification is for. PersonID *uuid.UUID `json:"person_id"` // The run created by this notification PlaybookRunID *uuid.UUID `json:"playbook_run_id"` // contains filtered or unexported fields }
func NewNotificationSendHistory ¶ added in v1.0.181
func NewNotificationSendHistory(notificationID uuid.UUID) *NotificationSendHistory
func (NotificationSendHistory) AsMap ¶ added in v1.0.181
func (n NotificationSendHistory) AsMap(removeFields ...string) map[string]any
func (*NotificationSendHistory) End ¶ added in v1.0.181
func (t *NotificationSendHistory) End() *NotificationSendHistory
func (*NotificationSendHistory) Failed ¶ added in v1.0.268
func (t *NotificationSendHistory) Failed(e error) *NotificationSendHistory
func (*NotificationSendHistory) PendingPlaybookRun ¶ added in v1.0.773
func (t *NotificationSendHistory) PendingPlaybookRun() *NotificationSendHistory
func (*NotificationSendHistory) Sending ¶ added in v1.0.268
func (t *NotificationSendHistory) Sending() *NotificationSendHistory
func (*NotificationSendHistory) Sent ¶ added in v1.0.268
func (t *NotificationSendHistory) Sent() *NotificationSendHistory
func (*NotificationSendHistory) TableName ¶ added in v1.0.181
func (t *NotificationSendHistory) TableName() string
func (*NotificationSendHistory) WithStartTime ¶ added in v1.0.752
func (t *NotificationSendHistory) WithStartTime(s time.Time) *NotificationSendHistory
type NotificationSilence ¶ added in v1.0.632
type NotificationSilence struct { NotificationSilenceResource `json:",inline" yaml:",inline"` ID uuid.UUID `json:"id" gorm:"default:generate_ulid()"` Namespace string `json:"namespace,omitempty"` Filter types.CelExpression `json:"filter,omitempty"` From time.Time `json:"from"` Until time.Time `json:"until"` Source string `json:"source"` Recursive bool `json:"recursive"` Description string `json:"description,omitempty"` CreatedBy *uuid.UUID `json:"created_by,omitempty"` CreatedAt time.Time `json:"created_at" time_format:"postgres_timestamp" gorm:"<-:false"` UpdatedAt time.Time `json:"updated_at" time_format:"postgres_timestamp" gorm:"<-:false"` DeletedAt *time.Time `json:"deleted_at,omitempty"` // Error contains cel expression error in the filter Error *string `json:"error,omitempty"` }
func (NotificationSilence) AsMap ¶ added in v1.0.632
func (n NotificationSilence) AsMap(removeFields ...string) map[string]any
func (*NotificationSilence) TableName ¶ added in v1.0.632
func (t *NotificationSilence) TableName() string
type NotificationSilenceResource ¶ added in v1.0.632
type NotificationSilenceResource struct { ConfigID *string `json:"config_id,omitempty"` CanaryID *string `json:"canary_id,omitempty"` ComponentID *string `json:"component_id,omitempty"` CheckID *string `json:"check_id,omitempty"` }
func (NotificationSilenceResource) Empty ¶ added in v1.0.635
func (t NotificationSilenceResource) Empty() bool
type Permission ¶ added in v1.0.674
type Permission struct { ID uuid.UUID `json:"id" gorm:"default:generate_ulid()"` Action string `json:"action"` ConnectionID *uuid.UUID `json:"connection_id,omitempty"` CanaryID *uuid.UUID `json:"canary_id,omitempty"` ComponentID *uuid.UUID `json:"component_id,omitempty"` ConfigID *uuid.UUID `json:"config_id,omitempty"` CreatedAt time.Time `json:"created_at"` CreatedBy uuid.UUID `json:"created_by"` Deny bool `json:"deny"` Description string `json:"description"` PersonID *uuid.UUID `json:"person_id,omitempty"` PlaybookID *uuid.UUID `json:"playbook_id,omitempty"` TeamID *uuid.UUID `json:"team_id,omitempty"` NotificationID *uuid.UUID `json:"notification_id,omitempty"` Until *time.Time `json:"until"` UpdatedAt *time.Time `json:"updated_at"` UpdatedBy *uuid.UUID `json:"updated_by"` }
func (*Permission) Condition ¶ added in v1.0.674
func (t *Permission) Condition() string
func (*Permission) Effect ¶ added in v1.0.674
func (t *Permission) Effect() string
func (*Permission) Principal ¶ added in v1.0.674
func (t *Permission) Principal() string
type Person ¶ added in v1.0.24
type Person struct { ID uuid.UUID `json:"id" gorm:"default:generate_ulid()"` Name string `json:"name"` Email string `json:"email,omitempty" gorm:"default:null"` Type string `json:"type,omitempty" gorm:"default:null"` Avatar string `json:"avatar,omitempty" gorm:"default:null"` ExternalID string `json:"external_id,omitempty" gorm:"default:null"` Properties PersonProperties `json:"properties,omitempty" gorm:"default:null"` }
type PersonProperties ¶ added in v1.0.24
type PersonProperties struct {
Role string `json:"role,omitempty"`
}
func (*PersonProperties) Scan ¶ added in v1.0.24
func (p *PersonProperties) Scan(val any) error
type Playbook ¶ added in v1.0.155
type Playbook struct { ID uuid.UUID `json:"id" gorm:"default:generate_ulid()"` Namespace string `json:"namespace"` Name string `json:"name"` Title string `json:"title"` Icon string `json:"icon,omitempty"` Description string `json:"description,omitempty"` Spec types.JSON `json:"spec"` Source string `json:"source"` Category string `json:"category"` CreatedBy *uuid.UUID `json:"created_by,omitempty"` CreatedAt time.Time `json:"created_at,omitempty" time_format:"postgres_timestamp" gorm:"<-:false"` UpdatedAt time.Time `json:"updated_at,omitempty" time_format:"postgres_timestamp" gorm:"<-:false"` DeletedAt *time.Time `json:"deleted_at,omitempty" time_format:"postgres_timestamp"` }
func (*Playbook) LoggerName ¶ added in v1.0.564
func (*Playbook) NamespaceScope ¶ added in v1.0.564
func (*Playbook) NamespacedName ¶ added in v1.0.772
type PlaybookActionAgentData ¶ added in v1.0.295
type PlaybookActionAgentData struct { ActionID uuid.UUID `json:"action_id"` RunID uuid.UUID `json:"run_id"` PlaybookID uuid.UUID `json:"playbook_id"` Spec types.JSON `json:"spec"` Env types.JSON `json:"env,omitempty"` }
func (*PlaybookActionAgentData) Context ¶ added in v1.0.564
func (p *PlaybookActionAgentData) Context() map[string]any
func (*PlaybookActionAgentData) TableName ¶ added in v1.0.295
func (t *PlaybookActionAgentData) TableName() string
type PlaybookActionStatus ¶ added in v1.0.281
type PlaybookActionStatus string
PlaybookRunStatus are statuses for a playbook run and its actions.
const ( PlaybookActionStatusCompleted PlaybookActionStatus = "completed" PlaybookActionStatusFailed PlaybookActionStatus = "failed" PlaybookActionStatusRunning PlaybookActionStatus = "running" PlaybookActionStatusScheduled PlaybookActionStatus = "scheduled" PlaybookActionStatusWaiting PlaybookActionStatus = "waiting" PlaybookActionStatusSkipped PlaybookActionStatus = "skipped" PlaybookActionStatusSleeping PlaybookActionStatus = "sleeping" )
type PlaybookApproval ¶ added in v1.0.158
type PlaybookApproval struct { ID uuid.UUID `json:"id" gorm:"default:generate_ulid()"` RunID uuid.UUID `json:"run_id"` PersonID *uuid.UUID `json:"person_id,omitempty"` TeamID *uuid.UUID `json:"team_id,omitempty"` CreatedAt time.Time `json:"created_at" gorm:"<-:false"` }
func (PlaybookApproval) AsMap ¶ added in v1.0.175
func (p PlaybookApproval) AsMap(removeFields ...string) map[string]any
func (PlaybookApproval) PK ¶ added in v1.0.561
func (p PlaybookApproval) PK() string
func (PlaybookApproval) TableName ¶ added in v1.0.561
func (p PlaybookApproval) TableName() string
type PlaybookRun ¶ added in v1.0.155
type PlaybookRun struct { ID uuid.UUID `json:"id" gorm:"default:generate_ulid()"` PlaybookID uuid.UUID `json:"playbook_id"` Status PlaybookRunStatus `json:"status,omitempty"` Spec types.JSON `json:"spec"` CreatedAt time.Time `json:"created_at,omitempty" time_format:"postgres_timestamp" gorm:"<-:false"` StartTime *time.Time `json:"start_time,omitempty" time_format:"postgres_timestamp"` ScheduledTime time.Time `json:"scheduled_time,omitempty" time_format:"postgres_timestamp" gorm:"default:NOW(), NOT NULL"` EndTime *time.Time `json:"end_time,omitempty" time_format:"postgres_timestamp"` CreatedBy *uuid.UUID `json:"created_by,omitempty"` ComponentID *uuid.UUID `json:"component_id,omitempty"` CheckID *uuid.UUID `json:"check_id,omitempty"` ConfigID *uuid.UUID `json:"config_id,omitempty"` Error *string `json:"error,omitempty"` Parameters types.JSONStringMap `json:"parameters,omitempty" gorm:"default:null"` Request types.JSONMap `json:"request,omitempty" gorm:"default:null"` AgentID *uuid.UUID `json:"agent_id,omitempty"` NotificationSendID *uuid.UUID `json:"notification_send_id,omitempty"` }
func (PlaybookRun) AsMap ¶ added in v1.0.175
func (p PlaybookRun) AsMap(removeFields ...string) map[string]any
func (PlaybookRun) Context ¶ added in v1.0.564
func (p PlaybookRun) Context() map[string]any
func (PlaybookRun) GetAction ¶ added in v1.0.564
func (p PlaybookRun) GetAction(db *gorm.DB, name string) (action *PlaybookRunAction, err error)
func (PlaybookRun) GetActions ¶ added in v1.0.564
func (p PlaybookRun) GetActions(db *gorm.DB) (actions []PlaybookRunAction, err error)
func (PlaybookRun) GetAgentAction ¶ added in v1.0.567
func (p PlaybookRun) GetAgentAction(db *gorm.DB, name string) (*PlaybookRunAction, error)
func (PlaybookRun) GetAgentActions ¶ added in v1.0.567
func (p PlaybookRun) GetAgentActions(db *gorm.DB) (actions []PlaybookRunAction, err error)
func (PlaybookRun) GetPlaybook ¶ added in v1.0.564
func (p PlaybookRun) GetPlaybook(db *gorm.DB) (*Playbook, error)
func (*PlaybookRun) GetRBACAttributes ¶ added in v1.0.680
func (PlaybookRun) Load ¶ added in v1.0.564
func (p PlaybookRun) Load(db *gorm.DB) (*PlaybookRun, error)
func (PlaybookRun) PK ¶ added in v1.0.561
func (p PlaybookRun) PK() string
func (PlaybookRun) StartAction ¶ added in v1.0.564
func (p PlaybookRun) StartAction(db *gorm.DB, action string) (*PlaybookRunAction, error)
func (PlaybookRun) TableName ¶ added in v1.0.561
func (p PlaybookRun) TableName() string
type PlaybookRunAction ¶ added in v1.0.155
type PlaybookRunAction struct { ID uuid.UUID `json:"id" gorm:"default:generate_ulid()"` Name string `json:"name" gorm:"not null"` PlaybookRunID uuid.UUID `json:"playbook_run_id"` Status PlaybookActionStatus `json:"status,omitempty"` ScheduledTime time.Time `json:"scheduled_time,omitempty" time_format:"postgres_timestamp" gorm:"default:NOW(), NOT NULL"` StartTime time.Time `json:"start_time,omitempty" time_format:"postgres_timestamp" gorm:"default:NOW(), NOT NULL"` EndTime *time.Time `json:"end_time,omitempty" time_format:"postgres_timestamp"` Result types.JSONMap `json:"result,omitempty" gorm:"default:null"` Error *string `json:"error,omitempty" gorm:"default:null"` IsPushed bool `json:"is_pushed"` AgentID *uuid.UUID `json:"agent_id,omitempty"` }
func (PlaybookRunAction) AsMap ¶ added in v1.0.175
func (p PlaybookRunAction) AsMap(removeFields ...string) map[string]any
func (PlaybookRunAction) Complete ¶ added in v1.0.564
func (p PlaybookRunAction) Complete(db *gorm.DB, result any) error
func (PlaybookRunAction) Context ¶ added in v1.0.564
func (p PlaybookRunAction) Context() map[string]any
func (PlaybookRunAction) GetPlaybook ¶ added in v1.0.564
func (p PlaybookRunAction) GetPlaybook(db *gorm.DB) (*Playbook, error)
func (PlaybookRunAction) GetRun ¶ added in v1.0.564
func (p PlaybookRunAction) GetRun(db *gorm.DB) (*PlaybookRun, error)
func (PlaybookRunAction) JSON ¶ added in v1.0.567
func (p PlaybookRunAction) JSON() (out map[string]any)
func (PlaybookRunAction) Load ¶ added in v1.0.564
func (p PlaybookRunAction) Load(db *gorm.DB) (*PlaybookRunAction, error)
func (PlaybookRunAction) PK ¶ added in v1.0.561
func (p PlaybookRunAction) PK() string
func (PlaybookRunAction) ScheduleRun ¶ added in v1.0.564
func (p PlaybookRunAction) ScheduleRun(db *gorm.DB) error
func (PlaybookRunAction) Skip ¶ added in v1.0.564
func (p PlaybookRunAction) Skip(db *gorm.DB) error
func (PlaybookRunAction) Start ¶ added in v1.0.564
func (p PlaybookRunAction) Start(db *gorm.DB) error
func (PlaybookRunAction) String ¶ added in v1.0.564
func (p PlaybookRunAction) String() string
func (PlaybookRunAction) TableName ¶ added in v1.0.561
func (p PlaybookRunAction) TableName() string
type PlaybookRunStatus ¶ added in v1.0.155
type PlaybookRunStatus string
PlaybookRunStatus are statuses for a playbook run and its actions.
const ( PlaybookRunStatusCancelled PlaybookRunStatus = "cancelled" PlaybookRunStatusCompleted PlaybookRunStatus = "completed" PlaybookRunStatusFailed PlaybookRunStatus = "failed" PlaybookRunStatusPendingApproval PlaybookRunStatus = "pending_approval" PlaybookRunStatusRunning PlaybookRunStatus = "running" PlaybookRunStatusScheduled PlaybookRunStatus = "scheduled" PlaybookRunStatusSleeping PlaybookRunStatus = "sleeping" PlaybookRunStatusWaiting PlaybookRunStatus = "waiting" // waiting for a consumer )
type Properties ¶ added in v1.0.15
type Properties []*Property
func (Properties) AsJSON ¶ added in v1.0.15
func (p Properties) AsJSON() []byte
func (Properties) AsMap ¶ added in v1.0.15
func (p Properties) AsMap() map[string]any
func (Properties) Find ¶ added in v1.0.15
func (p Properties) Find(name string) *Property
func (Properties) GormDBDataType ¶ added in v1.0.15
func (Properties) GormDataType ¶ added in v1.0.15
func (Properties) GormDataType() string
GormDataType gorm common data type
func (*Properties) Scan ¶ added in v1.0.15
func (p *Properties) Scan(val any) error
Scan scan value into Jsonb, implements sql.Scanner interface
type Property ¶ added in v1.0.15
type Property struct { Label string `json:"label,omitempty"` Name string `json:"name,omitempty"` Tooltip string `json:"tooltip,omitempty"` Icon string `json:"icon,omitempty"` Type string `json:"type,omitempty"` Color string `json:"color,omitempty"` Order int `json:"order,omitempty"` Headline bool `json:"headline,omitempty"` // Either text or value is required, but not both. Text string `json:"text,omitempty"` Value *int64 `json:"value,omitempty"` // e.g. milliseconds, bytes, millicores, epoch etc. Unit string `json:"unit,omitempty"` Max *int64 `json:"max,omitempty"` Min *int64 `json:"min,omitempty"` Status string `json:"status,omitempty"` LastTransition string `json:"lastTransition,omitempty"` Links []Link `json:"links,omitempty"` }
Property is a realized v1.Property without the lookup definition +kubebuilder:object:generate=true
func (*Property) DeepCopy ¶ added in v1.0.317
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Property.
func (*Property) DeepCopyInto ¶ added in v1.0.317
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RelatedConfigDirection ¶ added in v1.0.459
type RelatedConfigDirection string
const ( RelatedConfigTypeIncoming RelatedConfigDirection = "incoming" RelatedConfigTypeOutgoing RelatedConfigDirection = "outgoing" )
type Responder ¶ added in v1.0.67
type Responder struct { ID uuid.UUID `gorm:"primaryKey" json:"id"` IncidentID uuid.UUID `json:"incident_id"` Type string `json:"type"` Index *int16 `json:"index,omitempty"` PersonID *uuid.UUID `json:"person_id,omitempty"` TeamID *uuid.UUID `json:"team_id,omitempty"` ExternalID *string `json:"external_id,omitempty"` Properties *string `gorm:"type:jsonb;default:null" json:"properties,omitempty"` Acknowledged *time.Time `json:"acknowledged,omitempty" time_format:"postgres_timestamp"` Resolved *time.Time `json:"resolved,omitempty" time_format:"postgres_timestamp"` Closed *time.Time `json:"closed,omitempty" time_format:"postgres_timestamp"` CreatedBy uuid.UUID `json:"created_by"` CreatedAt time.Time `json:"created_at" time_format:"postgres_timestamp" gorm:"default:CURRENT_TIMESTAMP()"` UpdatedAt time.Time `json:"updated_at" time_format:"postgres_timestamp" gorm:"default:CURRENT_TIMESTAMP()"` }
type ScrapePlugin ¶ added in v1.0.764
type ScrapePlugin struct { ID uuid.UUID `json:"id" gorm:"default:generate_ulid()"` Name string `json:"name"` Namespace string `json:"namespace"` Spec types.JSON `json:"spec,omitempty"` Source string `json:"source,omitempty"` CreatedBy *uuid.UUID `json:"created_by,omitempty"` CreatedAt time.Time `json:"created_at" gorm:"<-:create"` UpdatedAt *time.Time `json:"updated_at" gorm:"autoUpdateTime:false"` DeletedAt *time.Time `json:"deleted_at,omitempty"` }
type Team ¶ added in v1.0.115
type Team struct { ID uuid.UUID `gorm:"default:generate_ulid()"` Name string `gorm:"not null" json:"name"` Icon string `json:"icon,omitempty"` Spec types.JSON `json:"spec,omitempty"` Source string `json:"source,omitempty"` CreatedBy uuid.UUID `gorm:"not null" json:"created_by"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` DeletedAt *time.Time `json:"deleted_at,omitempty"` }
type Topology ¶ added in v1.0.72
type Topology struct { ID uuid.UUID `gorm:"default:generate_ulid()"` AgentID uuid.UUID `json:"agent_id"` Name string `json:"name"` Namespace string `json:"namespace"` Labels types.JSONStringMap `json:"labels,omitempty" gorm:"default:null"` Source string `json:"source"` Spec types.JSON `gorm:"default:null"` Schedule *string `json:"schedule,omitempty"` CreatedBy *uuid.UUID `json:"created_by,omitempty"` CreatedAt *time.Time `json:"created_at,omitempty" time_format:"postgres_timestamp" gorm:"<-:create"` UpdatedAt *time.Time `json:"updated_at,omitempty" time_format:"postgres_timestamp" gorm:"autoUpdateTime:false"` DeletedAt *time.Time `json:"deleted_at,omitempty" time_format:"postgres_timestamp"` }
Topology represents the topologies database table
func (Topology) GetUnpushed ¶ added in v1.0.362
func (Topology) OnConflictClause ¶ added in v1.0.438
func (t Topology) OnConflictClause() clause.OnConflict
Source Files ¶
- agents.go
- artifacts.go
- canary.go
- checks.go
- comments.go
- common.go
- components.go
- config.go
- connections.go
- event_queue.go
- evidences.go
- hypotheses.go
- incidents.go
- integrations.go
- job_history.go
- local_time.go
- logging_backends.go
- notifications.go
- people.go
- permission.go
- playbooks.go
- properties.go
- responders.go
- scrape_plugin.go
- source.go
- teams.go
- topology.go
- zz_generated.deepcopy.go