Skip to content

Commit

Permalink
Change all controller setups
Browse files Browse the repository at this point in the history
Signed-off-by: Jose Luis Vazquez Gonzalez <[email protected]>
  • Loading branch information
Jose Luis Vazquez Gonzalez committed Mar 6, 2023
1 parent a0344ee commit 3cebdeb
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 23 deletions.
27 changes: 14 additions & 13 deletions pkg/controller/controller_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ import (
"testing"

ssv1alpha1 "github.com/bitnami-labs/sealed-secrets/pkg/apis/sealedsecrets/v1alpha1"
ssinformers "github.com/bitnami-labs/sealed-secrets/pkg/client/informers/externalversions"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/client-go/kubernetes"
"k8s.io/client-go/kubernetes/fake"
Expand Down Expand Up @@ -59,35 +58,37 @@ func TestDefaultConfigDoesNotSkipRecreate(t *testing.T) {
var tweakopts func(*metav1.ListOptions)
clientset := fake.NewSimpleClientset()
ssc := ssfake.NewSimpleClientset()
sinformer := initSecretInformerFactory(clientset, ns, tweakopts, false)
if sinformer == nil {
t.Fatalf("sinformer %v want non nil", sinformer)
}
ssinformer := ssinformers.NewFilteredSharedInformerFactory(ssc, 0, ns, tweakopts)
keyRegistry := testKeyRegister(t, context.Background(), clientset, ns)

_, got := NewController(clientset, ssc, ssinformer, sinformer, keyRegistry)
ctrl, got := prepareController(clientset, ns, tweakopts, &Flags{SkipRecreate: false}, ssc, keyRegistry)
if got != nil {
t.Fatalf("got %v want %v", got, nil)
}
if ctrl == nil {
t.Fatalf("ctrl %v want non nil", ctrl)
}
if ctrl.sInformer == nil {
t.Fatalf("sInformer %v want non nil", ctrl.sInformer)
}
}

func TestSkipReleaseConfigDoesSkipIt(t *testing.T) {
ns := "some-namespace"
var tweakopts func(*metav1.ListOptions)
clientset := fake.NewSimpleClientset()
ssc := ssfake.NewSimpleClientset()
sinformer := initSecretInformerFactory(clientset, ns, tweakopts, true)
if sinformer != nil {
t.Fatalf("sinformer %v want nil", sinformer)
}
ssinformer := ssinformers.NewFilteredSharedInformerFactory(ssc, 0, ns, tweakopts)
keyRegistry := testKeyRegister(t, context.Background(), clientset, ns)

_, got := NewController(clientset, ssc, ssinformer, sinformer, keyRegistry)
ctrl, got := prepareController(clientset, ns, tweakopts, &Flags{SkipRecreate: true}, ssc, keyRegistry)
if got != nil {
t.Fatalf("got %v want %v", got, nil)
}
if ctrl == nil {
t.Fatalf("ctrl %v want non nil", ctrl)
}
if ctrl.sInformer != nil {
t.Fatalf("sInformer %v want nil", ctrl.sInformer)
}
}

func testKeyRegister(t *testing.T, ctx context.Context, clientset kubernetes.Interface, ns string) *KeyRegistry {
Expand Down
20 changes: 10 additions & 10 deletions pkg/controller/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ import (
"k8s.io/client-go/informers"

ssv1alpha1 "github.com/bitnami-labs/sealed-secrets/pkg/apis/sealedsecrets/v1alpha1"
"github.com/bitnami-labs/sealed-secrets/pkg/client/clientset/versioned"
sealedsecrets "github.com/bitnami-labs/sealed-secrets/pkg/client/clientset/versioned"
ssinformers "github.com/bitnami-labs/sealed-secrets/pkg/client/informers/externalversions"
)
Expand Down Expand Up @@ -196,9 +197,7 @@ func Main(f *Flags, version string) error {
}
}

sinformer := informers.NewFilteredSharedInformerFactory(clientset, 0, namespace, tweakopts)
ssinformer := ssinformers.NewFilteredSharedInformerFactory(ssclientset, 0, namespace, tweakopts)
controller, err := NewController(clientset, ssclientset, ssinformer, sinformer, keyRegistry)
controller, err := prepareController(clientset, namespace, tweakopts, f, ssclientset, keyRegistry)
if err != nil {
return err
}
Expand All @@ -213,10 +212,6 @@ func Main(f *Flags, version string) error {
if f.AdditionalNamespaces != "" {
addNS := removeDuplicates(strings.Split(f.AdditionalNamespaces, ","))

var ssinf ssinformers.SharedInformerFactory
var sinf informers.SharedInformerFactory
var ctlr *Controller

for _, ns := range addNS {
if _, err := clientset.CoreV1().Namespaces().Get(ctx, ns, metav1.GetOptions{}); err != nil {
if errors.IsNotFound(err) {
Expand All @@ -226,9 +221,7 @@ func Main(f *Flags, version string) error {
return err
}
if ns != namespace {
ssinf = ssinformers.NewFilteredSharedInformerFactory(ssclientset, 0, ns, tweakopts)
sinf = initSecretInformerFactory(clientset, ns, tweakopts, f.SkipRecreate)
ctlr, err = NewController(clientset, ssclientset, ssinf, sinf, keyRegistry)
ctlr, err := prepareController(clientset, ns, tweakopts, f, ssclientset, keyRegistry)
if err != nil {
return err
}
Expand Down Expand Up @@ -257,6 +250,13 @@ func Main(f *Flags, version string) error {
return server.Shutdown(context.Background())
}

func prepareController(clientset kubernetes.Interface, namespace string, tweakopts func(*metav1.ListOptions), f *Flags, ssclientset versioned.Interface, keyRegistry *KeyRegistry) (*Controller, error) {
sinformer := initSecretInformerFactory(clientset, namespace, tweakopts, f.SkipRecreate)
ssinformer := ssinformers.NewFilteredSharedInformerFactory(ssclientset, 0, namespace, tweakopts)
controller, err := NewController(clientset, ssclientset, ssinformer, sinformer, keyRegistry)
return controller, err
}

func initSecretInformerFactory(clientset kubernetes.Interface, ns string, tweakopts func(*metav1.ListOptions), skipRecreate bool) informers.SharedInformerFactory {
if skipRecreate {
return nil
Expand Down

0 comments on commit 3cebdeb

Please sign in to comment.