Documentation
      ¶
    
    
  
    
  
    Index ¶
- func SendHeartBeat(channel chan<- *ControllerHeartbeat, controller string)
 - type ControllerHeartbeat
 - type HealthController
 - func (hc *HealthController) CheckHealth() bool
 - func (hc *HealthController) HandleHeartbeat(beat *ControllerHeartbeat)
 - func (hc *HealthController) Handler(w http.ResponseWriter, req *http.Request)
 - func (hc *HealthController) RunCheck(healthChan <-chan *ControllerHeartbeat, stopCh <-chan struct{}, ...) error
 - func (hc *HealthController) RunServer(stopCh <-chan struct{}, wg *sync.WaitGroup) error
 - func (hc *HealthController) SetAlive()
 
- type HealthStats
 
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func SendHeartBeat ¶
func SendHeartBeat(channel chan<- *ControllerHeartbeat, controller string)
SendHeartBeat sends a heartbeat on the passed channel
Types ¶
type ControllerHeartbeat ¶
ControllerHeartbeat is the structure to hold the heartbeats sent by controllers
type HealthController ¶
type HealthController struct {
	HealthPort  uint16
	HTTPEnabled bool
	Status      HealthStats
	Config      *options.KubeRouterConfig
}
    HealthController reports the health of the controller loops as a http endpoint
func NewHealthController ¶
func NewHealthController(config *options.KubeRouterConfig) (*HealthController, error)
NewHealthController creates a new health controller and returns a reference to it
func (*HealthController) CheckHealth ¶
func (hc *HealthController) CheckHealth() bool
CheckHealth evaluates the time since last heartbeat to decide if the controller is running or not
func (*HealthController) HandleHeartbeat ¶
func (hc *HealthController) HandleHeartbeat(beat *ControllerHeartbeat)
HandleHeartbeat handles received heartbeats on the health channel
func (*HealthController) Handler ¶
func (hc *HealthController) Handler(w http.ResponseWriter, req *http.Request)
Handler writes HTTP responses to the health path
func (*HealthController) RunCheck ¶
func (hc *HealthController) RunCheck(healthChan <-chan *ControllerHeartbeat, stopCh <-chan struct{}, wg *sync.WaitGroup) error
RunCheck starts the HealthController's check
func (*HealthController) RunServer ¶
func (hc *HealthController) RunServer(stopCh <-chan struct{}, wg *sync.WaitGroup) error
RunServer starts the HealthController's server
func (*HealthController) SetAlive ¶
func (hc *HealthController) SetAlive()
type HealthStats ¶
type HealthStats struct {
	sync.Mutex
	Healthy                           bool
	MetricsControllerAlive            time.Time
	NetworkPolicyControllerAlive      time.Time
	NetworkPolicyControllerAliveTTL   time.Duration
	NetworkRoutingControllerAlive     time.Time
	NetworkRoutingControllerAliveTTL  time.Duration
	NetworkServicesControllerAlive    time.Time
	NetworkServicesControllerAliveTTL time.Duration
}
    HealthStats is holds the latest heartbeats
      
      Source Files
      ¶
    
- health_controller.go
 
 Click to show internal directories. 
   Click to hide internal directories.