datastore

package
v0.2.2 Latest Latest
Warning

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

Go to latest
Published: Oct 30, 2023 License: AGPL-3.0 Imports: 23 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var MonitoringID string
View Source
var NodeID string

Functions

This section is empty.

Types

type Address

type Address struct {
	IPs   []AddressIP   `json:"ips"`
	Ports []AddressPort `json:"ports"`
}

Subsets

type AddressIP

type AddressIP struct {
	Type      string `json:"type"` // pod or external
	ID        string `json:"id"`   // Pod UID or empty
	Name      string `json:"name"`
	Namespace string `json:"namespace"` // Pod Namespace or empty
	IP        string `json:"ip"`        // Pod IP or external IP
}

type AddressPort

type AddressPort struct {
	Port     int32  `json:"port"`     // Port number
	Protocol string `json:"protocol"` // TCP or UDP
}

type BackendDS

type BackendDS struct {
	// contains filtered or unexported fields
}

BackendDS is a backend datastore

func NewBackendDS

func NewBackendDS(parentCtx context.Context, conf config.BackendConfig) *BackendDS

func (*BackendDS) DoRequest

func (b *BackendDS) DoRequest(req *http.Request) error

func (*BackendDS) PersistContainer

func (b *BackendDS) PersistContainer(c Container, eventType string) error

func (*BackendDS) PersistDaemonSet

func (b *BackendDS) PersistDaemonSet(ds DaemonSet, eventType string) error

func (*BackendDS) PersistDeployment

func (b *BackendDS) PersistDeployment(d Deployment, eventType string) error

func (*BackendDS) PersistEndpoints

func (b *BackendDS) PersistEndpoints(ep Endpoints, eventType string) error

func (*BackendDS) PersistPod

func (b *BackendDS) PersistPod(pod Pod, eventType string) error

func (*BackendDS) PersistReplicaSet

func (b *BackendDS) PersistReplicaSet(rs ReplicaSet, eventType string) error

func (*BackendDS) PersistRequest

func (b *BackendDS) PersistRequest(request *Request) error

func (*BackendDS) PersistService

func (b *BackendDS) PersistService(service Service, eventType string) error

func (*BackendDS) SendHealthCheck added in v0.2.0

func (b *BackendDS) SendHealthCheck(ebpf bool, metrics bool)

type BackendResponse

type BackendResponse struct {
	Msg    string `json:"msg"`
	Errors []struct {
		EventNum int         `json:"event_num"`
		Event    interface{} `json:"event"`
		Error    string      `json:"error"`
	} `json:"errors"`
}

type Container

type Container struct {
	Name      string `json:"name"`
	Namespace string `json:"namespace"`
	PodUID    string `json:"pod"` // Pod UID
	Image     string `json:"image"`
	Ports     []struct {
		Port     int32  `json:"port"`
		Protocol string `json:"protocol"`
	} `json:"ports"`
}

type ContainerEvent

type ContainerEvent struct {
	UID       string `json:"uid"`
	EventType string `json:"event_type"`
	Name      string `json:"name"`
	Namespace string `json:"namespace"`
	Pod       string `json:"pod"`
	Image     string `json:"image"`
	Ports     []struct {
		Port     int32  `json:"port"`
		Protocol string `json:"protocol"`
	} `json:"ports"`
}

type DaemonSet

type DaemonSet struct {
	UID       string // ReplicaSet UID
	Name      string // ReplicaSet Name
	Namespace string // Namespace
}

type DataStore

type DataStore interface {
	PersistPod(pod Pod, eventType string) error
	PersistService(service Service, eventType string) error
	PersistReplicaSet(rs ReplicaSet, eventType string) error
	PersistDeployment(d Deployment, eventType string) error
	PersistEndpoints(e Endpoints, eventType string) error
	PersistContainer(c Container, eventType string) error
	PersistDaemonSet(ds DaemonSet, eventType string) error

	PersistRequest(request *Request) error
}

type DepEvent

type DepEvent struct {
	UID       string `json:"uid"`
	EventType string `json:"event_type"`
	Name      string `json:"name"`
	Namespace string `json:"namespace"`
	Replicas  int32  `json:"replicas"`
}

type Deployment

type Deployment struct {
	UID       string // Deployment UID
	Name      string // Deployment Name
	Namespace string // Namespace
	Replicas  int32  // Number of replicas
}

type DsEvent

type DsEvent struct {
	UID       string `json:"uid"`
	EventType string `json:"event_type"`
	Name      string `json:"name"`
	Namespace string `json:"namespace"`
}

type Endpoints

type Endpoints struct {
	UID       string // Endpoints UID
	Name      string // Endpoints Name
	Namespace string // Namespace
	Addresses []Address
}

type EpEvent

type EpEvent struct {
	UID       string    `json:"uid"`
	EventType string    `json:"event_type"`
	Name      string    `json:"name"`
	Namespace string    `json:"namespace"`
	Addresses []Address `json:"addresses"`
}

type EventPayload

type EventPayload struct {
	Metadata Metadata      `json:"metadata"`
	Events   []interface{} `json:"events"`
}

type HealthCheckPayload added in v0.2.0

type HealthCheckPayload struct {
	Metadata Metadata `json:"metadata"`
	Info     struct {
		EbpfEnabled    bool `json:"ebpf"`
		MetricsEnabled bool `json:"metrics"`
	} `json:"alaz_info"`
}

type LeveledLogger added in v0.2.0

type LeveledLogger struct {
	// contains filtered or unexported fields
}

