Documentation
¶
Index ¶
- type Genesis
- func (g *Genesis) GetGenesisSyncData(orgID int) GenesisSyncDataResponse
- func (g *Genesis) GetGenesisSyncResponse(orgID int) (GenesisSyncDataResponse, error)
- func (g *Genesis) GetKubernetesData(orgID int, clusterID string) (KubernetesInfo, bool)
- func (g *Genesis) GetKubernetesResponse(orgID int, clusterID string) (map[string][]string, error)
- func (g *Genesis) GetStatter() statsd.StatsdStatter
- func (g *Genesis) Start()
- type GenesisSyncData
- type GenesisSyncDataOperation
- type GenesisSyncDataResponse
- type GenesisSyncRpcUpdater
- func (v *GenesisSyncRpcUpdater) ParseHostAsVmPlatformInfo(info VIFRPCMessage, peer, natIP string, vtapID uint32) GenesisSyncDataOperation
- func (v *GenesisSyncRpcUpdater) ParseKVMPlatformInfo(info VIFRPCMessage, peer string, vtapID uint32) GenesisSyncDataOperation
- func (v *GenesisSyncRpcUpdater) ParseProcessInfo(info VIFRPCMessage, vtapID uint32) []model.GenesisProcess
- func (v *GenesisSyncRpcUpdater) ParseVIP(info VIFRPCMessage, vtapID uint32) []model.GenesisVIP
- func (v *GenesisSyncRpcUpdater) ParseVinterfaceInfo(info VIFRPCMessage, peer string, vtapID uint32, ...) []model.GenesisVinterface
- func (v *GenesisSyncRpcUpdater) Start()
- func (v *GenesisSyncRpcUpdater) Stop()
- func (v *GenesisSyncRpcUpdater) UnmarshalKubernetesProtobuf(info VIFRPCMessage) GenesisSyncDataOperation
- func (v *GenesisSyncRpcUpdater) UnmarshalProtobuf(info VIFRPCMessage) GenesisSyncDataOperation
- func (v *GenesisSyncRpcUpdater) UnmarshalWorkloadProtobuf(info VIFRPCMessage, tridentType string) GenesisSyncDataOperation
- type GenesisSyncTypeOperation
- func NewHostPlatformDataOperation(orgID int, dataList []model.GenesisHost) *GenesisSyncTypeOperation[model.GenesisHost]
- func NewIPLastSeenPlatformDataOperation(orgID int, dataList []model.GenesisIP) *GenesisSyncTypeOperation[model.GenesisIP]
- func NewLldpInfoPlatformDataOperation(orgID int, dataList []model.GenesisLldp) *GenesisSyncTypeOperation[model.GenesisLldp]
- func NewNetworkPlatformDataOperation(orgID int, dataList []model.GenesisNetwork) *GenesisSyncTypeOperation[model.GenesisNetwork]
- func NewPortPlatformDataOperation(orgID int, dataList []model.GenesisPort) *GenesisSyncTypeOperation[model.GenesisPort]
- func NewProcessPlatformDataOperation(orgID int, dataList []model.GenesisProcess) *GenesisSyncTypeOperation[model.GenesisProcess]
- func NewVIPPlatformDataOperation(orgID int, dataList []model.GenesisVIP) *GenesisSyncTypeOperation[model.GenesisVIP]
- func NewVMPlatformDataOperation(orgID int, dataList []model.GenesisVM) *GenesisSyncTypeOperation[model.GenesisVM]
- func NewVinterfacePlatformDataOperation(orgID int, dataList []model.GenesisVinterface) *GenesisSyncTypeOperation[model.GenesisVinterface]
- func NewVpcPlatformDataOperation(orgID int, dataList []model.GenesisVpc) *GenesisSyncTypeOperation[model.GenesisVpc]
- func (g *GenesisSyncTypeOperation[T]) Age(timestamp time.Time, timeout time.Duration) bool
- func (g *GenesisSyncTypeOperation[T]) Fetch() map[int][]T
- func (g *GenesisSyncTypeOperation[T]) Load(timestamp time.Time, timeout time.Duration)
- func (g *GenesisSyncTypeOperation[T]) Renew(data map[int][]T, timestamp time.Time)
- func (g *GenesisSyncTypeOperation[T]) Save()
- func (g *GenesisSyncTypeOperation[T]) Update(data map[int][]T, timestamp time.Time)
- type K8SRPCMessage
- type KubernetesInfo
- type KubernetesRpcUpdater
- type KubernetesStorage
- type SyncStorage
- type SynchronizerServer
- func (g *SynchronizerServer) GenesisSharingK8S(ctx context.Context, request *controller.GenesisSharingK8SRequest) (*controller.GenesisSharingK8SResponse, error)
- func (g *SynchronizerServer) GenesisSharingSync(ctx context.Context, request *controller.GenesisSharingSyncRequest) (*controller.GenesisSharingSyncResponse, error)
- func (g *SynchronizerServer) GenesisSync(ctx context.Context, request *trident.GenesisSyncRequest) (*trident.GenesisSyncResponse, error)
- func (g *SynchronizerServer) GetAgentStats(orgID, vtapID string) (TridentStats, error)
- func (g *SynchronizerServer) KubernetesAPISync(ctx context.Context, request *trident.KubernetesAPISyncRequest) (*trident.KubernetesAPISyncResponse, error)
- type TridentStats
- type VIFRPCMessage
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Genesis ¶
type Genesis struct {
// contains filtered or unexported fields
}
var GenesisService *Genesis
func NewGenesis ¶
func NewGenesis(cfg *config.ControllerConfig) *Genesis
func (*Genesis) GetGenesisSyncData ¶
func (g *Genesis) GetGenesisSyncData(orgID int) GenesisSyncDataResponse
func (*Genesis) GetGenesisSyncResponse ¶
func (g *Genesis) GetGenesisSyncResponse(orgID int) (GenesisSyncDataResponse, error)
func (*Genesis) GetKubernetesData ¶
func (g *Genesis) GetKubernetesData(orgID int, clusterID string) (KubernetesInfo, bool)
func (*Genesis) GetKubernetesResponse ¶
func (*Genesis) GetStatter ¶
func (g *Genesis) GetStatter() statsd.StatsdStatter
type GenesisSyncData ¶
type GenesisSyncData struct {
IPLastSeens map[int][]model.GenesisIP
VIPs map[int][]model.GenesisVIP
VMs map[int][]model.GenesisVM
VPCs map[int][]model.GenesisVpc
Hosts map[int][]model.GenesisHost
Lldps map[int][]model.GenesisLldp
Ports map[int][]model.GenesisPort
Networks map[int][]model.GenesisNetwork
Vinterfaces map[int][]model.GenesisVinterface
Processes map[int][]model.GenesisProcess
}
type GenesisSyncDataOperation ¶
type GenesisSyncDataOperation struct {
IPlastseens *GenesisSyncTypeOperation[model.GenesisIP]
VIPs *GenesisSyncTypeOperation[model.GenesisVIP]
VMs *GenesisSyncTypeOperation[model.GenesisVM]
VPCs *GenesisSyncTypeOperation[model.GenesisVpc]
Hosts *GenesisSyncTypeOperation[model.GenesisHost]
Lldps *GenesisSyncTypeOperation[model.GenesisLldp]
Ports *GenesisSyncTypeOperation[model.GenesisPort]
Networks *GenesisSyncTypeOperation[model.GenesisNetwork]
Vinterfaces *GenesisSyncTypeOperation[model.GenesisVinterface]
Processes *GenesisSyncTypeOperation[model.GenesisProcess]
}
type GenesisSyncDataResponse ¶
type GenesisSyncDataResponse struct {
IPLastSeens []model.GenesisIP
VIPs []model.GenesisVIP
VMs []model.GenesisVM
VPCs []model.GenesisVpc
Hosts []model.GenesisHost
Lldps []model.GenesisLldp
Ports []model.GenesisPort
Networks []model.GenesisNetwork
Vinterfaces []model.GenesisVinterface
Processes []model.GenesisProcess
}
type GenesisSyncRpcUpdater ¶
type GenesisSyncRpcUpdater struct {
// contains filtered or unexported fields
}
func NewGenesisSyncRpcUpdater ¶
func NewGenesisSyncRpcUpdater(storage *SyncStorage, queue queue.QueueReader, cfg config.GenesisConfig, ctx context.Context) *GenesisSyncRpcUpdater
func (*GenesisSyncRpcUpdater) ParseHostAsVmPlatformInfo ¶
func (v *GenesisSyncRpcUpdater) ParseHostAsVmPlatformInfo(info VIFRPCMessage, peer, natIP string, vtapID uint32) GenesisSyncDataOperation
func (*GenesisSyncRpcUpdater) ParseKVMPlatformInfo ¶
func (v *GenesisSyncRpcUpdater) ParseKVMPlatformInfo(info VIFRPCMessage, peer string, vtapID uint32) GenesisSyncDataOperation
func (*GenesisSyncRpcUpdater) ParseProcessInfo ¶
func (v *GenesisSyncRpcUpdater) ParseProcessInfo(info VIFRPCMessage, vtapID uint32) []model.GenesisProcess
func (*GenesisSyncRpcUpdater) ParseVIP ¶
func (v *GenesisSyncRpcUpdater) ParseVIP(info VIFRPCMessage, vtapID uint32) []model.GenesisVIP
func (*GenesisSyncRpcUpdater) ParseVinterfaceInfo ¶
func (v *GenesisSyncRpcUpdater) ParseVinterfaceInfo(info VIFRPCMessage, peer string, vtapID uint32, k8sClusterID, deviceType string) []model.GenesisVinterface
func (*GenesisSyncRpcUpdater) Start ¶
func (v *GenesisSyncRpcUpdater) Start()
func (*GenesisSyncRpcUpdater) Stop ¶
func (v *GenesisSyncRpcUpdater) Stop()
func (*GenesisSyncRpcUpdater) UnmarshalKubernetesProtobuf ¶
func (v *GenesisSyncRpcUpdater) UnmarshalKubernetesProtobuf(info VIFRPCMessage) GenesisSyncDataOperation
func (*GenesisSyncRpcUpdater) UnmarshalProtobuf ¶
func (v *GenesisSyncRpcUpdater) UnmarshalProtobuf(info VIFRPCMessage) GenesisSyncDataOperation
func (*GenesisSyncRpcUpdater) UnmarshalWorkloadProtobuf ¶
func (v *GenesisSyncRpcUpdater) UnmarshalWorkloadProtobuf(info VIFRPCMessage, tridentType string) GenesisSyncDataOperation
type GenesisSyncTypeOperation ¶
type GenesisSyncTypeOperation[T model.GenesisVinterface | model.GenesisVpc | model.GenesisHost | model.GenesisVM | model.GenesisVIP | model.GenesisNetwork | model.GenesisPort | model.GenesisLldp | model.GenesisIP | model.GenesisProcess] struct { // contains filtered or unexported fields }
func NewHostPlatformDataOperation ¶
func NewHostPlatformDataOperation(orgID int, dataList []model.GenesisHost) *GenesisSyncTypeOperation[model.GenesisHost]
func NewLldpInfoPlatformDataOperation ¶
func NewLldpInfoPlatformDataOperation(orgID int, dataList []model.GenesisLldp) *GenesisSyncTypeOperation[model.GenesisLldp]
func NewNetworkPlatformDataOperation ¶
func NewNetworkPlatformDataOperation(orgID int, dataList []model.GenesisNetwork) *GenesisSyncTypeOperation[model.GenesisNetwork]
func NewPortPlatformDataOperation ¶
func NewPortPlatformDataOperation(orgID int, dataList []model.GenesisPort) *GenesisSyncTypeOperation[model.GenesisPort]
func NewProcessPlatformDataOperation ¶
func NewProcessPlatformDataOperation(orgID int, dataList []model.GenesisProcess) *GenesisSyncTypeOperation[model.GenesisProcess]
func NewVIPPlatformDataOperation ¶
func NewVIPPlatformDataOperation(orgID int, dataList []model.GenesisVIP) *GenesisSyncTypeOperation[model.GenesisVIP]
func NewVinterfacePlatformDataOperation ¶
func NewVinterfacePlatformDataOperation(orgID int, dataList []model.GenesisVinterface) *GenesisSyncTypeOperation[model.GenesisVinterface]
func NewVpcPlatformDataOperation ¶
func NewVpcPlatformDataOperation(orgID int, dataList []model.GenesisVpc) *GenesisSyncTypeOperation[model.GenesisVpc]
func (*GenesisSyncTypeOperation[T]) Fetch ¶
func (g *GenesisSyncTypeOperation[T]) Fetch() map[int][]T
func (*GenesisSyncTypeOperation[T]) Load ¶
func (g *GenesisSyncTypeOperation[T]) Load(timestamp time.Time, timeout time.Duration)
func (*GenesisSyncTypeOperation[T]) Renew ¶
func (g *GenesisSyncTypeOperation[T]) Renew(data map[int][]T, timestamp time.Time)
func (*GenesisSyncTypeOperation[T]) Save ¶
func (g *GenesisSyncTypeOperation[T]) Save()
type K8SRPCMessage ¶
type K8SRPCMessage struct {
// contains filtered or unexported fields
}
type KubernetesInfo ¶
type KubernetesInfo struct {
ORGID int
ClusterID string
ErrorMSG string
Version uint64
Epoch time.Time
Entries []*messagecommon.KubernetesAPIInfo
}
type KubernetesRpcUpdater ¶
type KubernetesRpcUpdater struct {
// contains filtered or unexported fields
}
func NewKubernetesRpcUpdater ¶
func NewKubernetesRpcUpdater(storage *KubernetesStorage, queue queue.QueueReader, ctx context.Context) *KubernetesRpcUpdater
func (*KubernetesRpcUpdater) Start ¶
func (k *KubernetesRpcUpdater) Start()
func (*KubernetesRpcUpdater) Stop ¶
func (k *KubernetesRpcUpdater) Stop()
type KubernetesStorage ¶
type KubernetesStorage struct {
// contains filtered or unexported fields
}
func NewKubernetesStorage ¶
func NewKubernetesStorage(port, nPort int, cfg config.GenesisConfig, kChan chan KubernetesInfo, ctx context.Context) *KubernetesStorage
func (*KubernetesStorage) Add ¶
func (k *KubernetesStorage) Add(orgID int, newInfo KubernetesInfo)
func (*KubernetesStorage) Clear ¶
func (k *KubernetesStorage) Clear()
func (*KubernetesStorage) Start ¶
func (k *KubernetesStorage) Start()
func (*KubernetesStorage) Stop ¶
func (k *KubernetesStorage) Stop()
type SyncStorage ¶
type SyncStorage struct {
// contains filtered or unexported fields
}
func NewSyncStorage ¶
func NewSyncStorage(cfg config.GenesisConfig, sChan chan GenesisSyncData, ctx context.Context) *SyncStorage
func (*SyncStorage) Renew ¶
func (s *SyncStorage) Renew(data GenesisSyncDataOperation)
func (*SyncStorage) Start ¶
func (s *SyncStorage) Start()
func (*SyncStorage) Stop ¶
func (s *SyncStorage) Stop()
func (*SyncStorage) Update ¶
func (s *SyncStorage) Update(data GenesisSyncDataOperation, info VIFRPCMessage)
type SynchronizerServer ¶
type SynchronizerServer struct {
// contains filtered or unexported fields
}
var Synchronizer *SynchronizerServer
func NewGenesisSynchronizerServer ¶
func NewGenesisSynchronizerServer(cfg config.GenesisConfig, genesisSyncQueue, k8sQueue queue.QueueWriter) *SynchronizerServer
func (*SynchronizerServer) GenesisSharingK8S ¶
func (g *SynchronizerServer) GenesisSharingK8S(ctx context.Context, request *controller.GenesisSharingK8SRequest) (*controller.GenesisSharingK8SResponse, error)
func (*SynchronizerServer) GenesisSharingSync ¶
func (g *SynchronizerServer) GenesisSharingSync(ctx context.Context, request *controller.GenesisSharingSyncRequest) (*controller.GenesisSharingSyncResponse, error)
func (*SynchronizerServer) GenesisSync ¶
func (g *SynchronizerServer) GenesisSync(ctx context.Context, request *trident.GenesisSyncRequest) (*trident.GenesisSyncResponse, error)
func (*SynchronizerServer) GetAgentStats ¶
func (g *SynchronizerServer) GetAgentStats(orgID, vtapID string) (TridentStats, error)
func (*SynchronizerServer) KubernetesAPISync ¶
func (g *SynchronizerServer) KubernetesAPISync(ctx context.Context, request *trident.KubernetesAPISyncRequest) (*trident.KubernetesAPISyncResponse, error)
type TridentStats ¶
type TridentStats struct {
OrgID int
TeamID int
VtapID uint32
TeamShortLcuuid string
IP string
Proxy string
K8sVersion uint64
SyncVersion uint64
K8sLastSeen time.Time
SyncLastSeen time.Time
K8sClusterID string
SyncTridentType tridentcommon.TridentType
GenesisSyncDataOperation *trident.GenesisPlatformData
GenesisSyncProcessDataOperation *trident.GenesisProcessData
}
type VIFRPCMessage ¶
type VIFRPCMessage struct {
// contains filtered or unexported fields
}
Click to show internal directories.
Click to hide internal directories.