database

package
v1.4.1-rc1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 22, 2022 License: MIT Imports: 34 Imported by: 0

Documentation

Index

Constants

View Source
const CapiMachineID = "CAPI"

Variables

View Source
var (
	UserExists        = errors.New("user already exist")
	UserNotExists     = errors.New("user doesn't exist")
	HashError         = errors.New("unable to hash")
	InsertFail        = errors.New("unable to insert row")
	QueryFail         = errors.New("unable to query")
	UpdateFail        = errors.New("unable to update")
	DeleteFail        = errors.New("unable to delete")
	ItemNotFound      = errors.New("object not found")
	ParseTimeFail     = errors.New("unable to parse time")
	ParseDurationFail = errors.New("unable to parse duration")
	MarshalFail       = errors.New("unable to marshal")
	UnmarshalFail     = errors.New("unable to unmarshal")
	BulkError         = errors.New("unable to insert bulk")
	ParseType         = errors.New("unable to parse type")
	InvalidIPOrRange  = errors.New("invalid ip address / range")
	InvalidFilter     = errors.New("invalid filter")
)

Functions

func BuildAlertRequestFromFilter added in v1.0.0

func BuildAlertRequestFromFilter(alerts *ent.AlertQuery, filter map[string][]string) (*ent.AlertQuery, error)

func BuildDecisionRequestWithFilter added in v1.0.0

func BuildDecisionRequestWithFilter(query *ent.DecisionQuery, filter map[string][]string) (*ent.DecisionQuery, error)

func GetIpsFromIpRange added in v1.0.0

func GetIpsFromIpRange(host string) (int64, int64, error)

func IP2Int added in v1.0.0

func IP2Int(ip net.IP) uint32

func Int2ip added in v1.0.0

func Int2ip(nn uint32) net.IP

func IsIpv4 added in v1.0.0

func IsIpv4(host string) bool

func LastAddress added in v1.0.0

func LastAddress(n *net.IPNet) net.IP

Stolen from : https://github.com/llimllib/ipaddress/ Return the final address of a net range. Convert to IPv4 if possible, otherwise return an ipv6

Types

type Client added in v1.0.0

type Client struct {
	Ent      *ent.Client
	CTX      context.Context
	Log      *log.Logger
	CanFlush bool
}

func NewClient added in v1.0.0

func NewClient(config *csconfig.DatabaseCfg) (*Client, error)

func (*Client) AlertsCountPerScenario added in v1.4.0

func (c *Client) AlertsCountPerScenario(filters map[string][]string) (map[string]int, error)

func (*Client) CountDecisionsByValue added in v1.4.0

func (c *Client) CountDecisionsByValue(decisionValue string) (int, error)

func (*Client) CountDecisionsSinceByValue added in v1.4.0

func (c *Client) CountDecisionsSinceByValue(decisionValue string, since time.Time) (int, error)

func (*Client) CreateAlert added in v1.0.0

func (c *Client) CreateAlert(machineID string, alertList []*models.Alert) ([]string, error)

func (*Client) CreateAlertBulk added in v1.0.0

func (c *Client) CreateAlertBulk(machineId string, alertList []*models.Alert) ([]string, error)

func (*Client) CreateBouncer added in v1.0.0

func (c *Client) CreateBouncer(name string, ipAddr string, apiKey string, authType string) (*ent.Bouncer, error)

func (*Client) CreateMachine added in v1.0.0

func (c *Client) CreateMachine(machineID *string, password *strfmt.Password, ipAddress string, isValidated bool, force bool, authType string) (*ent.Machine, error)

func (*Client) DeleteAlertGraph added in v1.0.0

func (c *Client) DeleteAlertGraph(alertItem *ent.Alert) error

func (*Client) DeleteAlertGraphBatch added in v1.2.1

func (c *Client) DeleteAlertGraphBatch(alertItems []*ent.Alert) (int, error)

func (*Client) DeleteAlertWithFilter added in v1.0.0

func (c *Client) DeleteAlertWithFilter(filter map[string][]string) (int, error)

func (*Client) DeleteBouncer added in v1.0.0

func (c *Client) DeleteBouncer(name string) error

func (*Client) DeleteDecisionById added in v1.0.0

func (c *Client) DeleteDecisionById(decisionId int) error

func (*Client) DeleteDecisionsWithFilter added in v1.0.0

func (c *Client) DeleteDecisionsWithFilter(filter map[string][]string) (string, error)

func (*Client) DeleteWatcher added in v1.0.0

func (c *Client) DeleteWatcher(name string) error

func (*Client) FlushAgentsAndBouncers added in v1.4.0

func (c *Client) FlushAgentsAndBouncers(agentsCfg *csconfig.AuthGCCfg, bouncersCfg *csconfig.AuthGCCfg) error

func (*Client) FlushAlerts added in v1.0.0

func (c *Client) FlushAlerts(MaxAge string, MaxItems int) error

func (*Client) FlushOrphans added in v1.1.0

func (c *Client) FlushOrphans()

