v1alpha

package
v1.3.0 Latest Latest
Warning

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

Go to latest
Published: Jun 14, 2023 License: Apache-2.0 Imports: 5 Imported by: 10

Documentation

Overview

+k8s:deepcopy-gen=package +k8s:defaulter-gen=TypeMeta +groupName=rbacsync.getcruise.com +groupGoName=RBACSync

Index

Constants

This section is empty.

Variables

View Source
var (
	SchemeBuilder runtime.SchemeBuilder

	AddToScheme = localSchemeBuilder.AddToScheme
)
View Source
var SchemeGroupVersion = schema.GroupVersion{Group: rbacsync.GroupName, Version: "v1alpha"}

Functions

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource

Types

type Binding

type Binding struct {
	Group   string         `json:"group,omitempty"`
	RoleRef rbacv1.RoleRef `json:"roleRef,omitempty"`
}

Binding is the central definition for the RBACSyncConfig and ClusterRBACSyncConfig. It maps a group to a RoleRef. The RoleRef will be combined with the subjects resolved in the group to assemble the RoleBinding or ClusterRoleBinding.

func (*Binding) DeepCopy

func (in *Binding) DeepCopy() *Binding

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

func (*Binding) DeepCopyInto

func (in *Binding) DeepCopyInto(out *Binding)

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

type ClusterRBACSyncConfig

type ClusterRBACSyncConfig struct {
	// +optional
	metav1.TypeMeta `json:",inline"`

	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`

	Spec   Spec   `json:"spec"`
	Status Status `json:"status,omitempty"`
}

ClusterRBACSyncConfig configures the behavior of the rbac sync process.

All bindings created from this object will be ClusterRoleBindings that reference cluster-wide roles.

This type is nearly identical to RBACSyncConfig, except it is not namespaced.

func (*ClusterRBACSyncConfig) DeepCopy

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

func (*ClusterRBACSyncConfig) DeepCopyInto

func (in *ClusterRBACSyncConfig) DeepCopyInto(out *ClusterRBACSyncConfig)

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

func (*ClusterRBACSyncConfig) DeepCopyObject

func (in *ClusterRBACSyncConfig) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ClusterRBACSyncConfigList

type ClusterRBACSyncConfigList struct {
	// +optional
	metav1.TypeMeta `json:",inline"`

	// +optional
	metav1.ListMeta `json:"metadata"`

	Items []ClusterRBACSyncConfig `json:"items"`
}

ClusterRBACSyncConfigList is a list of ClusterRBACSyncConfigs

func (*ClusterRBACSyncConfigList) DeepCopy

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

func (*ClusterRBACSyncConfigList) DeepCopyInto

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

func (*ClusterRBACSyncConfigList) DeepCopyObject

func (in *ClusterRBACSyncConfigList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type Membership

type Membership struct {
	Group    string           `json:"group,omitempty"`
	Subjects []rbacv1.Subject `json:"subjects,omitempty"`
}

Membership describes a group and its set of members.

Memberships can be used to declare groups that are not part of the upstream or to add supplemental members to an upstream group.

func (*Membership) DeepCopy

func (in *Membership) DeepCopy() *Membership

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

func (*Membership) DeepCopyInto

func (in *Membership) DeepCopyInto(out *Membership)

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

type RBACSyncConfig

type RBACSyncConfig struct {
	// +optional
	metav1.TypeMeta `json:",inline"`

	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`

	Spec   Spec   `json:"spec"`
	Status Status `json:"status,omitempty"`
}

RBACSyncConfig configures the behavior of the rbac sync process.

RBACSyncConfig should reference only RoleBindings in group specs. In group specs that don't use RoleRefs, such as those referencing Google groups, only RoleBindings will be created.

The RoleBindings created by this configuration will be bound to the same namespace as the configuration.

func (*RBACSyncConfig) DeepCopy

func (in *RBACSyncConfig) DeepCopy() *RBACSyncConfig

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

func (*RBACSyncConfig) DeepCopyInto

func (in *RBACSyncConfig) DeepCopyInto(out *RBACSyncConfig)

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

func (*RBACSyncConfig) DeepCopyObject

func (in *RBACSyncConfig) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type RBACSyncConfigList

type RBACSyncConfigList struct {
	// +optional
	metav1.TypeMeta `json:",inline"`

	// +optional
	metav1.ListMeta `json:"metadata"`

	Items []RBACSyncConfig `json:"items"`
}

RBACSyncConfigList is a list of RBACSyncConfigs

func (*RBACSyncConfigList) DeepCopy

func (in *RBACSyncConfigList) DeepCopy() *RBACSyncConfigList

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

func (*RBACSyncConfigList) DeepCopyInto

func (in *RBACSyncConfigList) DeepCopyInto(out *RBACSyncConfigList)

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

func (*RBACSyncConfigList) DeepCopyObject

func (in *RBACSyncConfigList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type Spec

type Spec struct {
	// Bindings declare a group name and a role ref. Each binding declared here
	// will result in the creation of a RoleBinding or ClusterRoleBinding,
	// depending on whether this spec is namespaced or cluster scoped.
	//
	// Groups referenced here may be part of an upstream or defined in
	// memberships. If they are available in both, the subjects will be merged.
	Bindings []Binding `json:"bindings,omitempty"`

	// Memberships provides a set groups that are statically configured as part
	// this config.
	//
	// Subjects referenced here may be declared to add supplemental members of
	// upstream groups or to declare groups that aren't part of the upstream.
	//
	// If these overlap with an upstream group definition, such as in gsuite,
	// the members will be merged.
	Memberships []Membership `json:"memberships,omitempty"`
}

func (*Spec) DeepCopy

func (in *Spec) DeepCopy() *Spec

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

func (*Spec) DeepCopyInto

func (in *Spec) DeepCopyInto(out *Spec)

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

type Status

type Status struct {
}

func (*Status) DeepCopy

func (in *Status) DeepCopy() *Status

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

func (*Status) DeepCopyInto

func (in *Status) DeepCopyInto(out *Status)

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

Jump to

Keyboard shortcuts

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