func (LeveledLogger) Debug added in v0.2.0

func (ll LeveledLogger) Debug(msg string, keysAndValues ...interface{})

func (LeveledLogger) Error added in v0.2.0

func (ll LeveledLogger) Error(msg string, keysAndValues ...interface{})

func (LeveledLogger) Info added in v0.2.0

func (ll LeveledLogger) Info(msg string, keysAndValues ...interface{})

func (LeveledLogger) Warn added in v0.2.0

func (ll LeveledLogger) Warn(msg string, keysAndValues ...interface{})

type Metadata added in v0.2.0

type Metadata struct {
	MonitoringID   string `json:"monitoring_id"`
	IdempotencyKey string `json:"idempotency_key"`
	NodeID         string `json:"node_id"`
	AlazVersion    string `json:"alaz_version"`
}

type MockDataStore added in v0.2.1

type MockDataStore struct {
}

func (*MockDataStore) PersistContainer added in v0.2.1

func (m *MockDataStore) PersistContainer(c Container, eventType string) error

func (*MockDataStore) PersistDaemonSet added in v0.2.1

func (m *MockDataStore) PersistDaemonSet(ds DaemonSet, eventType string) error

func (*MockDataStore) PersistDeployment added in v0.2.1

func (m *MockDataStore) PersistDeployment(d Deployment, eventType string) error

func (*MockDataStore) PersistEndpoints added in v0.2.1

func (m *MockDataStore) PersistEndpoints(e Endpoints, eventType string) error

func (*MockDataStore) PersistPod added in v0.2.1

func (m *MockDataStore) PersistPod(pod Pod, eventType string) error

func (*MockDataStore) PersistReplicaSet added in v0.2.1

func (m *MockDataStore) PersistReplicaSet(rs ReplicaSet, eventType string) error

func (*MockDataStore) PersistRequest added in v0.2.1

func (m *MockDataStore) PersistRequest(request *Request) error

func (*MockDataStore) PersistService added in v0.2.1

func (m *MockDataStore) PersistService(service Service, eventType string) error

type Pod

type Pod struct {
	UID       string // Pod UID
	Name      string // Pod Name
	Namespace string // Namespace
	Image     string // Main container image
	IP        string // Pod IP
	OwnerType string // ReplicaSet or nil
	OwnerID   string // ReplicaSet UID
	OwnerName string // ReplicaSet Name
}

type PodEvent

type PodEvent struct {
	UID       string `json:"uid"`
	EventType string `json:"event_type"`
	Name      string `json:"name"`
	Namespace string `json:"namespace"`
	IP        string `json:"ip"`
	OwnerType string `json:"owner_type"`
	OwnerName string `json:"owner_name"`
	OwnerID   string `json:"owner_id"`
}

type ReplicaSet

type ReplicaSet struct {
	UID       string // ReplicaSet UID
	Name      string // ReplicaSet Name
	Namespace string // Namespace
	OwnerType string // Deployment or nil
	OwnerID   string // Deployment UID
	OwnerName string // Deployment Name
	Replicas  int32  // Number of replicas
}

type ReqBackendReponse added in v0.2.0

type ReqBackendReponse struct {
	Msg    string `json:"msg"`
	Errors []struct {
		EventNum int         `json:"request_num"`
		Event    interface{} `json:"request"`
		Error    string      `json:"errors"`
	} `json:"errors"`
}

type ReqInfo

type ReqInfo [16]interface{}

0) StartTime 1) Latency 2) Source IP 3) Source Type 4) Source ID 5) Source Port 6) Destination IP 7) Destination Type 8) Destination ID 9) Destination Port 10) Protocol 11) Response Status Code 12) Fail Reason // TODO: not used yet 13) Method 14) Path 15) Encrypted (bool)

type Request

type Request struct {
	StartTime  int64
	Latency    uint64 // in ns
	FromIP     string
	FromType   string
	FromUID    string
	FromPort   uint16
	ToIP       string
	ToType     string
	ToUID      string
	ToPort     uint16
	Protocol   string
	Tls        bool
	Completed  bool
	StatusCode uint32
	FailReason string
	Method     string
	Path       string
}

type RequestsPayload

type RequestsPayload struct {
	Metadata Metadata   `json:"metadata"`
	Requests []*ReqInfo `json:"requests"`
}

type RsEvent

type RsEvent struct {
	UID       string `json:"uid"`
	EventType string `json:"event_type"`
	Name      string `json:"name"`
	Namespace string `json:"namespace"`
	Replicas  int32  `json:"replicas"`
	OwnerType string `json:"owner_type"`
	OwnerName string `json:"owner_name"`
	OwnerID   string `json:"owner_id"`
}

type Service

type Service struct {
	UID        string
	Name       string
	Namespace  string
	Type       string
	ClusterIP  string
	ClusterIPs []string
	Ports      []struct {
		Src      int32  `json:"src"`
		Dest     int32  `json:"dest"`
		Protocol string `json:"protocol"`
	}
}

type SvcEvent

type SvcEvent struct {
	UID        string   `json:"uid"`
	EventType  string   `json:"event_type"`
	Name       string   `json:"name"`
	Namespace  string   `json:"namespace"`
	Type       string   `json:"type"`
	ClusterIPs []string `json:"cluster_ips"`
	Ports      []struct {
		Src      int32  `json:"src"`
		Dest     int32  `json:"dest"`
		Protocol string `json:"protocol"`
	} `json:"ports"`
}

Jump to

Keyboard shortcuts

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