func (*Client) GetAlertByID added in v1.0.0

func (c *Client) GetAlertByID(alertID int) (*ent.Alert, error)

func (*Client) IsMachineRegistered added in v1.0.0

func (c *Client) IsMachineRegistered(machineID string) (bool, error)

func (*Client) ListBouncers added in v1.0.0

func (c *Client) ListBouncers() ([]*ent.Bouncer, error)

func (*Client) ListMachines added in v1.0.0

func (c *Client) ListMachines() ([]*ent.Machine, error)

func (*Client) QueryAlertWithFilter added in v1.0.0

func (c *Client) QueryAlertWithFilter(filter map[string][]string) ([]*ent.Alert, error)

func (*Client) QueryAllDecisionsWithFilters added in v1.1.0

func (c *Client) QueryAllDecisionsWithFilters(filters map[string][]string) ([]*ent.Decision, error)

func (*Client) QueryDecisionCountByScenario added in v1.4.0

func (c *Client) QueryDecisionCountByScenario(filters map[string][]string) ([]*DecisionsByScenario, error)

func (*Client) QueryDecisionWithFilter added in v1.0.0

func (c *Client) QueryDecisionWithFilter(filter map[string][]string) ([]*ent.Decision, error)

func (*Client) QueryExpiredDecisionsSinceWithFilters added in v1.1.0

func (c *Client) QueryExpiredDecisionsSinceWithFilters(since time.Time, filters map[string][]string) ([]*ent.Decision, error)

func (*Client) QueryExpiredDecisionsWithFilters added in v1.1.0

func (c *Client) QueryExpiredDecisionsWithFilters(filters map[string][]string) ([]*ent.Decision, error)

func (*Client) QueryMachineByID added in v1.0.0

func (c *Client) QueryMachineByID(machineID string) (*ent.Machine, error)

func (*Client) QueryNewDecisionsSinceWithFilters added in v1.1.0

func (c *Client) QueryNewDecisionsSinceWithFilters(since time.Time, filters map[string][]string) ([]*ent.Decision, error)

func (*Client) QueryPendingMachine added in v1.0.0

func (c *Client) QueryPendingMachine() ([]*ent.Machine, error)

func (*Client) SelectBouncer added in v1.0.0

func (c *Client) SelectBouncer(apiKeyHash string) (*ent.Bouncer, error)

func (*Client) SelectBouncerByName added in v1.4.0

func (c *Client) SelectBouncerByName(bouncerName string) (*ent.Bouncer, error)

func (*Client) SoftDeleteDecisionByID added in v1.0.0

func (c *Client) SoftDeleteDecisionByID(decisionID int) (int, error)

SoftDeleteDecisionByID set the expiration of a decision to now()

func (*Client) SoftDeleteDecisionsWithFilter added in v1.0.0

func (c *Client) SoftDeleteDecisionsWithFilter(filter map[string][]string) (string, error)

SoftDeleteDecisionsWithFilter updates the expiration time to now() for the decisions matching the filter

func (*Client) StartFlushScheduler added in v1.0.0

func (c *Client) StartFlushScheduler(config *csconfig.FlushDBCfg) (*gocron.Scheduler, error)

func (*Client) TotalAlerts added in v1.0.0

func (c *Client) TotalAlerts() (int, error)

func (*Client) UpdateBouncerIP added in v1.0.0

func (c *Client) UpdateBouncerIP(ipAddr string, ID int) error

func (*Client) UpdateBouncerLastPull added in v1.0.0

func (c *Client) UpdateBouncerLastPull(lastPull time.Time, ID int) error

func (*Client) UpdateBouncerTypeAndVersion added in v1.0.0

func (c *Client) UpdateBouncerTypeAndVersion(bType string, version string, ID int) error

func (*Client) UpdateCommunityBlocklist added in v1.2.0

func (c *Client) UpdateCommunityBlocklist(alertItem *models.Alert) (int, int, int, error)

We can't bulk both the alert and the decision at the same time. With new consensus, we want to bulk a single alert with a lot of decisions.

func (*Client) UpdateMachineIP added in v1.0.0

func (c *Client) UpdateMachineIP(ipAddr string, ID int) error

func (*Client) UpdateMachineLastHeartBeat added in v1.4.0

func (c *Client) UpdateMachineLastHeartBeat(machineID string) error

func (*Client) UpdateMachineLastPush added in v1.3.0

func (c *Client) UpdateMachineLastPush(machineID string) error

func (*Client) UpdateMachineScenarios added in v1.0.0

func (c *Client) UpdateMachineScenarios(scenarios string, ID int) error

func (*Client) UpdateMachineVersion added in v1.0.0

func (c *Client) UpdateMachineVersion(ipAddr string, ID int) error

func (*Client) ValidateMachine added in v1.0.0

func (c *Client) ValidateMachine(machineID string) error

type DecisionsByScenario added in v1.4.0

type DecisionsByScenario struct {
	Scenario string
	Count    int
	Origin   string
	Type     string
}

Directories

Path Synopsis
ent

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL