6f7702a093
* 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"`
|
|
}
|