import "istio.io/istio/galley/pkg/config/source/kube/apiserver/status"
controller.go messages.go state.go status.go util.go
const DocRef = "status-controller"
DocRef is the doc ref value used by the status controller
type Controller interface { Start(p *rt.Provider, resources []collection.Schema) Stop() UpdateResourceStatus(col collection.Name, name resource.FullName, version resource.Version, status interface{}) Report(messages diag.Messages) }
Controller is the interface for a status controller. It is mainly used to separate implementation from interface, so that code can be tested separately.
type ControllerImpl struct {
// contains filtered or unexported fields
}
ControllerImpl keeps track of status information for a given K8s style collection and continuously reconciles.
func NewController(subfield string) *ControllerImpl
NewController returns a new instance of controller.
func (c *ControllerImpl) Report(messages diag.Messages)
Report the given set of messages towards particular resources.
func (c *ControllerImpl) Start(p *rt.Provider, resources []collection.Schema)
Start the controller. This will reset the internal state.
func (c *ControllerImpl) Stop()
Stop the controller
func (c *ControllerImpl) UpdateResourceStatus( col collection.Name, name resource.FullName, version resource.Version, status interface{})
UpdateResourceStatus is called by the source to relay the currently observed status of a resource.
type Messages struct {
// contains filtered or unexported fields
}
Messages is a data structure for capturing incoming messages
NewMessageSet returns a new instance of message set.
Add a new message for a given origin.
Package status imports 10 packages (graph) and is imported by 3 packages. Updated 2021-01-21. Refresh now. Tools for package owners.