api

package
v0.12.4 Latest Latest
Warning

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

Go to latest
Published: Dec 19, 2025 License: Apache-2.0 Imports: 14 Imported by: 1

Documentation

Index

Constants

View Source
const (
	// ForbiddenLabelReason used as reason string to deny forbidden labels.
	ForbiddenLabelReason = "ForbiddenLabel"
	// ForbiddenAnnotationReason used as reason string to deny forbidden annotations.
	ForbiddenAnnotationReason = "ForbiddenAnnotation"
)
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"
)
View Source
const (
	ProvisionerRoleName = "capsule-namespace-provisioner"
	DeleterRoleName     = "capsule-namespace-deleter"
)

Variables

View Source
var (
	ClusterRoles = map[string]*rbacv1.ClusterRole{
		ProvisionerRoleName: {
			ObjectMeta: metav1.ObjectMeta{
				Name: ProvisionerRoleName,
			},
			Rules: []rbacv1.PolicyRule{
				{
					APIGroups: []string{""},
					Resources: []string{"namespaces"},
					Verbs:     []string{"create", "patch"},
				},
			},
		},
		DeleterRoleName: {
			ObjectMeta: metav1.ObjectMeta{
				Name: DeleterRoleName,
			},
			Rules: []rbacv1.PolicyRule{
				{
					APIGroups: []string{""},
					Resources: []string{"namespaces"},
					Verbs:     []string{"delete"},
				},
			},
		},
	}

	ProvisionerClusterRoleBinding = &rbacv1.ClusterRoleBinding{
		ObjectMeta: metav1.ObjectMeta{
			Name: ProvisionerRoleName,
		},
		RoleRef: rbacv1.RoleRef{
			Kind:     "ClusterRole",
			Name:     ProvisionerRoleName,
			APIGroup: rbacv1.GroupName,
		},
	}
)

Functions

func NewForbiddenError added in v0.5.0

func NewForbiddenError(key string, forbiddenSpec ForbiddenListSpec) error

func ValidateForbidden added in v0.5.0

func ValidateForbidden(metadata map[string]string, forbiddenList ForbiddenListSpec) error

Types

type AdditionalMetadataSelectorSpec added in v0.9.0

type AdditionalMetadataSelectorSpec struct {
	NamespaceSelector *metav1.LabelSelector `json:"namespaceSelector,omitempty"`

	Labels      map[string]string `json:"labels,omitempty"`
	Annotations map[string]string `json:"annotations,omitempty"`
}

func (*AdditionalMetadataSelectorSpec) DeepCopy added in v0.9.0

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

func (*AdditionalMetadataSelectorSpec) DeepCopyInto added in v0.9.0

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

type AdditionalMetadataSpec

type AdditionalMetadataSpec struct {
	Labels      map[string]string `json:"labels,omitempty"`
	Annotations map[string]string `json:"annotations,omitempty"`
}

func (*AdditionalMetadataSpec) DeepCopy

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

func (*AdditionalMetadataSpec) DeepCopyInto

func (in *AdditionalMetadataSpec) DeepCopyInto(out *AdditionalMetadataSpec)

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

type AdditionalRoleBindingsSpec

