rbac

package
v1.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 17, 2020 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var DefaultGroups = []string{
	"system:authenticated",
}

Functions

func AddClusterRoleBindingSubjects

func AddClusterRoleBindingSubjects(ctx context.Context, cli client.Client, name string, ref rbacv1.RoleRef, owners []metav1.OwnerReference, subs ...rbacv1.Subject) (*rbacv1.ClusterRoleBinding, error)

func AddRoleBindingSubjects

func AddRoleBindingSubjects(ctx context.Context, cli client.Client, name, ns string, ref rbacv1.RoleRef, owners []metav1.OwnerReference, subs ...rbacv1.Subject) (*rbacv1.RoleBinding, error)

func AnyMatchSubjectNamespace

func AnyMatchSubjectNamespace(ns string, subs ...rbacv1.Subject) bool

func AnySubjectsMatch

func AnySubjectsMatch(match rbacv1.Subject, subs ...rbacv1.Subject) bool

func ClusterRoleRef

func ClusterRoleRef(name string) rbacv1.RoleRef

func GroupSubject

func GroupSubject(name string) rbacv1.Subject

func RoleRef

func RoleRef(name string) rbacv1.RoleRef

func RulesGrantClusterRBAC

func RulesGrantClusterRBAC(rules []rbacv1.PolicyRule) bool

func RulesGrantRBAC

func RulesGrantRBAC(rules []rbacv1.PolicyRule) bool

func SubjectNamespaceMatches

func SubjectNamespaceMatches(s rbacv1.Subject, ns string) bool

func SubjectsMatch

func SubjectsMatch(match, s rbacv1.Subject) bool

func SubjectsMatchingNamespace

func SubjectsMatchingNamespace(subs []rbacv1.Subject, ns string) []rbacv1.Subject

func UserSubject

func UserSubject(name string) rbacv1.Subject

Types

type Bindings

type Bindings struct {
	Roles        []rbacv1.RoleBinding
	ClusterRoles []rbacv1.ClusterRoleBinding
}

func (Bindings) ForNamespace

func (b Bindings) ForNamespace(ns string) Bindings

func (Bindings) ForSubject

func (b Bindings) ForSubject(sub rbacv1.Subject) Bindings

func (Bindings) ForSubjects

func (b Bindings) ForSubjects(subs ...rbacv1.Subject) Bindings

func (Bindings) ForUser

func (b Bindings) ForUser(u *v1alpha1.User) Bindings

func (Bindings) RoleRefs

func (b Bindings) RoleRefs() []NamespacedRoleRef

func (Bindings) Subjects

func (b Bindings) Subjects() []*SubjectRoles

type NamespacedRoleRef

type NamespacedRoleRef struct {
	rbacv1.RoleRef
	Namespace            string `json:"namespace,omitempty"`
	IsClusterRoleBinding bool   `json:"isClusterRoleBinding"`
}

type SubjectRoles

type SubjectRoles struct {
	rbacv1.Subject
	RoleRefs []NamespacedRoleRef
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL