Documentation ¶
Overview ¶
+k8s:deepcopy-gen=package +k8s:defaulter-gen=TypeMeta +groupName=rbacsync.getcruise.com +groupGoName=RBACSync
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ( SchemeBuilder runtime.SchemeBuilder AddToScheme = localSchemeBuilder.AddToScheme )
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Binding.
func (*Binding) DeepCopyInto ¶
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 ¶
func (in *ClusterRBACSyncConfig) DeepCopy() *ClusterRBACSyncConfig
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 ¶
func (in *ClusterRBACSyncConfigList) DeepCopy() *ClusterRBACSyncConfigList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterRBACSyncConfigList.
func (*ClusterRBACSyncConfigList) DeepCopyInto ¶
func (in *ClusterRBACSyncConfigList) DeepCopyInto(out *ClusterRBACSyncConfigList)
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Spec.
func (*Spec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.