github.com/interconnectedcloud/qdr-operator@v0.0.0-20210826174505-576d2b33dac7/pkg/resources/rolebindings/rolebinding.go (about)

     1  package rolebindings
     2  
     3  import (
     4  	v1alpha1 "github.com/interconnectedcloud/qdr-operator/pkg/apis/interconnectedcloud/v1alpha1"
     5  	rbacv1 "k8s.io/api/rbac/v1"
     6  	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
     7  )
     8  
     9  // Create NewRoleBindingForCR method to create rolebinding
    10  func NewRoleBindingForCR(m *v1alpha1.Interconnect) *rbacv1.RoleBinding {
    11  	rolebinding := &rbacv1.RoleBinding{
    12  		TypeMeta: metav1.TypeMeta{
    13  			APIVersion: "rbac.authorization.k8s.io/v1",
    14  			Kind:       "RoleBinding",
    15  		},
    16  		ObjectMeta: metav1.ObjectMeta{
    17  			Name:      m.Name,
    18  			Namespace: m.Namespace,
    19  		},
    20  		Subjects: []rbacv1.Subject{{
    21  			Kind: "ServiceAccount",
    22  			Name: m.Name,
    23  		}},
    24  		RoleRef: rbacv1.RoleRef{
    25  			Kind: "Role",
    26  			Name: m.Name,
    27  		},
    28  	}
    29  
    30  	return rolebinding
    31  }