zero: add service accounts support (#5031)

* zero: add service accounts support

* quit on terminal errors
This commit is contained in:
Denis Mishin 2024-03-20 17:03:03 -04:00 committed by GitHub
parent 715fd75994
commit 4193583301
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
7 changed files with 210 additions and 108 deletions

View file

@ -2,6 +2,7 @@ package bootstrap
import (
"context"
"encoding/base64"
"sync"
"github.com/google/go-cmp/cmp"
@ -56,13 +57,12 @@ func (src *source) UpdateBootstrap(ctx context.Context, cfg cluster_api.Bootstra
incoming := current.Clone()
applyBootstrapConfig(incoming.Options, &cfg)
src.markReady.Do(func() { close(src.ready) })
if cmp.Equal(incoming.Options, current.Options, cmpOpts...) {
return false
}
src.cfg.Store(incoming)
src.markReady.Do(func() { close(src.ready) })
src.notifyListeners(ctx, incoming)
@ -82,6 +82,7 @@ func (src *source) notifyListeners(ctx context.Context, cfg *config.Config) {
}
func applyBootstrapConfig(dst *config.Options, src *cluster_api.BootstrapConfig) {
dst.SharedKey = base64.StdEncoding.EncodeToString(src.SharedSecret)
if src.DatabrokerStorageConnection != nil {
dst.DataBrokerStorageType = config.StoragePostgresName
dst.DataBrokerStorageConnectionString = *src.DatabrokerStorageConnection