Remove CA Certs/Key from listenerconfig storage

pull/359/head
Erik Wilson 2019-06-21 11:54:23 -07:00
parent 93f6690f26
commit c9b62c9a90
1 changed files with 18 additions and 5 deletions

View File

@ -19,6 +19,7 @@ func NewServer(ctx context.Context, listenerConfigs k3sclient.ListenerConfigCont
storage := &listenerConfigStorage{ storage := &listenerConfigStorage{
client: listenerConfigs, client: listenerConfigs,
cache: listenerConfigs.Cache(), cache: listenerConfigs.Cache(),
config: config,
} }
server, err := dynamiclistener.NewServer(storage, config) server, err := dynamiclistener.NewServer(storage, config)
@ -30,7 +31,7 @@ func NewServer(ctx context.Context, listenerConfigs k3sclient.ListenerConfigCont
if obj == nil { if obj == nil {
return nil, nil return nil, nil
} }
return obj, server.Update(fromStorage(obj)) return obj, server.Update(storage.fromStorage(obj))
}) })
return server, err return server, err
@ -39,6 +40,7 @@ func NewServer(ctx context.Context, listenerConfigs k3sclient.ListenerConfigCont
type listenerConfigStorage struct { type listenerConfigStorage struct {
cache k3sclient.ListenerConfigCache cache k3sclient.ListenerConfigCache
client k3sclient.ListenerConfigClient client k3sclient.ListenerConfigClient
config dynamiclistener.UserConfig
} }
func (l *listenerConfigStorage) Set(config *dynamiclistener.ListenerStatus) (*dynamiclistener.ListenerStatus, error) { func (l *listenerConfigStorage) Set(config *dynamiclistener.ListenerStatus) (*dynamiclistener.ListenerStatus, error) {
@ -53,7 +55,7 @@ func (l *listenerConfigStorage) Set(config *dynamiclistener.ListenerStatus) (*dy
}) })
ls, err := l.client.Create(ls) ls, err := l.client.Create(ls)
return fromStorage(ls), err return l.fromStorage(ls), err
} else if err != nil { } else if err != nil {
return nil, err return nil, err
} }
@ -63,8 +65,13 @@ func (l *listenerConfigStorage) Set(config *dynamiclistener.ListenerStatus) (*dy
obj.Status = *config obj.Status = *config
obj.Status.Revision = "" obj.Status.Revision = ""
if l.config.CACerts != "" && l.config.CAKey != "" {
obj.Status.CACert = ""
obj.Status.CAKey = ""
}
obj, err = l.client.Update(obj) obj, err = l.client.Update(obj)
return fromStorage(obj), err return l.fromStorage(obj), err
} }
func (l *listenerConfigStorage) Get() (*dynamiclistener.ListenerStatus, error) { func (l *listenerConfigStorage) Get() (*dynamiclistener.ListenerStatus, error) {
@ -75,15 +82,21 @@ func (l *listenerConfigStorage) Get() (*dynamiclistener.ListenerStatus, error) {
if errors.IsNotFound(err) { if errors.IsNotFound(err) {
return &dynamiclistener.ListenerStatus{}, nil return &dynamiclistener.ListenerStatus{}, nil
} }
return fromStorage(obj), err return l.fromStorage(obj), err
} }
func fromStorage(obj *v1.ListenerConfig) *dynamiclistener.ListenerStatus { func (l *listenerConfigStorage) fromStorage(obj *v1.ListenerConfig) *dynamiclistener.ListenerStatus {
if obj == nil { if obj == nil {
return nil return nil
} }
copy := obj.DeepCopy() copy := obj.DeepCopy()
copy.Status.Revision = obj.ResourceVersion copy.Status.Revision = obj.ResourceVersion
if l.config.CACerts != "" && l.config.CAKey != "" {
copy.Status.CACert = l.config.CACerts
copy.Status.CAKey = l.config.CAKey
}
return &copy.Status return &copy.Status
} }