Documentation ¶
Overview ¶
Package reporter collects edge resource status and reports it to controller manager.
Index ¶
- Constants
- func NewReporterInitializers() map[string]InitFunc
- type ClusterStatusReporter
- type DaemonsetReporter
- type DaemonsetResourceStatus
- type DeploymentReporter
- type DeploymentResourceStatus
- type EventReporter
- type EventResourceStatus
- type InitFunc
- type NodeReporter
- type NodeResourceStatus
- type PodReporter
- type PodResourceStatus
- type Report
- type ReporterContext
- type Reports
- type ServiceReporter
- type ServiceResourceStatus
Constants ¶
const ( ResourceTypeNode = iota + 1 ResourceTypePod ResourceTypeDeployment ResourceTypeDaemonset ResourceTypeService ResourceTypeStatefulset ResourceTypeClusterStatus ResourceTypeEvent ClusterLabel = "ote-cluster" EdgeVersionLabel = "edge-version" EdgeNodeName = "node-name" )
Variables ¶
This section is empty.
Functions ¶
func NewReporterInitializers ¶
NewReporterInitializers returns a public map of named reporter groups paired to their InitFunc.
Types ¶
type ClusterStatusReporter ¶
type ClusterStatusReporter struct {
// contains filtered or unexported fields
}
ClusterStatusReporter is responsible for synchronizing information about the status of a cluster.
func (*ClusterStatusReporter) Run ¶
func (c *ClusterStatusReporter) Run(stopCh <-chan struct{})
Run starts a cron job that synchronizes information of the cluster.
type DaemonsetReporter ¶
type DaemonsetReporter struct { SyncChan chan clustermessage.ClusterMessage // contains filtered or unexported fields }
type DaemonsetResourceStatus ¶
type DaemonsetResourceStatus struct { // UpdateMap stores created/updated resource obj. UpdateMap map[string]*appsv1.DaemonSet `json:"updateMap"` // DelMap stores deleted resource obj. DelMap map[string]*appsv1.DaemonSet `json:"delMap"` // FullList stores full resource obj. FullList []*appsv1.DaemonSet `json:"fullList"` }
DaemonsetResourceStatus defines daemonset resource status.
type DeploymentReporter ¶
type DeploymentReporter struct { SyncChan chan clustermessage.ClusterMessage // contains filtered or unexported fields }
type DeploymentResourceStatus ¶
type DeploymentResourceStatus struct { // UpdateMap stores created/updated resource obj. UpdateMap map[string]*appsv1.Deployment `json:"updateMap"` // DelMap stores deleted resource obj. DelMap map[string]*appsv1.Deployment `json:"delMap"` // FullList stores full resource obj. FullList []*appsv1.Deployment `json:"fullList"` }
DeploymentResourceStatus defines deployment resource status.
type EventReporter ¶
type EventReporter struct { SyncChan chan clustermessage.ClusterMessage // contains filtered or unexported fields }
type EventResourceStatus ¶
type EventResourceStatus struct { // UpdateMap stores created/updated resource obj. UpdateMap map[string]*corev1.Event `json:"updateMap"` // DelMap stores deleted resource obj. DelMap map[string]*corev1.Event `json:"delMap"` // FullList stores full resource obj. FullList []*corev1.Event `json:"fullList"` }
EventResourceStatus defines event resource status.
type InitFunc ¶
type InitFunc func(ctx *ReporterContext) error
InitFunc is used to launch a particular reporter.
type NodeReporter ¶
type NodeReporter struct { SyncChan chan clustermessage.ClusterMessage // contains filtered or unexported fields }
NodeReporter is responsible for synchronizing node status of edge cluster.
type NodeResourceStatus ¶
type NodeResourceStatus struct { // UpdateMap stores created/updated resource obj. UpdateMap map[string]*corev1.Node `json:"updateMap"` // DelMap stores deleted resource obj. DelMap map[string]*corev1.Node `json:"delMap"` // FullList stores full resource obj. FullList []*corev1.Node `json:"fullList"` }
NodeResourceStatus defines node resource status.
type PodReporter ¶
type PodReporter struct { SyncChan chan clustermessage.ClusterMessage // contains filtered or unexported fields }
PodReporter is responsible for synchronizing pod status of edge cluster.
func (*PodReporter) Run ¶
func (pr *PodReporter) Run(stopCh <-chan struct{}) error
Run begins watching and syncing.
func (*PodReporter) SetDelMap ¶
func (pr *PodReporter) SetDelMap(name string, pod *corev1.Pod)
SetDelMap adds pod objects to DelMap.
func (*PodReporter) SetUpdateMap ¶
func (pr *PodReporter) SetUpdateMap(name string, pod *corev1.Pod)
SetUpdateMap adds pod objects to UpdateMap.
type PodResourceStatus ¶
type PodResourceStatus struct { // UpdateMap stores created/updated resource obj. UpdateMap map[string]*corev1.Pod `json:"updateMap"` // DelMap stores deleted resource obj. DelMap map[string]*corev1.Pod `json:"delMap"` // FullList stores full resource obj. FullList []*corev1.Pod `json:"fullList"` }
PodResourceStatus defines pod resource status.
type Report ¶
type Report struct { ResourceType int `json:"resourceType"` // Body defines different resource status. Body []byte `json:"body"` }
Report defines edge report content.
type ReporterContext ¶
type ReporterContext struct { // InformerFactory gives access to informers for the reporter. InformerFactory informers.SharedInformerFactory // ClusterName gets the cluster name. ClusterName func() string // SyncChan is used for synchronizing status of the edge cluster. SyncChan chan clustermessage.ClusterMessage // StopChan is the stop channel. StopChan <-chan struct{} // KubeClient is the kubernetes client interface for the reporter to use. KubeClient kubernetes.Interface }
ReporterContext defines the context object for reporter.
func (*ReporterContext) IsValid ¶
func (ctx *ReporterContext) IsValid() bool
IsValid returns the ReporterContext validation result.
type Reports ¶
type Reports []Report
Reports is a collection of resource report.
func (Reports) ToClusterMessage ¶
func (r Reports) ToClusterMessage(clusterName string) (*clustermessage.ClusterMessage, error)
ToClusterMessage packs the Report infomation into clustermessage.
type ServiceReporter ¶
type ServiceReporter struct { SyncChan chan clustermessage.ClusterMessage // contains filtered or unexported fields }
type ServiceResourceStatus ¶
type ServiceResourceStatus struct { // UpdateMap stores created/updated resource obj. UpdateMap map[string]*corev1.Service `json:"updateMap"` // DelMap stores deleted resource obj. DelMap map[string]*corev1.Service `json:"delMap"` // FullList stores full resource obj. FullList []*corev1.Service `json:"fullList"` }
ServiceResourceStatus defines service resource status.