api

package
v0.6.2 Latest Latest
Warning

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

Go to latest
Published: Mar 28, 2024 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ForbiddenNamespaceLabelsAnnotation            = "capsule.clastix.io/forbidden-namespace-labels"
	ForbiddenNamespaceLabelsRegexpAnnotation      = "capsule.clastix.io/forbidden-namespace-labels-regexp"
	ForbiddenNamespaceAnnotationsAnnotation       = "capsule.clastix.io/forbidden-namespace-annotations"
	ForbiddenNamespaceAnnotationsRegexpAnnotation = "capsule.clastix.io/forbidden-namespace-annotations-regexp"
	ProtectedTenantAnnotation                     = "capsule.clastix.io/protected"
)
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 (
	TenantNameLabel = "kubernetes.io/metadata.name"
)

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 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"`
}

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 {
	Exact []string `json:"allowed,omitempty"`
	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 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 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 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 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.
	ForbiddenLabels ForbiddenListSpec `json:"forbiddenLabels,omitempty"`
	// Define the annotations that a Tenant Owner cannot set for their Service resources.
	ForbiddenAnnotations ForbiddenListSpec `json:"forbiddenAnnotations,omitempty"`
}

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
}

Jump to

Keyboard shortcuts

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