Fix secrets sync

* log if secret already exists
This commit is contained in:
Murat Kabilov 2017-04-06 15:18:24 +02:00
parent 8268b07ad2
commit ee83e196a9
3 changed files with 27 additions and 7 deletions

View File

@ -118,6 +118,19 @@ func (c *Cluster) SetStatus(status spec.PostgresStatus) {
}
}
func (c *Cluster) initUsers() error {
c.initSystemUsers()
if err := c.initRobotUsers(); err != nil {
return fmt.Errorf("Can't init robot users: %s", err)
}
if err := c.initHumanUsers(); err != nil {
return fmt.Errorf("Can't init human users: %s", err)
}
return nil
}
func (c *Cluster) Create() error {
//TODO: service will create endpoint implicitly
ep, err := c.createEndpoint()
@ -133,13 +146,10 @@ func (c *Cluster) Create() error {
c.logger.Infof("Service '%s' has been successfully created", util.NameFromMeta(service.ObjectMeta))
}
c.initSystemUsers()
if err := c.initRobotUsers(); err != nil {
return fmt.Errorf("Can't init robot users: %s", err)
}
if err := c.initHumanUsers(); err != nil {
return fmt.Errorf("Can't init human users: %s", err)
if err := c.initUsers(); err != nil {
return err
} else {
c.logger.Infof("User secrets have been initialized")
}
if err := c.applySecrets(); err != nil {

View File

@ -248,6 +248,7 @@ func (c *Cluster) applySecrets() error {
if err != nil {
return fmt.Errorf("Can't get current Secret: %s", err)
}
c.logger.Debugf("Secret '%s' already exists, fetching it's password", util.NameFromMeta(secret.ObjectMeta))
pwdUser := c.pgUsers[secretUsername]
pwdUser.Password = string(curSecrets.Data["password"])
c.pgUsers[secretUsername] = pwdUser

View File

@ -10,22 +10,27 @@ import (
)
func (c *Cluster) SyncCluster() {
c.logger.Debugf("Syncing Secrets")
if err := c.syncSecrets(); err != nil {
c.logger.Infof("Can't sync Secrets: %s", err)
}
c.logger.Debugf("Syncing Endpoints")
if err := c.syncEndpoint(); err != nil {
c.logger.Errorf("Can't sync Endpoints: %s", err)
}
c.logger.Debugf("Syncing Services")
if err := c.syncService(); err != nil {
c.logger.Errorf("Can't sync Services: %s", err)
}
c.logger.Debugf("Syncing StatefulSets")
if err := c.syncStatefulSet(); err != nil {
c.logger.Errorf("Can't sync StatefulSets: %s", err)
}
c.logger.Debugf("Syncing Pods")
if err := c.syncPods(); err != nil {
c.logger.Errorf("Can't sync Pods: %s", err)
}
@ -33,6 +38,10 @@ func (c *Cluster) SyncCluster() {
func (c *Cluster) syncSecrets() error {
//TODO: mind the secrets of the deleted/new users
if err := c.initUsers(); err != nil {
return err
}
err := c.applySecrets()
if err != nil {
return err