type AdditionalRoleBindingsSpec struct {
	ClusterRoleName string `json:"clusterRoleName"`
	// kubebuilder:validation:Minimum=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 AllowedIP

type AllowedIP string

+kubebuilder:validation:Pattern="^([0-9]{1,3}.){3}[0-9]{1,3}(/([0-9]|[1-2][0-9]|3[0-2]))?$"

type AllowedListSpec

type AllowedListSpec struct {
	// Match exact elements which are allowed as class names within this tenant
	Exact []string `json:"allowed,omitempty"`
	// Deprecated: will be removed in a future release
	//
	// Match elements by regex.
	Regex string `json:"allowedRegex,omitempty"`
}

func (*AllowedListSpec) DeepCopy

func (in *AllowedListSpec) DeepCopy() *AllowedListSpec

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

func (*AllowedListSpec) DeepCopyInto

func (in *AllowedListSpec) DeepCopyInto(out *AllowedListSpec)

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

func (*AllowedListSpec) ExactMatch

func (in *AllowedListSpec) ExactMatch(value string) (ok bool)

func (*AllowedListSpec) Match

func (in *AllowedListSpec) Match(value string) (ok bool)

func (*AllowedListSpec) RegexMatch

func (in *AllowedListSpec) RegexMatch(value string) (ok bool)

type AllowedServices

type AllowedServices struct {
	// +kubebuilder:default=true
	// Specifies if NodePort service type resources are allowed for the Tenant. Default is true. Optional.
	NodePort *bool `json:"nodePort,omitempty"`
	// +kubebuilder:default=true
	// Specifies if ExternalName service type resources are allowed for the Tenant. Default is true. Optional.
	ExternalName *bool `json:"externalName,omitempty"`
	// +kubebuilder:default=true
	// Specifies if LoadBalancer service type resources are allowed for the Tenant. Default is true. Optional.
	LoadBalancer *bool `json:"loadBalancer,omitempty"`
}

func (*AllowedServices) DeepCopy

func (in *AllowedServices) DeepCopy() *AllowedServices

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

func (*AllowedServices) DeepCopyInto

func (in *AllowedServices) DeepCopyInto(out *AllowedServices)

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

type ByKindAndName added in v0.12.0

type ByKindAndName OwnerListSpec

func (ByKindAndName) Len added in v0.12.0

func (b ByKindAndName) Len() int

func (ByKindAndName) Less added in v0.12.0

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

func (ByKindAndName) Swap added in v0.12.0

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

type ByKindName added in v0.12.0

type ByKindName UserListSpec

func (ByKindName) Len added in v0.12.0

func (b ByKindName) Len() int

func (ByKindName) Less added in v0.12.0

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

func (ByKindName) Swap added in v0.12.0

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

type CoreOwnerSpec added in v0.12.0

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 added in v0.12.0

func (in *CoreOwnerSpec) DeepCopy() *CoreOwnerSpec

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

func (*CoreOwnerSpec) DeepCopyInto added in v0.12.0

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

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

type DefaultAllowedListSpec

type DefaultAllowedListSpec struct {
	SelectorAllowedListSpec `json:",inline"`

	Default string `json:"default,omitempty"`
}

func (*DefaultAllowedListSpec) DeepCopy

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

func (*DefaultAllowedListSpec) DeepCopyInto

func (in *DefaultAllowedListSpec) DeepCopyInto(out *DefaultAllowedListSpec)

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

func (*DefaultAllowedListSpec) MatchDefault

func (in *DefaultAllowedListSpec) MatchDefault(value string) bool

type ExternalServiceIPsSpec

type ExternalServiceIPsSpec struct {
	Allowed []AllowedIP `json:"allowed"`
}

func (*ExternalServiceIPsSpec) DeepCopy

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

func (*ExternalServiceIPsSpec) DeepCopyInto

func (in *ExternalServiceIPsSpec) DeepCopyInto(out *ExternalServiceIPsSpec)

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

type ForbiddenError added in v0.5.0

type ForbiddenError struct {
	// contains filtered or unexported fields
}

func (ForbiddenError) Error added in v0.5.0

func (f ForbiddenError) Error() string

type ForbiddenListSpec

type ForbiddenListSpec struct {
	Exact []string `json:"denied,omitempty"`
	Regex string   `json:"deniedRegex,omitempty"`
}

+kubebuilder:object:generate=true

func (*ForbiddenListSpec) DeepCopy

func (in *ForbiddenListSpec) DeepCopy() *ForbiddenListSpec

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

func (*ForbiddenListSpec) DeepCopyInto

func (in *ForbiddenListSpec) DeepCopyInto(out *ForbiddenListSpec)

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

func (ForbiddenListSpec) ExactMatch

func (in ForbiddenListSpec) ExactMatch(value string) (ok bool)

func (ForbiddenListSpec) RegexMatch

func (in ForbiddenListSpec) RegexMatch(value string) (ok bool)

type GetByKindAndName added in v0.12.0

type GetByKindAndName OwnerStatusListSpec

func (GetByKindAndName) Len added in v0.12.0

func (b GetByKindAndName) Len() int

func (GetByKindAndName) Less added in v0.12.0

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

func (GetByKindAndName) Swap added in v0.12.0

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

type HostnameCollisionScope

type HostnameCollisionScope string

+kubebuilder:validation:Enum=Cluster;Tenant;Namespace;Disabled

const (
	HostnameCollisionScopeCluster   HostnameCollisionScope = "Cluster"
	HostnameCollisionScopeTenant    HostnameCollisionScope = "Tenant"
	HostnameCollisionScopeNamespace HostnameCollisionScope = "Namespace"
	HostnameCollisionScopeDisabled  HostnameCollisionScope = "Disabled"
)

type ImagePullPolicySpec

type ImagePullPolicySpec string

+kubebuilder:validation:Enum=Always;Never;IfNotPresent

func (ImagePullPolicySpec) String

func (i ImagePullPolicySpec) String() string

type LimitRangesSpec

type LimitRangesSpec struct {
	Items []corev1.LimitRangeSpec `json:"items,omitempty"`
}

func (*LimitRangesSpec) DeepCopy

func (in *LimitRangesSpec) DeepCopy() *LimitRangesSpec

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

func (*LimitRangesSpec) DeepCopyInto

func (in *LimitRangesSpec) DeepCopyInto(out *LimitRangesSpec)

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

type Name added in v0.10.0

type Name string

Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names +kubebuilder:validation:Pattern=`^[a-z0-9]([-a-z0-9]*[a-z0-9])?$` +kubebuilder:validation:MaxLength=253 +kubebuilder:object:generate=true

func (Name) String added in v0.10.0

func (n Name) String() string

type NetworkPolicySpec

type NetworkPolicySpec struct {
	Items []networkingv1.NetworkPolicySpec `json:"items,omitempty"`
}

func (*NetworkPolicySpec) DeepCopy

func (in *NetworkPolicySpec) DeepCopy() *NetworkPolicySpec

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

func (*NetworkPolicySpec) DeepCopyInto

func (in *NetworkPolicySpec) DeepCopyInto(out *NetworkPolicySpec)

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

type OwnerKind added in v0.12.0

type OwnerKind string

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

func (OwnerKind) String added in v0.12.0

func (k OwnerKind) String() string

type OwnerListSpec added in v0.12.0

type OwnerListSpec []OwnerSpec

func (OwnerListSpec) DeepCopy added in v0.12.0

func (in OwnerListSpec) DeepCopy() OwnerListSpec

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

func (OwnerListSpec) DeepCopyInto added in v0.12.0

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 added in v0.12.0

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

func (OwnerListSpec) IsOwner added in v0.12.0

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

func (OwnerListSpec) ToStatusOwners added in v0.12.0

func (o OwnerListSpec) ToStatusOwners() OwnerStatusListSpec

type OwnerSpec added in v0.12.0

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 added in v0.12.0

func (in *OwnerSpec) DeepCopy() *OwnerSpec

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

func (*OwnerSpec) DeepCopyInto added in v0.12.0

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 added in v0.12.0

type OwnerStatusListSpec []CoreOwnerSpec

func (OwnerStatusListSpec) DeepCopy added in v0.12.0

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

func (OwnerStatusListSpec) DeepCopyInto added in v0.12.0

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 added in v0.12.0

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

func (OwnerStatusListSpec) IsOwner added in v0.12.0

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

func (*OwnerStatusListSpec) Upsert added in v0.12.0

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

type PodOptions added in v0.5.0

type PodOptions struct {
	// Specifies additional labels and annotations the Capsule operator places on any Pod resource in the Tenant. Optional.
	AdditionalMetadata *AdditionalMetadataSpec `json:"additionalMetadata,omitempty"`
}

func (*PodOptions) DeepCopy added in v0.5.0

func (in *PodOptions) DeepCopy() *PodOptions

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

func (*PodOptions) DeepCopyInto added in v0.5.0

func (in *PodOptions) DeepCopyInto(out *PodOptions)

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

type PoolExhaustionResource added in v0.10.1

type PoolExhaustionResource struct {
	// Available Resources to be claimed
	// +optional
	Available resource.Quantity `json:"available,omitzero"`
	// Requesting Resources
	// +optional
	Requesting resource.Quantity `json:"requesting,omitzero"`
}

+kubebuilder:object:generate=true

func (*PoolExhaustionResource) DeepCopy added in v0.10.1

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

func (*PoolExhaustionResource) DeepCopyInto added in v0.10.1

func (in *PoolExhaustionResource) DeepCopyInto(out *PoolExhaustionResource)

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

type ProxyOperation added in v0.12.0

type ProxyOperation string

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

func (ProxyOperation) String added in v0.12.0

func (p ProxyOperation) String() string

type ProxyServiceKind added in v0.12.0

type ProxyServiceKind string

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

func (ProxyServiceKind) String added in v0.12.0

func (p ProxyServiceKind) String() string

type ProxySettings added in v0.12.0

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

func (*ProxySettings) DeepCopy added in v0.12.0

func (in *ProxySettings) DeepCopy() *ProxySettings

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

func (*ProxySettings) DeepCopyInto added in v0.12.0

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

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

type ResourceQuotaScope

type ResourceQuotaScope string

+kubebuilder:validation:Enum=Tenant;Namespace

const (
	ResourceQuotaScopeTenant    ResourceQuotaScope = "Tenant"
	ResourceQuotaScopeNamespace ResourceQuotaScope = "Namespace"
)

type ResourceQuotaSpec

type ResourceQuotaSpec struct {
	// +kubebuilder:default=Tenant
	// Define if the Resource Budget should compute resource across all Namespaces in the Tenant or individually per cluster. Default is Tenant
	Scope ResourceQuotaScope         `json:"scope,omitempty"`
	Items []corev1.ResourceQuotaSpec `json:"items,omitempty"`
}

func (*ResourceQuotaSpec) DeepCopy

func (in *ResourceQuotaSpec) DeepCopy() *ResourceQuotaSpec

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

func (*ResourceQuotaSpec) DeepCopyInto

func (in *ResourceQuotaSpec) DeepCopyInto(out *ResourceQuotaSpec)

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

type SelectionListWithDefaultSpec added in v0.10.0

type SelectionListWithDefaultSpec struct {
	SelectionListWithSpec `json:",inline"`

	// Default class for tenant, when no class is set. This may overwrite even the global default.
	Default string `json:"default,omitempty"`
}

+kubebuilder:object:generate=true

func (*SelectionListWithDefaultSpec) DeepCopy added in v0.10.0

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

func (*SelectionListWithDefaultSpec) DeepCopyInto added in v0.10.0

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

func (*SelectionListWithDefaultSpec) MatchDefault added in v0.10.0

func (in *SelectionListWithDefaultSpec) MatchDefault(value string) bool

type SelectionListWithSpec added in v0.10.0

type SelectionListWithSpec struct {
	metav1.LabelSelector `json:",inline"`
}

func (*SelectionListWithSpec) DeepCopy added in v0.10.0

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

func (*SelectionListWithSpec) DeepCopyInto added in v0.10.0

func (in *SelectionListWithSpec) DeepCopyInto(out *SelectionListWithSpec)

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

func (*SelectionListWithSpec) SelectorMatch added in v0.10.0

func (in *SelectionListWithSpec) SelectorMatch(obj client.Object) bool

type SelectorAllowedListSpec

type SelectorAllowedListSpec struct {
	AllowedListSpec      `json:",inline"`
	metav1.LabelSelector `json:",inline"`
}

func (*SelectorAllowedListSpec) DeepCopy

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

func (*SelectorAllowedListSpec) DeepCopyInto

func (in *SelectorAllowedListSpec) DeepCopyInto(out *SelectorAllowedListSpec)

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

func (*SelectorAllowedListSpec) MatchSelectByName

func (in *SelectorAllowedListSpec) MatchSelectByName(obj client.Object) bool

func (*SelectorAllowedListSpec) SelectorMatch

func (in *SelectorAllowedListSpec) SelectorMatch(obj client.Object) bool

type ServiceOptions

type ServiceOptions struct {
	// Specifies additional labels and annotations the Capsule operator places on any Service resource in the Tenant. Optional.
	AdditionalMetadata *AdditionalMetadataSpec `json:"additionalMetadata,omitempty"`
	// Block or deny certain type of Services. Optional.
	AllowedServices *AllowedServices `json:"allowedServices,omitempty"`
	// Specifies the external IPs that can be used in Services with type ClusterIP. An empty list means no IPs are allowed. Optional.
	ExternalServiceIPs *ExternalServiceIPsSpec `json:"externalIPs,omitempty"`
	// Define the labels that a Tenant Owner cannot set for their Service resources.
	// +optional
	ForbiddenLabels ForbiddenListSpec `json:"forbiddenLabels,omitzero"`
	// Define the annotations that a Tenant Owner cannot set for their Service resources.
	// +optional
	ForbiddenAnnotations ForbiddenListSpec `json:"forbiddenAnnotations,omitzero"`
}

func (*ServiceOptions) DeepCopy

func (in *ServiceOptions) DeepCopy() *ServiceOptions

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

func (*ServiceOptions) DeepCopyInto

func (in *ServiceOptions) DeepCopyInto(out *ServiceOptions)

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

type StatusNameUID added in v0.10.0

type StatusNameUID struct {
	// UID of the tracked Tenant to pin point tracking
	k8stypes.UID `json:"uid,omitempty" protobuf:"bytes,5,opt,name=uid"`

	// Name
	Name Name `json:"name,omitempty"`
	// Namespace
	Namespace Name `json:"namespace,omitempty"`
}

type Tenant

type Tenant interface {
	GetNamespaces() []string
}

type TenantSubjectRoles added in v0.7.2

type TenantSubjectRoles struct {
	Kind         string
	Name         string
	ClusterRoles []string
}

Type to extract all clusterroles for a subject on a tenant from the owner and additionalRoleBindings spec.

type UserKind added in v0.12.0

type UserKind string

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

func (UserKind) String added in v0.12.0

func (k UserKind) String() string

type UserListSpec added in v0.12.0

type UserListSpec []UserSpec

+kubebuilder:object:generate=true

func (UserListSpec) DeepCopy added in v0.12.0

func (in UserListSpec) DeepCopy() UserListSpec

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

func (UserListSpec) DeepCopyInto added in v0.12.0

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 added in v0.12.0

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

func (UserListSpec) GetByKinds added in v0.12.0

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

func (UserListSpec) IsPresent added in v0.12.0

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

type UserSpec added in v0.12.0

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 added in v0.12.0

func (in *UserSpec) DeepCopy() *UserSpec

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

func (*UserSpec) DeepCopyInto added in v0.12.0

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

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

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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