@@ -6,12 +6,17 @@ import (
6
6
corev1 "k8s.io/api/core/v1"
7
7
rbacv1 "k8s.io/api/rbac/v1"
8
8
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
9
+ "k8s.io/apiserver/pkg/storage/names"
9
10
10
11
"github.com/operator-framework/operator-lifecycle-manager/pkg/api/apis/operators/v1alpha1"
11
12
"github.com/operator-framework/operator-lifecycle-manager/pkg/controller/install"
12
13
"github.com/operator-framework/operator-lifecycle-manager/pkg/lib/ownerutil"
13
14
)
14
15
16
+ var generateName = func (base string ) string {
17
+ return names .SimpleNameGenerator .GenerateName (base + "-" )
18
+ }
19
+
15
20
type OperatorPermissions struct {
16
21
ServiceAccount * corev1.ServiceAccount
17
22
Roles []* rbacv1.Role
@@ -63,7 +68,7 @@ func RBACForClusterServiceVersion(csv *v1alpha1.ClusterServiceVersion) (map[stri
63
68
}
64
69
65
70
// Resolve Permissions
66
- for i , permission := range strategyDetailsDeployment .Permissions {
71
+ for _ , permission := range strategyDetailsDeployment .Permissions {
67
72
// Create ServiceAccount if necessary
68
73
if _ , ok := permissions [permission .ServiceAccountName ]; ! ok {
69
74
serviceAccount := & corev1.ServiceAccount {}
@@ -76,7 +81,7 @@ func RBACForClusterServiceVersion(csv *v1alpha1.ClusterServiceVersion) (map[stri
76
81
// Create Role
77
82
role := & rbacv1.Role {
78
83
ObjectMeta : metav1.ObjectMeta {
79
- Name : fmt . Sprintf ( "%s-%d" , csv .GetName (), i ),
84
+ Name : generateName ( csv .GetName ()),
80
85
Namespace : csv .GetNamespace (),
81
86
OwnerReferences : []metav1.OwnerReference {ownerutil .NonBlockingOwner (csv )},
82
87
Labels : ownerutil .OwnerLabel (csv ),
@@ -88,7 +93,7 @@ func RBACForClusterServiceVersion(csv *v1alpha1.ClusterServiceVersion) (map[stri
88
93
// Create RoleBinding
89
94
roleBinding := & rbacv1.RoleBinding {
90
95
ObjectMeta : metav1.ObjectMeta {
91
- Name : fmt .Sprintf ("%s-%s" , role .GetName (), permission .ServiceAccountName ),
96
+ Name : generateName ( fmt .Sprintf ("%s-%s" , role .GetName (), permission .ServiceAccountName ) ),
92
97
Namespace : csv .GetNamespace (),
93
98
OwnerReferences : []metav1.OwnerReference {ownerutil .NonBlockingOwner (csv )},
94
99
Labels : ownerutil .OwnerLabel (csv ),
@@ -107,7 +112,7 @@ func RBACForClusterServiceVersion(csv *v1alpha1.ClusterServiceVersion) (map[stri
107
112
}
108
113
109
114
// Resolve ClusterPermissions as StepResources
110
- for i , permission := range strategyDetailsDeployment .ClusterPermissions {
115
+ for _ , permission := range strategyDetailsDeployment .ClusterPermissions {
111
116
// Create ServiceAccount if necessary
112
117
if _ , ok := permissions [permission .ServiceAccountName ]; ! ok {
113
118
serviceAccount := & corev1.ServiceAccount {}
@@ -120,7 +125,7 @@ func RBACForClusterServiceVersion(csv *v1alpha1.ClusterServiceVersion) (map[stri
120
125
// Create ClusterRole
121
126
role := & rbacv1.ClusterRole {
122
127
ObjectMeta : metav1.ObjectMeta {
123
- Name : fmt . Sprintf ( "%s-%d" , csv .GetName (), i ),
128
+ Name : generateName ( csv .GetName ()),
124
129
OwnerReferences : []metav1.OwnerReference {ownerutil .NonBlockingOwner (csv )},
125
130
Labels : ownerutil .OwnerLabel (csv ),
126
131
},
@@ -131,7 +136,7 @@ func RBACForClusterServiceVersion(csv *v1alpha1.ClusterServiceVersion) (map[stri
131
136
// Create ClusterRoleBinding
132
137
roleBinding := & rbacv1.ClusterRoleBinding {
133
138
ObjectMeta : metav1.ObjectMeta {
134
- Name : fmt .Sprintf ("%s-%s" , role .GetName (), permission .ServiceAccountName ),
139
+ Name : generateName ( fmt .Sprintf ("%s-%s" , role .GetName (), permission .ServiceAccountName ) ),
135
140
Namespace : csv .GetNamespace (),
136
141
OwnerReferences : []metav1.OwnerReference {ownerutil .NonBlockingOwner (csv )},
137
142
Labels : ownerutil .OwnerLabel (csv ),
0 commit comments