* First commit: outline of K8s runtime package * Added poller. Added auto-updater into default runtime * Added build and updated Poller interface * Added comments and NewRuntime that accepts Options * DefaultPoller; Runtime options * First commit to add Kubernetes cruft * Add comments * Add micro- prefix to K8s runtime service names * Get rid of import cycles. Move K8s runtime into main runtime package * Major refactoring: Poller replaced by Notifier POller has been replaced by Notifier which returns a channel of events that can be consumed and acted upon. * Added runtime configuration options * K8s runtime is now Kubernetes runtime in dedicated pkg. Naming kung-fu. * Fix typo in command. * Fixed typo * Dont Delete service when runtime stops. runtime.Stop stops services; no need to double-stop * Track runtime services * Parse Unix timestamps properly * Added deployments into K8s client. Debug logging
		
			
				
	
	
		
			27 lines
		
	
	
		
			500 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			27 lines
		
	
	
		
			500 B
		
	
	
	
		
			Go
		
	
	
	
	
	
package watch
 | 
						|
 | 
						|
import "encoding/json"
 | 
						|
 | 
						|
// Watch ...
 | 
						|
type Watch interface {
 | 
						|
	Stop()
 | 
						|
	ResultChan() <-chan Event
 | 
						|
}
 | 
						|
 | 
						|
// EventType defines the possible types of events.
 | 
						|
type EventType string
 | 
						|
 | 
						|
// EventTypes used
 | 
						|
const (
 | 
						|
	Added    EventType = "ADDED"
 | 
						|
	Modified EventType = "MODIFIED"
 | 
						|
	Deleted  EventType = "DELETED"
 | 
						|
	Error    EventType = "ERROR"
 | 
						|
)
 | 
						|
 | 
						|
// Event represents a single event to a watched resource.
 | 
						|
type Event struct {
 | 
						|
	Type   EventType       `json:"type"`
 | 
						|
	Object json.RawMessage `json:"object"`
 | 
						|
}
 |