Documentation
¶
Overview ¶
Package v1alpha2 contains API Schema definitions for the iam v1alpha2 API group +k8s:openapi-gen=true +k8s:deepcopy-gen=package,register +k8s:conversion-gen=kubesphere.io/api/iam +k8s:defaulter-gen=TypeMeta +groupName=iam.kubesphere.io
Package v1alpha2 contains API Schema definitions for the iam v1alpha2 API group +k8s:openapi-gen=true +kubebuilder:object:generate=true +groupName=iam.kubesphere.io
Index ¶
- Constants
- Variables
- func Resource(resource string) schema.GroupResource
- type FinalizerName
- type GlobalRole
- type GlobalRoleBinding
- type GlobalRoleBindingList
- type GlobalRoleList
- type LLdapProvider
- type ObjectRef
- type ObjectRefKind
- type RoleBase
- type RoleBaseList
- type Sync
- type SyncList
- type SyncSpec
- type User
- type UserList
- type UserSpec
- type UserState
- type UserStatus
Constants ¶
const ( ResourceKindUser = "User" ResourcesSingularUser = "user" ResourcesPluralUser = "users" ResourceKindGlobalRoleBinding = "GlobalRoleBinding" ResourcesSingularGlobalRoleBinding = "globalrolebinding" ResourcesPluralGlobalRoleBinding = "globalrolebindings" ResourceKindClusterRoleBinding = "ClusterRoleBinding" ResourcesSingularClusterRoleBinding = "clusterrolebinding" ResourcesPluralClusterRoleBinding = "clusterrolebindings" ResourceKindRoleBinding = "RoleBinding" ResourcesSingularRoleBinding = "rolebinding" ResourcesPluralRoleBinding = "rolebindings" ResourceKindGlobalRole = "GlobalRole" ResourcesSingularGlobalRole = "globalrole" ResourcesPluralGlobalRole = "globalroles" ResourceKindWorkspaceRoleBinding = "WorkspaceRoleBinding" ResourcesSingularWorkspaceRoleBinding = "workspacerolebinding" ResourcesPluralWorkspaceRoleBinding = "workspacerolebindings" ResourceKindWorkspaceRole = "WorkspaceRole" ResourcesSingularWorkspaceRole = "workspacerole" ResourcesPluralWorkspaceRole = "workspaceroles" ResourceKindClusterRole = "ClusterRole" ResourcesSingularClusterRole = "clusterrole" ResourcesPluralClusterRole = "clusterroles" ResourceKindRole = "Role" ResourcesSingularRole = "role" ResourcesPluralRole = "roles" RegoOverrideAnnotation = "iam.kubesphere.io/rego-override" AggregationRolesAnnotation = "iam.kubesphere.io/aggregation-roles" GlobalRoleAnnotation = "iam.kubesphere.io/globalrole" WorkspaceRoleAnnotation = "iam.kubesphere.io/workspacerole" ClusterRoleAnnotation = "iam.kubesphere.io/clusterrole" GrantedClustersAnnotation = "iam.kubesphere.io/granted-clusters" UninitializedAnnotation = "iam.kubesphere.io/uninitialized" LastPasswordChangeTimeAnnotation = "iam.kubesphere.io/last-password-change-time" RoleAnnotation = "iam.kubesphere.io/role" RoleTemplateLabel = "iam.kubesphere.io/role-template" ScopeLabelFormat = "scope.kubesphere.io/%s" UserReferenceLabel = "iam.kubesphere.io/user-ref" IdentifyProviderLabel = "iam.kubesphere.io/identify-provider" OriginUIDLabel = "iam.kubesphere.io/origin-uid" ServiceAccountReferenceLabel = "iam.kubesphere.io/serviceaccount-ref" FieldEmail = "email" ExtraEmail = FieldEmail ExtraIdentityProvider = "idp" ExtraUID = "uid" ExtraUsername = "username" ExtraDisplayName = "displayName" ExtraUninitialized = "uninitialized" InGroup = "ingroup" NotInGroup = "notingroup" AggregateTo = "aggregateTo" ScopeWorkspace = "workspace" ScopeCluster = "cluster" ScopeNamespace = "namespace" ScopeDevOps = "devops" PlatformAdmin = "platform-admin" NamespaceAdmin = "admin" ClusterAdmin = "cluster-admin" PreRegistrationUser = "system:pre-registration" PreRegistrationUserGroup = "pre-registration" )
const (
SecretObjectRefKind = "Secret"
)
Variables ¶
var ( // SchemeGroupVersion is group version used to register these objects SchemeGroupVersion = schema.GroupVersion{Group: "iam.kubesphere.io", Version: "v1alpha2"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) // AddToScheme is required by pkg/client/... AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource is required by pkg/client/listers/...
Types ¶
type FinalizerName ¶
type FinalizerName string
type GlobalRole ¶
type GlobalRole struct {
metav1.TypeMeta `json:",inline"`
// +optional
metav1.ObjectMeta `json:"metadata,omitempty"`
// Rules holds all the PolicyRules for this GlobalRole
// +optional
Rules []rbacv1.PolicyRule `json:"rules" protobuf:"bytes,2,rep,name=rules"`
}
func (*GlobalRole) DeepCopy ¶
func (in *GlobalRole) DeepCopy() *GlobalRole
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalRole.
func (*GlobalRole) DeepCopyInto ¶
func (in *GlobalRole) DeepCopyInto(out *GlobalRole)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GlobalRole) DeepCopyObject ¶
func (in *GlobalRole) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type GlobalRoleBinding ¶
type GlobalRoleBinding struct {
metav1.TypeMeta `json:",inline"`
// +optional
metav1.ObjectMeta `json:"metadata,omitempty"`
// Subjects holds references to the objects the role applies to.
// +optional
Subjects []rbacv1.Subject `json:"subjects,omitempty" protobuf:"bytes,2,rep,name=subjects"`
// RoleRef can only reference a GlobalRole.
// If the RoleRef cannot be resolved, the Authorizer must return an error.
RoleRef rbacv1.RoleRef `json:"roleRef" protobuf:"bytes,3,opt,name=roleRef"`
}
GlobalRoleBinding is the Schema for the globalrolebindings API
func (*GlobalRoleBinding) DeepCopy ¶
func (in *GlobalRoleBinding) DeepCopy() *GlobalRoleBinding
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalRoleBinding.
func (*GlobalRoleBinding) DeepCopyInto ¶
func (in *GlobalRoleBinding) DeepCopyInto(out *GlobalRoleBinding)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GlobalRoleBinding) DeepCopyObject ¶
func (in *GlobalRoleBinding) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type GlobalRoleBindingList ¶
type GlobalRoleBindingList struct {
metav1.TypeMeta `json:",inline"`
// Standard object's metadata.
// +optional
metav1.ListMeta `json:"metadata,omitempty"`
Items []GlobalRoleBinding `json:"items"`
}
GlobalRoleBindingList contains a list of GlobalRoleBinding
func (*GlobalRoleBindingList) DeepCopy ¶
func (in *GlobalRoleBindingList) DeepCopy() *GlobalRoleBindingList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalRoleBindingList.
func (*GlobalRoleBindingList) DeepCopyInto ¶
func (in *GlobalRoleBindingList) DeepCopyInto(out *GlobalRoleBindingList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GlobalRoleBindingList) DeepCopyObject ¶
func (in *GlobalRoleBindingList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type GlobalRoleList ¶
type GlobalRoleList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []GlobalRole `json:"items"`
}
GlobalRoleList contains a list of GlobalRole
func (*GlobalRoleList) DeepCopy ¶
func (in *GlobalRoleList) DeepCopy() *GlobalRoleList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalRoleList.
func (*GlobalRoleList) DeepCopyInto ¶
func (in *GlobalRoleList) DeepCopyInto(out *GlobalRoleList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GlobalRoleList) DeepCopyObject ¶
func (in *GlobalRoleList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type LLdapProvider ¶
type LLdapProvider struct {
Name string `json:"name"`
URL string `json:"url"`
CredentialsSecret *ObjectRef `json:"credentialsSecret"`
GroupWhitelist []string `json:"groupWhitelist,omitempty"`
UserBlacklist []string `json:"userBlacklist,omitempty"`
}
func (*LLdapProvider) DeepCopy ¶
func (in *LLdapProvider) DeepCopy() *LLdapProvider
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LLdapProvider.
func (*LLdapProvider) DeepCopyInto ¶
func (in *LLdapProvider) DeepCopyInto(out *LLdapProvider)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ObjectRef ¶
type ObjectRef struct {
Name string `json:"name"`
Namespace string `json:"namespace"`
Kind ObjectRefKind `json:"kind"`
}
func (*ObjectRef) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectRef.
func (*ObjectRef) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ObjectRefKind ¶
type ObjectRefKind string
type RoleBase ¶
type RoleBase struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
// +kubebuilder:pruning:PreserveUnknownFields
// +kubebuilder:validation:EmbeddedResource
Role runtime.RawExtension `json:"role"`
}
func (*RoleBase) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RoleBase.
func (*RoleBase) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RoleBase) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type RoleBaseList ¶
type RoleBaseList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []RoleBase `json:"items"`
}
RoleBaseList contains a list of RoleBase
func (*RoleBaseList) DeepCopy ¶
func (in *RoleBaseList) DeepCopy() *RoleBaseList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RoleBaseList.
func (*RoleBaseList) DeepCopyInto ¶
func (in *RoleBaseList) DeepCopyInto(out *RoleBaseList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RoleBaseList) DeepCopyObject ¶
func (in *RoleBaseList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type Sync ¶
type Sync struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec SyncSpec `json:"spec,omitempty"`
}
Sync is the Schema for the sync API
func (*Sync) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Sync.
func (*Sync) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Sync) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type SyncList ¶
type SyncList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Sync `json:"items"`
}
SyncList contains a list of Sync
func (*SyncList) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SyncList.
func (*SyncList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SyncList) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type SyncSpec ¶
type SyncSpec struct {
LLdap *LLdapProvider `json:"lldap"`
}
SyncSpec defines the desired state of Sync
func (*SyncSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SyncSpec.
func (*SyncSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type User ¶
type User struct {
metav1.TypeMeta `json:",inline"`
// +optional
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec UserSpec `json:"spec"`
// +optional
Status UserStatus `json:"status,omitempty"`
}
User is the Schema for the users API +kubebuilder:printcolumn:name="Email",type="string",JSONPath=".spec.email" +kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.state" +kubebuilder:resource:categories="iam",scope="Cluster" +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*User) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new User.
func (*User) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*User) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type UserList ¶
type UserList struct {
metav1.TypeMeta `json:",inline"`
// Standard object's metadata.
// +optional
metav1.ListMeta `json:"metadata,omitempty"`
Items []User `json:"items"`
}
UserList contains a list of User
func (*UserList) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserList.
func (*UserList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*UserList) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type UserSpec ¶
type UserSpec struct {
// Unique email address(https://www.ietf.org/rfc/rfc5322.txt).
Email string `json:"email"`
// InitialPassword only for the first user that need sync from here to lldap
// +optional
InitialPassword string `json:"initialPassword,omitempty"`
// The preferred written or spoken language for the user.
// +optional
Lang string `json:"lang,omitempty"`
// Description of the user.
// +optional
Description string `json:"description,omitempty"`
// +optional
DisplayName string `json:"displayName,omitempty"`
// +optional
Groups []string `json:"groups,omitempty"`
}
UserSpec defines the desired state of User
func (*UserSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserSpec.
func (*UserSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type UserState ¶
type UserState string
const ( // UserActive means the user is available. UserActive UserState = "Active" // UserDisabled means the user is disabled. UserDisabled UserState = "Disabled" // UserAuthLimitExceeded means restrict user login. UserAuthLimitExceeded UserState = "AuthLimitExceeded" AuthenticatedSuccessfully = "authenticated successfully" )
These are the valid phases of a user.
type UserStatus ¶
type UserStatus struct {
// The user status
// +optional
State UserState `json:"state,omitempty"`
// +optional
Reason string `json:"reason,omitempty"`
// +optional
LastTransitionTime *metav1.Time `json:"lastTransitionTime,omitempty"`
// Last login attempt timestamp
// +optional
LastLoginTime *metav1.Time `json:"lastLoginTime,omitempty"`
}
UserStatus defines the observed state of User
func (*UserStatus) DeepCopy ¶
func (in *UserStatus) DeepCopy() *UserStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserStatus.
func (*UserStatus) DeepCopyInto ¶
func (in *UserStatus) DeepCopyInto(out *UserStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.