@@ -75,8 +75,8 @@ type roleBinding struct {
75
75
}
76
76
77
77
// serviceAccount implements create ServiceAccount
78
- type serviceAccount struct {
79
- name string
78
+ type ServiceAccount struct {
79
+ Name string
80
80
labels labels
81
81
namespace string
82
82
}
@@ -85,7 +85,7 @@ type rbacResources struct {
85
85
clusterRoles []clusterRole
86
86
clusterRoleBindings []clusterRoleBinding
87
87
roleBindings []roleBinding
88
- serviceAccount serviceAccount
88
+ serviceAccount ServiceAccount
89
89
}
90
90
91
91
// RBACHandler implements getting, creating and deleting resources
@@ -221,8 +221,8 @@ func (rh *RBACHandler) listServiceAccount() ([]string, error) {
221
221
return serviceAccList , nil
222
222
}
223
223
224
- func (rh * RBACHandler ) createServiceAccount (sa * serviceAccount ) error {
225
- if _ , err := rh .getAndCheckSA (sa .name ); err == nil {
224
+ func (rh * RBACHandler ) createServiceAccount (sa * ServiceAccount ) error {
225
+ if _ , err := rh .getAndCheckSA (sa .Name ); err == nil {
226
226
return nil
227
227
}
228
228
saObj := & apicorev1.ServiceAccount {
@@ -231,7 +231,7 @@ func (rh *RBACHandler) createServiceAccount(sa *serviceAccount) error {
231
231
APIVersion : "v1" ,
232
232
},
233
233
ObjectMeta : metav1.ObjectMeta {
234
- Name : sa .name ,
234
+ Name : sa .Name ,
235
235
Namespace : sa .namespace ,
236
236
Labels : sa .labels ,
237
237
},
@@ -482,8 +482,8 @@ func generateRbacResources(user *tokenhandler.User, config *Config, nameSpaces [
482
482
rbacResources := & rbacResources {
483
483
clusterRoles : clusterRoles ,
484
484
clusterRoleBindings : clusterRoleBindings ,
485
- serviceAccount : serviceAccount {
486
- name : saName ,
485
+ serviceAccount : ServiceAccount {
486
+ Name : saName ,
487
487
labels : defaultLabel ,
488
488
},
489
489
roleBindings : roleBindings ,
@@ -510,43 +510,43 @@ func generateClusterRoleRBACResources(config *Config, logger logur.Logger) (*rba
510
510
}
511
511
512
512
// CreateRBAC create RBAC resources
513
- func CreateRBAC (user * tokenhandler.User , config * Config , logger logur.Logger ) error {
513
+ func CreateRBAC (user * tokenhandler.User , config * Config , logger logur.Logger ) ( * ServiceAccount , error ) {
514
514
logger = log .WithFields (logger , map [string ]interface {}{"package" : "rbachandler" })
515
515
516
516
rbacHandler , err := NewRBACHandler (config .KubeConfig , logger )
517
517
if err != nil {
518
- return err
518
+ return & ServiceAccount {}, err
519
519
}
520
520
rbacResources , err := generateRbacResources (user , config , []string {"default" }, logger )
521
521
if err != nil {
522
522
logger .Error (err .Error (), nil )
523
- return err
523
+ return & ServiceAccount {}, err
524
524
}
525
525
if err := rbacHandler .createServiceAccount (& rbacResources .serviceAccount ); err != nil {
526
526
logger .Error (err .Error (), nil )
527
- return err
527
+ return & rbacResources . serviceAccount , err
528
528
}
529
529
if len (rbacResources .clusterRoles ) > 0 {
530
530
for _ , clusterRole := range rbacResources .clusterRoles {
531
531
if err := rbacHandler .createClusterRole (& clusterRole ); err != nil {
532
532
logger .Error (err .Error (), nil )
533
- return err
533
+ return & rbacResources . serviceAccount , err
534
534
}
535
535
}
536
536
}
537
537
for _ , clusterRoleBinding := range rbacResources .clusterRoleBindings {
538
538
if err := rbacHandler .createClusterRoleBinding (& clusterRoleBinding ); err != nil {
539
539
logger .Error (err .Error (), nil )
540
- return err
540
+ return & rbacResources . serviceAccount , err
541
541
}
542
542
}
543
543
for _ , roleBinding := range rbacResources .roleBindings {
544
544
if err := rbacHandler .createRoleBinding (& roleBinding ); err != nil {
545
545
logger .Error (err .Error (), nil )
546
- return err
546
+ return & rbacResources . serviceAccount , err
547
547
}
548
548
}
549
- return nil
549
+ return & rbacResources . serviceAccount , nil
550
550
}
551
551
552
552
func (rh * RBACHandler ) getAndCheckSA (saName string ) (* apicorev1.ServiceAccount , error ) {
0 commit comments