Emit K8S events to the postgresql CR as feedback to the requestor / user (#896)

* Add EventsGetter to KubeClient to enable to sending K8S events

* Add eventRecorder to the controller, initialize it and hand it down to cluster via its constructor to enable it to emit events this way

* Add first set of events which then go to the postgresql custom resource the user interacts with to provide some feedback

* Add right to "create" events to operator cluster role

* Adapt cluster tests to new function sigurature with eventRecord (via NewFakeRecorder)

* Get a proper reference before sending events to a resource

Co-authored-by: Christian Rohmann <christian.rohmann@inovex.de>
This commit is contained in:
Christian Rohmann
2020-04-27 08:22:07 +02:00
committed by GitHub
co-authored by Christian Rohmann
parent 3c91bdeffa
commit 21b9b6fcbe
11 changed files with 107 additions and 29 deletions
+4
View File
@@ -13,6 +13,7 @@ import (
"github.com/zalando/postgres-operator/pkg/util/k8sutil"
"github.com/zalando/postgres-operator/pkg/util/teams"
v1 "k8s.io/api/core/v1"
"k8s.io/client-go/tools/record"
)
const (
@@ -21,6 +22,8 @@ const (
)
var logger = logrus.New().WithField("test", "cluster")
var eventRecorder = record.NewFakeRecorder(1)
var cl = New(
Config{
OpConfig: config.Config{
@@ -34,6 +37,7 @@ var cl = New(
k8sutil.NewMockKubernetesClient(),
acidv1.Postgresql{},
logger,
eventRecorder,
)
func TestInitRobotUsers(t *testing.T) {