Documentation ¶
Index ¶
- Constants
- func DeleteFromUpstream(ctx context.Context, config UpstreamConfig, events []postq.Event) []postq.Event
- func DeleteHandler(agentIDCache *cache.Cache) func(echo.Context) error
- func DeleteOnUpstream(ctx context.Context, req *PushData) error
- func GetOrCreateAgent(ctx context.Context, name string) (*models.Agent, error)
- func InsertUpstreamMsg(ctx context.Context, req *PushData) error
- func NewDeleteFromUpstreamConsumer(config UpstreamConfig) func(ctx context.Context, events postq.Events) postq.Events
- func NewPushUpstreamConsumer(config UpstreamConfig) func(ctx context.Context, events postq.Events) postq.Events
- func PullHandler(allowedTables []string) func(echo.Context) error
- func PushHandler(agentIDCache *cache.Cache) func(echo.Context) error
- func PushToUpstream(ctx context.Context, config UpstreamConfig, events []postq.Event) []postq.Event
- func StatusHandler(allowedTables []string) func(echo.Context) error
- func SyncCheckStatuses(ctx context.Context, config UpstreamConfig, batchSize int) (int, error)
- func SyncConfigAnalyses(ctx context.Context, config UpstreamConfig, batchSize int) (int, error)
- func SyncConfigChanges(ctx context.Context, config UpstreamConfig, batchSize int) (int, error)
- type GroupedPushEvents
- type PaginateRequest
- type PaginateResponse
- type PushData
- func (t *PushData) ApplyLabels(labels map[string]string)
- func (p *PushData) Attributes() map[string]any
- func (t *PushData) Count() int
- func (p *PushData) Length() int
- func (t *PushData) PopulateAgentID(id uuid.UUID)
- func (t *PushData) ReplaceTopologyID(id *uuid.UUID)
- func (p *PushData) String() string
- type UpstreamClient
- type UpstreamConfig
- type UpstreamReconciler
Constants ¶
const ( EventPushQueueCreate = "push_queue.create" // EventPushQueueDelete is fired when a record, on one of the the tables we're tracking, // is hard deleted. EventPushQueueDelete = "push_queue.delete" )
Variables ¶
This section is empty.
Functions ¶
func DeleteFromUpstream ¶ added in v1.0.283
func DeleteFromUpstream(ctx context.Context, config UpstreamConfig, events []postq.Event) []postq.Event
DeleteFromUpstream sends a delete request to the upstream server for the given events.
func DeleteHandler ¶ added in v1.0.283
func DeleteHandler(agentIDCache *cache.Cache) func(echo.Context) error
PushHandler returns an echo handler that deletes the push data from the upstream.
func DeleteOnUpstream ¶ added in v1.0.283
DeleteOnUpstream deletes the given resources by agent on the upstream.
func GetOrCreateAgent ¶ added in v1.0.274
func InsertUpstreamMsg ¶ added in v1.0.274
func NewDeleteFromUpstreamConsumer ¶ added in v1.0.283
func NewDeleteFromUpstreamConsumer(config UpstreamConfig) func(ctx context.Context, events postq.Events) postq.Events
NewDeleteFromUpstreamConsumer acts as an adapter to supply DeleteFromUpstream event consumer.
func NewPushUpstreamConsumer ¶ added in v1.0.265
func NewPushUpstreamConsumer(config UpstreamConfig) func(ctx context.Context, events postq.Events) postq.Events
getPushUpstreamConsumer acts as an adapter to supply PushToUpstream event consumer.
func PullHandler ¶ added in v1.0.274
PullHandler returns a handler that returns all the ids of items it has received from the requested agent.
func PushHandler ¶ added in v1.0.274
func PushHandler(agentIDCache *cache.Cache) func(echo.Context) error
PushHandler returns an echo handler that saves the push data from agents.
func PushToUpstream ¶ added in v1.0.188
PushToUpstream fetches records specified in events from this instance and sends them to the upstream instance.
func StatusHandler ¶ added in v1.0.274
StatusHandler returns a handler that returns the summary of all ids the upstream has received.
func SyncCheckStatuses ¶ added in v1.0.195
SyncCheckStatuses pushes check statuses, that haven't already been pushed, to upstream.
func SyncConfigAnalyses ¶ added in v1.0.274
SyncConfigAnalyses pushes config analyses, that haven't already been pushed, to upstream.
func SyncConfigChanges ¶ added in v1.0.274
SyncConfigChanges pushes config changes, that haven't already been pushed, to upstream.
Types ¶
type GroupedPushEvents ¶ added in v1.0.188
func GroupChangelogsByTables ¶ added in v1.0.188
func GroupChangelogsByTables(events []postq.Event) []GroupedPushEvents
GroupChangelogsByTables groups the given events by the table they belong to.
type PaginateRequest ¶
type PaginateRequest struct { Table string `query:"table"` From string `query:"from"` Size int `query:"size"` }
func (PaginateRequest) String ¶ added in v1.0.259
func (p PaginateRequest) String() string
type PaginateResponse ¶
type PaginateResponse struct { Hash string `gorm:"column:sha256sum"` Next string `gorm:"column:last_id"` Total int `gorm:"column:total"` }
func GetPrimaryKeysHash ¶
func GetPrimaryKeysHash(ctx context.Context, req PaginateRequest, agentID uuid.UUID) (*PaginateResponse, error)
func (PaginateResponse) String ¶ added in v1.0.259
func (p PaginateResponse) String() string
type PushData ¶
type PushData struct { AgentName string `json:"agent_name,omitempty"` Canaries []models.Canary `json:"canaries,omitempty"` Checks []models.Check `json:"checks,omitempty"` Components []models.Component `json:"components,omitempty"` ConfigScrapers []models.ConfigScraper `json:"config_scrapers,omitempty"` ConfigAnalysis []models.ConfigAnalysis `json:"config_analysis,omitempty"` ConfigChanges []models.ConfigChange `json:"config_changes,omitempty"` ConfigItems []models.ConfigItem `json:"config_items,omitempty"` CheckStatuses []models.CheckStatus `json:"check_statuses,omitempty"` ConfigRelationships []models.ConfigRelationship `json:"config_relationships,omitempty"` ComponentRelationships []models.ComponentRelationship `json:"component_relationships,omitempty"` ConfigComponentRelationships []models.ConfigComponentRelationship `json:"config_component_relationships,omitempty"` Topologies []models.Topology `json:"topologies,omitempty"` }
PushData consists of data about changes to components, configs, analysis.
func GetMissingResourceIDs ¶
func (*PushData) ApplyLabels ¶
ApplyLabels injects additional labels to the suitable fields
func (*PushData) Attributes ¶ added in v1.0.205
func (*PushData) PopulateAgentID ¶
PopulateAgentID sets agent_id on all the data
func (*PushData) ReplaceTopologyID ¶
ReplaceTopologyID replaces the topology_id for all the components with the provided id.
type UpstreamClient ¶ added in v1.0.192
func NewUpstreamClient ¶ added in v1.0.192
func NewUpstreamClient(config UpstreamConfig) *UpstreamClient
type UpstreamConfig ¶
type UpstreamConfig struct { AgentName string Host string InsecureSkipVerify bool Username string Password string Labels []string Debug bool Options []func(c *http.Client) }
func (*UpstreamConfig) IsPartiallyFilled ¶
func (t *UpstreamConfig) IsPartiallyFilled() bool
func (*UpstreamConfig) LabelsMap ¶
func (t *UpstreamConfig) LabelsMap() map[string]string
func (UpstreamConfig) String ¶ added in v1.0.259
func (t UpstreamConfig) String() string
func (*UpstreamConfig) Valid ¶
func (t *UpstreamConfig) Valid() bool
type UpstreamReconciler ¶ added in v1.0.265
type UpstreamReconciler struct {
// contains filtered or unexported fields
}
UpstreamReconciler pushes missing resources from an agent to the upstream.
func NewUpstreamReconciler ¶
func NewUpstreamReconciler(upstreamConf UpstreamConfig, pageSize int) *UpstreamReconciler