Documentation
¶
Index ¶
- func NewForbiddenError(key string, forbiddenSpec ForbiddenListSpec) error
- func ValidateForbidden(metadata map[string]string, forbiddenList ForbiddenListSpec) error
- type AdditionalMetadataSelectorSpec
- type AdditionalMetadataSpec
- type AllowedIP
- type AllowedListSpec
- type AllowedServices
- type DefaultAllowedListSpec
- type ExpressionMatch
- type ExpressionRegex
- type ExpressionRegexMatcher
- type ExternalServiceIPsSpec
- type ForbiddenError
- type ForbiddenListSpec
- type HostnameCollisionScope
- type ImagePullPolicySpec
- type LimitRangesSpec
- type NetworkPolicySpec
- type OCIRegistry
- type PodOptions
- type PoolExhaustionResource
- type RegistryValidationTarget
- type ResourceQuotaScope
- type ResourceQuotaSpec
- type ResourceScope
- type SelectionListWithDefaultSpec
- type SelectionListWithSpec
- type SelectorAllowedListSpec
- type ServiceOptions
- type Tenant
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
func (in *AdditionalMetadataSelectorSpec) DeepCopy() *AdditionalMetadataSelectorSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdditionalMetadataSelectorSpec.
func (*AdditionalMetadataSelectorSpec) DeepCopyInto ¶ added in v0.9.0
func (in *AdditionalMetadataSelectorSpec) DeepCopyInto(out *AdditionalMetadataSelectorSpec)
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 ¶
func (in *AdditionalMetadataSpec) DeepCopy() *AdditionalMetadataSpec
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 ¶
func (in *DefaultAllowedListSpec) DeepCopy() *DefaultAllowedListSpec
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 ExpressionMatch ¶ added in v0.13.7
type ExpressionMatch struct {
ExpressionRegex `json:",inline"`
// Exact matches one of the provided values exactly.
//
// +kubebuilder:validation:MinItems=1
// +kubebuilder:validation:Items:MinLength=1
// +optional
Exact []string `json:"exact,omitempty"`
}
At least one of Exact or Exp must be set. Both may be set together. +kubebuilder:object:generate=true +kubebuilder:validation:XValidation:rule="has(self.exact) || has(self.exp)",message="at least one of exact or exp must be set"
func (*ExpressionMatch) DeepCopy ¶ added in v0.13.7
func (in *ExpressionMatch) DeepCopy() *ExpressionMatch
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExpressionMatch.
func (*ExpressionMatch) DeepCopyInto ¶ added in v0.13.7
func (in *ExpressionMatch) DeepCopyInto(out *ExpressionMatch)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ExpressionMatch) Matches ¶ added in v0.13.7
func (m ExpressionMatch) Matches(value string) (bool, error)
func (ExpressionMatch) MatchesWithExpressionMatcher ¶ added in v0.13.7
func (m ExpressionMatch) MatchesWithExpressionMatcher( matcher ExpressionRegexMatcher, value string, ) (bool, error)
type ExpressionRegex ¶ added in v0.13.7
type ExpressionRegexMatcher ¶ added in v0.13.7
type ExpressionRegexMatcher interface {
MatchRegex(expression ExpressionRegex, value string) (bool, error)
}
type ExternalServiceIPsSpec ¶
type ExternalServiceIPsSpec struct {
Allowed []AllowedIP `json:"allowed"`
}
func (*ExternalServiceIPsSpec) DeepCopy ¶
func (in *ExternalServiceIPsSpec) DeepCopy() *ExternalServiceIPsSpec
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) 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 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
func (in *PoolExhaustionResource) DeepCopy() *PoolExhaustionResource
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
func (in *SelectionListWithDefaultSpec) DeepCopy() *SelectionListWithDefaultSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SelectionListWithDefaultSpec.
func (*SelectionListWithDefaultSpec) DeepCopyInto ¶ added in v0.10.0
func (in *SelectionListWithDefaultSpec) DeepCopyInto(out *SelectionListWithDefaultSpec)
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
func (in *SelectionListWithSpec) DeepCopy() *SelectionListWithSpec
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 ¶
func (in *SelectorAllowedListSpec) DeepCopy() *SelectorAllowedListSpec
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.