@@ -25,6 +25,7 @@ import (
25
25
. "github.com/onsi/gomega"
26
26
appsv1 "k8s.io/api/apps/v1"
27
27
corev1 "k8s.io/api/core/v1"
28
+ rbacv1 "k8s.io/api/rbac/v1"
28
29
"k8s.io/apimachinery/pkg/api/meta"
29
30
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
30
31
"k8s.io/apimachinery/pkg/labels"
@@ -923,6 +924,32 @@ var _ = Describe("Starting CatalogSource e2e tests", func() {
923
924
Expect (registryPods ).ShouldNot (BeNil (), "nil registry pods" )
924
925
Expect (registryPods .Items ).To (HaveLen (1 ), "unexpected number of registry pods found" )
925
926
927
+ By ("Granting the ServiceAccount used by the registry pod permissions to pull from the internal registry" )
928
+ roleBinding := & rbacv1.RoleBinding {
929
+ ObjectMeta : metav1.ObjectMeta {
930
+ Namespace : generatedNamespace .GetName (),
931
+ GenerateName : "registry-v1-viewer-" ,
932
+ },
933
+ Subjects : []rbacv1.Subject {
934
+ {
935
+ Kind : "ServiceAccount" ,
936
+ Name : registryPods .Items [0 ].Spec .ServiceAccountName ,
937
+ APIGroup : "" ,
938
+ },
939
+ },
940
+ RoleRef : rbacv1.RoleRef {
941
+ Kind : "ClusterRole" ,
942
+ Name : "registry-viewer" ,
943
+ APIGroup : "rbac.authorization.k8s.io" ,
944
+ },
945
+ }
946
+ _ , err = c .CreateRoleBinding (roleBinding )
947
+ Expect (err ).ToNot (HaveOccurred (), "error granting registry-viewer permissions" )
948
+ defer func () {
949
+ err := c .DeleteRoleBinding (roleBinding .GetNamespace (), roleBinding .GetName (), & metav1.DeleteOptions {})
950
+ Expect (err ).ShouldNot (HaveOccurred ())
951
+ }()
952
+
926
953
By ("Create a Subscription for package" )
927
954
subscriptionName := genName ("sub-" )
928
955
cleanupSubscription := createSubscriptionForCatalog (crc , source .GetNamespace (), subscriptionName , source .GetName (), packageName , channelName , "" , v1alpha1 .ApprovalAutomatic )
0 commit comments