Help us shape the future of Go! Take the 2026 Go Developer Survey

rbac

package
v0.15.0 Latest Latest
Warning

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

Go to latest
Published: Oct 21, 2026 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

View Source
const (
	NodesProxy             ProxyServiceKind = "Nodes"
	StorageClassesProxy    ProxyServiceKind = "StorageClasses"
	IngressClassesProxy    ProxyServiceKind = "IngressClasses"
	PriorityClassesProxy   ProxyServiceKind = "PriorityClasses"
	RuntimeClassesProxy    ProxyServiceKind = "RuntimeClasses"
	PersistentVolumesProxy ProxyServiceKind = "PersistentVolumes"
	TenantProxy            ProxyServiceKind = "Tenant"

	ListOperation   ProxyOperation = "List"
	UpdateOperation ProxyOperation = "Update"
	DeleteOperation ProxyOperation = "Delete"

	UserOwner           OwnerKind = "User"
	GroupOwner          OwnerKind = "Group"
	ServiceAccountOwner OwnerKind = "ServiceAccount"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type AdditionalRoleBindingsSpec

type AdditionalRoleBindingsSpec struct {
	ClusterRoleName string `json:"clusterRoleName"`
	// +kubebuilder:validation:MinItems=1
	Subjects []rbacv1.Subject `json:"subjects"`
	// Additional Labels for the synchronized rolebindings
	Labels map[string]string `json:"labels,omitempty"`
	// Additional Annotations for the synchronized rolebindings
	Annotations map[string]string `json:"annotations,omitempty"`
}

func (*AdditionalRoleBindingsSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdditionalRoleBindingsSpec.

func (*AdditionalRoleBindingsSpec) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AdditionalRoleBindingsWithNamespaceSpec

type AdditionalRoleBindingsWithNamespaceSpec struct {
	AdditionalRoleBindingsSpec `json:",inline"`

	// Target Namespace
	Namespace meta.RFC1123SubdomainName `json:"namespace"`
}

type ByKindAndName

type ByKindAndName OwnerListSpec

func (ByKindAndName) Len

func (b ByKindAndName) Len() int

func (ByKindAndName) Less

func (b ByKindAndName) Less(i, j int) bool

func (ByKindAndName) Swap

func (b ByKindAndName) Swap(i, j int)

type ByKindName

type ByKindName UserListSpec

func (ByKindName) Len

func (b ByKindName) Len() int

func (ByKindName) Less

func (b ByKindName) Less(i, j int) bool

func (ByKindName) Swap

func (b ByKindName) Swap(i, j int)

type CoreOwnerSpec

type CoreOwnerSpec struct {
	UserSpec `json:",inline"`

	// Defines additional cluster-roles for the specific Owner.
	// +kubebuilder:default={admin,capsule-namespace-deleter}
	ClusterRoles []string `json:"clusterRoles,omitempty"`
}

func (*CoreOwnerSpec) DeepCopy

func (in *CoreOwnerSpec) DeepCopy() *CoreOwnerSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CoreOwnerSpec.

func (*CoreOwnerSpec) DeepCopyInto

func (in *CoreOwnerSpec) DeepCopyInto(out *CoreOwnerSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (CoreOwnerSpec) ToAdditionalRolebindings

func (o CoreOwnerSpec) ToAdditionalRolebindings() []AdditionalRoleBindingsSpec

type GetByKindAndName

type GetByKindAndName OwnerStatusListSpec

func (GetByKindAndName) Len

func (b GetByKindAndName) Len() int

func (GetByKindAndName) Less

func (b GetByKindAndName) Less(i, j int) bool

func (GetByKindAndName) Swap

func (b GetByKindAndName) Swap(i, j int)

type GetPromotionByKindNameAndTargets

type GetPromotionByKindNameAndTargets PromotionStatusListSpec

func (GetPromotionByKindNameAndTargets) Len

func (GetPromotionByKindNameAndTargets) Less

func (GetPromotionByKindNameAndTargets) Swap

type OwnerKind

type OwnerKind string

+kubebuilder:validation:Enum=User;Group;ServiceAccount

func (OwnerKind) String

func (k OwnerKind) String() string

type OwnerListSpec

type OwnerListSpec []OwnerSpec

func (OwnerListSpec) DeepCopy

func (in OwnerListSpec) DeepCopy() OwnerListSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OwnerListSpec.

func (OwnerListSpec) DeepCopyInto

func (in OwnerListSpec) DeepCopyInto(out *OwnerListSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (OwnerListSpec) FindOwner

func (o OwnerListSpec) FindOwner(name string, kind OwnerKind) (owner OwnerSpec)

func (OwnerListSpec) IsOwner

func (o OwnerListSpec) IsOwner(name string, groups []string) bool

func (OwnerListSpec) ToStatusOwners

func (o OwnerListSpec) ToStatusOwners() OwnerStatusListSpec

type OwnerSpec

type OwnerSpec struct {
	CoreOwnerSpec `json:",inline"`

	// Proxy settings for tenant owner.
	ProxyOperations []ProxySettings `json:"proxySettings,omitempty"`
	// Additional Labels for the synchronized rolebindings
	Labels map[string]string `json:"labels,omitempty"`
	// Additional Annotations for the synchronized rolebindings
	Annotations map[string]string `json:"annotations,omitempty"`
}

func (*OwnerSpec) DeepCopy

func (in *OwnerSpec) DeepCopy() *OwnerSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OwnerSpec.

func (*OwnerSpec) DeepCopyInto

func (in *OwnerSpec) DeepCopyInto(out *OwnerSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OwnerStatusListSpec

type OwnerStatusListSpec []CoreOwnerSpec

func (OwnerStatusListSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OwnerStatusListSpec.

func (OwnerStatusListSpec) DeepCopyInto

func (in OwnerStatusListSpec) DeepCopyInto(out *OwnerStatusListSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (OwnerStatusListSpec) FindOwner

func (o OwnerStatusListSpec) FindOwner(name string, kind OwnerKind) (CoreOwnerSpec, bool)

func (OwnerStatusListSpec) IsOwner

func (o OwnerStatusListSpec) IsOwner(name string, groups []string) bool

func (*OwnerStatusListSpec) Upsert

func (o *OwnerStatusListSpec) Upsert(
	newOwner CoreOwnerSpec,
)

type PromotionSpec

type PromotionSpec struct {
	UserSpec `json:",inline"`

	// Defines additional cluster-roles for the specific Owner.
	// +kubebuilder:default={admin,capsule-namespace-deleter}
	ClusterRoles []string `json:"clusterRoles,omitempty"`

	// Defines additional cluster-roles for the specific Owner.
	Targets []string `json:"targets,omitempty"`
}

+kubebuilder:object:generate=true

func (*PromotionSpec) DeepCopy

func (in *PromotionSpec) DeepCopy() *PromotionSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PromotionSpec.

func (*PromotionSpec) DeepCopyInto

func (in *PromotionSpec) DeepCopyInto(out *PromotionSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (PromotionSpec) ToAdditionalRolebindings

func (o PromotionSpec) ToAdditionalRolebindings() []AdditionalRoleBindingsWithNamespaceSpec

type PromotionStatusListSpec

type PromotionStatusListSpec []PromotionSpec

func (PromotionStatusListSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PromotionStatusListSpec.

func (PromotionStatusListSpec) DeepCopyInto

func (in PromotionStatusListSpec) DeepCopyInto(out *PromotionStatusListSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (PromotionStatusListSpec) FindUser

func (o PromotionStatusListSpec) FindUser(name string, kind OwnerKind) (PromotionSpec, bool)

func (*PromotionStatusListSpec) Upsert

func (o *PromotionStatusListSpec) Upsert(newPromotion PromotionSpec)

type ProxyOperation

type ProxyOperation string

+kubebuilder:validation:Enum=List;Update;Delete

func (ProxyOperation) String

func (p ProxyOperation) String() string

type ProxyServiceKind

type ProxyServiceKind string

+kubebuilder:validation:Enum=Nodes;StorageClasses;IngressClasses;PriorityClasses;RuntimeClasses;PersistentVolumes

func (ProxyServiceKind) String

func (p ProxyServiceKind) String() string

type ProxySettings

type ProxySettings struct {
	Kind       ProxyServiceKind `json:"kind"`
	Operations []ProxyOperation `json:"operations"`
}

func (*ProxySettings) DeepCopy

func (in *ProxySettings) DeepCopy() *ProxySettings

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxySettings.

func (*ProxySettings) DeepCopyInto

func (in *ProxySettings) DeepCopyInto(out *ProxySettings)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SubjectRoles

type SubjectRoles struct {
	Kind  string
	Name  string
	Roles []string
}

type UserKind

type UserKind string

+kubebuilder:validation:Enum=User;Group;ServiceAccount

func (UserKind) String

func (k UserKind) String() string

type UserListSpec

type UserListSpec []UserSpec

+kubebuilder:object:generate=true

func (UserListSpec) DeepCopy

func (in UserListSpec) DeepCopy() UserListSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserListSpec.

func (UserListSpec) DeepCopyInto

func (in UserListSpec) DeepCopyInto(out *UserListSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (UserListSpec) FindUser

func (o UserListSpec) FindUser(name string, kind OwnerKind) (UserSpec, bool)

func (UserListSpec) GetByKinds

func (o UserListSpec) GetByKinds(kinds []OwnerKind) []string

func (UserListSpec) IsPresent

func (u UserListSpec) IsPresent(name string, groups []string) bool

func (UserListSpec) SplitUsersAndGroups

func (o UserListSpec) SplitUsersAndGroups() (users []string, groups []string)

func (*UserListSpec) Upsert

func (o *UserListSpec) Upsert(newUser UserSpec)

type UserSpec

type UserSpec struct {
	// Kind of entity. Possible values are "User", "Group", and "ServiceAccount"
	Kind OwnerKind `json:"kind"`
	// Name of the entity.
	Name string `json:"name"`
}

+kubebuilder:object:generate=true

func (*UserSpec) DeepCopy

func (in *UserSpec) DeepCopy() *UserSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserSpec.

func (*UserSpec) DeepCopyInto

func (in *UserSpec) DeepCopyInto(out *UserSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (UserSpec) Subject

func (u UserSpec) Subject() (subject rbacv1.Subject)

Jump to

Keyboard shortcuts

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