api

package
v0.13.4 Latest Latest
Warning

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

Go to latest
Published: Jun 5, 2026 License: Apache-2.0 Imports: 11 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

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

type NamespaceRuleBodyNamespace struct {
	// Enforcement for given rule
	//+optional
	Enforce NamespaceRuleEnforceBody `json:"enforce,omitzero"`
}

For future implementation where users might manage RuleStatus CRs themselves +kubebuilder:object:generate=true

func (*NamespaceRuleBodyNamespace) DeepCopy added in v0.13.0

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

func (*NamespaceRuleBodyNamespace) DeepCopyInto added in v0.13.0

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

type NamespaceRuleBodyTenant added in v0.13.0

type NamespaceRuleBodyTenant struct {
	NamespaceRuleBodyNamespace `json:",inline"`

	// Select namespaces which are going to be targeted with this rule
	NamespaceSelector *metav1.LabelSelector `json:"namespaceSelector,omitempty"`

	// Permissions for given rule
	//+optional
	Permissions NamespaceRulePermissionBody `json:"permissions,omitzero"`
}

Rules Distributed via Tenants +kubebuilder:object:generate=true

func (*NamespaceRuleBodyTenant) DeepCopy added in v0.13.0

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

func (*NamespaceRuleBodyTenant) DeepCopyInto added in v0.13.0

func (in *NamespaceRuleBodyTenant) DeepCopyInto(out *NamespaceRuleBodyTenant)

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

type NamespaceRuleEnforceBody added in v0.13.0

type NamespaceRuleEnforceBody struct {
	// Define registries which are allowed to be used within this tenant
	// The rules are aggregated, since you can use Regular Expressions the match registry endpoints
	Registries []OCIRegistry `json:"registries,omitempty"`
}

+kubebuilder:object:generate=true

func (*NamespaceRuleEnforceBody) DeepCopy added in v0.13.0

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

func (*NamespaceRuleEnforceBody) DeepCopyInto added in v0.13.0

func (in *NamespaceRuleEnforceBody) DeepCopyInto(out *NamespaceRuleEnforceBody)

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

type NamespaceRulePermissionBody added in v0.13.0

type NamespaceRulePermissionBody struct {
	// Define Promotion Rules which distributed additional ClusterRoles across the Tenant
	// for promoted ServiceAccounts.
	Promotions []*NamespaceRulePromotionRule `json:"rules,omitempty"`
}

+kubebuilder:object:generate=true

func (*NamespaceRulePermissionBody) DeepCopy added in v0.13.0

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

func (*NamespaceRulePermissionBody) DeepCopyInto added in v0.13.0

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

type NamespaceRulePromotionRule added in v0.13.0

type NamespaceRulePromotionRule struct {
	// ClusterRoles granted to the promoted ServiceAccounts across the Tenant
	// kubebuilder:validation:Minimum=1
	ClusterRoles []string `json:"clusterRoles,omitempty"`

	// Match ServiceAccounts which are promoted which are granted these additional ClusterRoles
	// across the Tenant
	Selector *metav1.LabelSelector `json:"selector,omitempty"`
}

+kubebuilder:object:generate=true

func (*NamespaceRulePromotionRule) DeepCopy added in v0.13.0

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

func (*NamespaceRulePromotionRule) DeepCopyInto added in v0.13.0

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

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

type OCIRegistry struct {
	// OCI Registry endpoint, is treated as regular expression.
	Registry string `json:"url,omitzero"`

	// Allowed PullPolicy for the given registry. Supplying no value allows all policies.
	// +optional
	// +kubebuilder:validation:Items:Enum=Always;Never;IfNotPresent
	Policy []corev1.PullPolicy `json:"policy,omitempty"`

	// Requesting Resources
	//+kubebuilder:default:={pod/images,pod/volumes}
	Validation []RegistryValidationTarget `json:"validation,omitempty"`
}

+kubebuilder:object:generate=true

func (*OCIRegistry) DeepCopy added in v0.13.0

func (in *OCIRegistry) DeepCopy() *OCIRegistry

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

func (*OCIRegistry) DeepCopyInto added in v0.13.0

func (in *OCIRegistry) DeepCopyInto(out *OCIRegistry)

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

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

type RegistryValidationTarget string

+kubebuilder:validation:Enum=pod/images;pod/volumes

const (
	ValidateImages  RegistryValidationTarget = "pod/images"
	ValidateVolumes RegistryValidationTarget = "pod/volumes"
)

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

type ResourceScope string

+kubebuilder:validation:Enum=Namespace;Tenant;None

const (
	ResourceScopeNamespace ResourceScope = "Namespace"
	ResourceScopeTenant    ResourceScope = "Tenant"
	ResourceScopeNone      ResourceScope = "None"
)

func (ResourceScope) String added in v0.13.0

func (p ResourceScope) String() string

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 Tenant

type Tenant interface {
	GetNamespaces() []string
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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