diff --git a/lib/gat/modes/eddy/config.go b/lib/gat/modes/eddy/config.go index 31de8fb8b0716352046fa4a4cabcb4a3c7e403df..2314c82012ae27065175889c2790690701b51a59 100644 --- a/lib/gat/modes/eddy/config.go +++ b/lib/gat/modes/eddy/config.go @@ -5,7 +5,9 @@ import ( ) type Config struct { - rest *rest.Config + Namespace string + + Rest *rest.Config } func Load() (*Config, error) { @@ -14,7 +16,9 @@ func Load() (*Config, error) { return nil, err } return &Config{ - rest: restConfig, + Namespace: "default", + + Rest: restConfig, }, nil } diff --git a/lib/gat/modes/eddy/server.go b/lib/gat/modes/eddy/server.go index 3033b80e7333d650c42c8ac4787170fea65a7982..c59869cb994881f46618c94cae16463882a082b3 100644 --- a/lib/gat/modes/eddy/server.go +++ b/lib/gat/modes/eddy/server.go @@ -1,10 +1,14 @@ package eddy import ( + "context" + + acidzalando "github.com/zalando/postgres-operator/pkg/apis/acid.zalan.do" v1acid "github.com/zalando/postgres-operator/pkg/apis/acid.zalan.do/v1" acidv1informer "github.com/zalando/postgres-operator/pkg/generated/informers/externalversions/acid.zalan.do/v1" "github.com/zalando/postgres-operator/pkg/util/constants" "github.com/zalando/postgres-operator/pkg/util/k8sutil" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/tools/cache" "tuxpa.in/a/zlog/log" @@ -31,14 +35,14 @@ func NewServer(config *Config) (*Server, error) { func (T *Server) init() error { var err error - T.k8s, err = k8sutil.NewFromConfig(T.config.rest) + T.k8s, err = k8sutil.NewFromConfig(T.config.Rest) if err != nil { return err } T.postgresqlInformer = acidv1informer.NewPostgresqlInformer( T.k8s.AcidV1ClientSet, - "default", + T.config.Namespace, constants.QueueResyncPeriodTPR, cache.Indexers{}) @@ -83,11 +87,17 @@ func (T *Server) addPostgresql(psql *v1acid.Postgresql) { func (T *Server) updatePostgresql(oldPsql *v1acid.Postgresql, newPsql *v1acid.Postgresql) { if oldPsql != nil { log.Print("removed databases: ", oldPsql.Spec.Databases) - log.Print("removed users: ", newPsql.Spec.Users) + log.Print("removed users: ", oldPsql.Spec.Users) } if newPsql != nil { log.Print("added databases: ", newPsql.Spec.Databases) log.Print("added users: ", newPsql.Spec.Users) + for user := range newPsql.Spec.Users { + // TODO(garet) lookup config map to get this format (what a pain) + secretName := user + "." + newPsql.Name + ".credentials." + v1acid.PostgresCRDResourceKind + "." + acidzalando.GroupName + + T.k8s.Secrets(T.config.Namespace).Get(context.Background(), secretName, v1.GetOptions{}) + } } }