NOTE! This project has now been integrated with the Onix project and is part of its Kubernetes Bundle. Please go here for the new Sentinel project.
An explanation of how Sentinel fits in Onix can be found here
Sentinel
Sentinel is a Go application, which looks for state changes of kubernetes objects, and publish their associated metadata to specific endpoints for further processing by downstream systems.
The application process can either run inside or outside of a Kubernetes cluster and can publish events to either a webhook or to an instance of the Apache Kafka message broker.
Architecture
The following image shows how the application works:
Topics
Name | Description |
---|---|
Getting Started | Various examples of how to get started using Sentinel. |
Configuration | How to change Sentinel behaviour using configuration variables. |
Publishers | A description of the various mechanisms to publish status changes to other systems. |
Scripts | Various scripts to facilitate development and testing. |
API compatibility
The current version uses the Kubernetes API 1.11.10, compatible with Openshift 3.11.
To build the solution for another api version, the dependencies in the go module file has to be updated, for example, using go get as follows:
# for example, to update to version 1.14.2
$ go get -u k8s.io/api@kubernetes-1.14.2
$ go get -u k8s.io/apimachinery@kubernetes-1.14.2
$ go get -u k8s.io/client-go@kubernetes-1.14.2
NOTE: the minimal required go version is 1.12.5
[*] The Sentinel icon was made by Freepik from Flaticon and is licensed by Creative Commons BY 3.0