Attempt to minimize additional cert gens

This commit is contained in:
Darren Shepherd
2019-11-13 06:03:51 +00:00
parent aaa5bc0d2a
commit 02b97e01f1
3 changed files with 44 additions and 8 deletions

View File

@@ -6,6 +6,7 @@ import (
"time"
"github.com/rancher/dynamiclistener"
"github.com/rancher/dynamiclistener/factory"
"github.com/rancher/wrangler-api/pkg/generated/controllers/core"
v1controller "github.com/rancher/wrangler-api/pkg/generated/controllers/core/v1"
"github.com/rancher/wrangler/pkg/start"
@@ -54,6 +55,11 @@ type storage struct {
storage dynamiclistener.TLSStorage
secrets v1controller.SecretClient
ctx context.Context
tls *factory.TLS
}
func (s *storage) SetFactory(tls *factory.TLS) {
s.tls = tls
}
func (s *storage) init(secrets v1controller.SecretController) {
@@ -105,6 +111,12 @@ func (s *storage) saveInK8s(secret *v1.Secret) (*v1.Secret, error) {
return secret, nil
}
if existing, err := s.storage.Get(); err == nil && s.tls != nil {
if newSecret, updated, err := s.tls.Merge(secret, existing); err == nil && updated {
secret = newSecret
}
}
targetSecret, err := s.targetSecret()
if err != nil {
return nil, err