v1beta1

package
v0.14.1 Latest Latest
Warning

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

Go to latest
Published: Aug 28, 2026 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Overview

Package v1beta1 contains API Schema definitions for the capsule.clastix.io v1beta1 API group +kubebuilder:object:generate=true +groupName=capsule.clastix.io

Index

Constants

This section is empty.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects.
	//nolint:gochecknoglobals
	GroupVersion = schema.GroupVersion{Group: "capsule.clastix.io", Version: "v1beta1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme.
	//nolint:gochecknoglobals,staticcheck
	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	//nolint:gochecknoglobals
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

This section is empty.

Types

type ClusterResource added in v0.7.0

type ClusterResource struct {
	// APIGroups is the name of the APIGroup that contains the resources. If multiple API groups are specified, any action requested against any resource listed will be allowed. '*' represents all resources. Empty string represents v1 api resources.
	APIGroups []string `json:"apiGroups"`

	// Resources is a list of resources this rule applies to. '*' represents all resources.
	Resources []string `json:"resources"`

	// Operations which can be executed on the selected resources. Only GET and
	// LIST are supported. When omitted, both operations are enabled. LIST also
	// enables GET for backward compatibility with existing v1beta1 rules.
	// +kubebuilder:default:={"List","Get"}
	Operations []ClusterResourceOperation `json:"operations,omitempty"`

	// Select all cluster scoped resources with the given label selector.
	// Defining a selector which does not match any resources is considered not selectable (eg. using operation NotExists).
	Selector *metav1.LabelSelector `json:"selector"`
}

ClusterResource Specification +kubebuilder:object:generate=true

func (ClusterResource) AllowsOperation added in v0.14.0

func (r ClusterResource) AllowsOperation(operation ClusterResourceOperation) bool

AllowsOperation reports whether this rule enables the requested operation. An omitted operations field enables GET and LIST. LIST also implies GET to keep existing v1beta1 rules backward-compatible: LIST was historically the only supported value while named GET requests were always intercepted.

func (*ClusterResource) DeepCopy added in v0.7.0

func (in *ClusterResource) DeepCopy() *ClusterResource

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

func (*ClusterResource) DeepCopyInto added in v0.7.0

func (in *ClusterResource) DeepCopyInto(out *ClusterResource)

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

func (ClusterResource) EffectiveOperations added in v0.14.0

func (r ClusterResource) EffectiveOperations() []ClusterResourceOperation

EffectiveOperations returns the normalized supported operations. Legacy LIST rules include GET; omitted operations default to both.

type ClusterResourceOperation added in v0.7.0

type ClusterResourceOperation string

ClusterResourceOperation is an operation capsule-proxy can perform on a selected cluster-scoped resource. +kubebuilder:validation:Enum=List;Get

const (
	ClusterResourceOperationList ClusterResourceOperation = "List"
	ClusterResourceOperationGet  ClusterResourceOperation = "Get"
)

func (ClusterResourceOperation) String added in v0.7.0

func (p ClusterResourceOperation) String() string

type GlobalProxySettings added in v0.9.0

type GlobalProxySettings struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec GlobalProxySettingsSpec `json:"spec,omitempty"`
	// +optional
	Status GlobalProxySettingsStatus `json:"status,omitempty"`
}

GlobalProxySettings is the Schema for the globalproxysettings API.

func (*GlobalProxySettings) DeepCopy added in v0.9.0

func (in *GlobalProxySettings) DeepCopy() *GlobalProxySettings

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

func (*GlobalProxySettings) DeepCopyInto added in v0.9.0

func (in *GlobalProxySettings) DeepCopyInto(out *GlobalProxySettings)

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

func (*GlobalProxySettings) DeepCopyObject added in v0.9.0

func (in *GlobalProxySettings) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type GlobalProxySettingsList added in v0.9.0

type GlobalProxySettingsList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`

	Items []GlobalProxySettings `json:"items"`
}

GlobalProxySettingsList contains a list of GlobalProxySettings.

func (*GlobalProxySettingsList) DeepCopy added in v0.9.0

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

func (*GlobalProxySettingsList) DeepCopyInto added in v0.9.0

func (in *GlobalProxySettingsList) DeepCopyInto(out *GlobalProxySettingsList)

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

func (*GlobalProxySettingsList) DeepCopyObject added in v0.9.0

func (in *GlobalProxySettingsList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type GlobalProxySettingsSpec added in v0.9.0

type GlobalProxySettingsSpec struct {
	// Subjects that should receive additional permissions.
	// The subjects are selected based on the oncoming requests. They don't have to relate to an existing tenant.
	// However they must be part of the capsule-user groups.
	// +kubebuilder:validation:MinItems=1
	Rules []GlobalSubjectSpec `json:"rules"`
}

GlobalProxySettingsSpec defines the desired state of GlobalProxySettings.

func (*GlobalProxySettingsSpec) DeepCopy added in v0.9.0

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

func (*GlobalProxySettingsSpec) DeepCopyInto added in v0.9.0

func (in *GlobalProxySettingsSpec) DeepCopyInto(out *GlobalProxySettingsSpec)

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

type GlobalProxySettingsStatus added in v0.13.2

type GlobalProxySettingsStatus struct {
	// ObservedGeneration is the most recent generation observed by the controller.
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// Conditions contains the reconciliation conditions for this GlobalProxySettings.
	// +optional
	Conditions capmeta.ConditionList `json:"conditions,omitempty"`
}

GlobalProxySettingsStatus defines the observed state of GlobalProxySettings.

func (*GlobalProxySettingsStatus) DeepCopy added in v0.13.2

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

func (*GlobalProxySettingsStatus) DeepCopyInto added in v0.13.2

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

type GlobalSubject added in v0.9.0

type GlobalSubject struct {
	// Kind of tenant owner. Possible values are "User", "Group", and "ServiceAccount".
	Kind capsulerbac.OwnerKind `json:"kind"`
	// Name of tenant owner.
	Name string `json:"name"`
}

func (*GlobalSubject) DeepCopy added in v0.9.0

func (in *GlobalSubject) DeepCopy() *GlobalSubject

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

func (*GlobalSubject) DeepCopyInto added in v0.9.0

func (in *GlobalSubject) DeepCopyInto(out *GlobalSubject)

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

type GlobalSubjectSpec added in v0.9.0

type GlobalSubjectSpec struct {
	// Subjects that should receive additional permissions.
	// The subjects are selected based on the oncoming requests. They don't have to relate to an existing tenant.
	// However they must be part of the capsule-user groups.
	Subjects []GlobalSubject `json:"subjects"`
	// Cluster Resources for tenant Owner.
	ClusterResources []ClusterResource `json:"clusterResources,omitempty"`
}

func (*GlobalSubjectSpec) DeepCopy added in v0.9.0

func (in *GlobalSubjectSpec) DeepCopy() *GlobalSubjectSpec

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

func (*GlobalSubjectSpec) DeepCopyInto added in v0.9.0

func (in *GlobalSubjectSpec) DeepCopyInto(out *GlobalSubjectSpec)

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

type OwnerSpec

type OwnerSpec struct {
	// Kind of tenant owner. Possible values are "User", "Group", and "ServiceAccount"
	Kind capsulerbac.OwnerKind `json:"kind"`
	// Name of tenant owner.
	Name string `json:"name"`
	// Cluster Resources for tenant Owner.
	ClusterResources []ClusterResource `json:"clusterResources,omitempty"`
	// Deprecated: Use Global Proxy Settings instead (https://projectcapsule.dev/docs/proxy/proxysettings/#globalproxysettings)
	//
	// Proxy settings for tenant owner.
	ProxyOperations []capsulerbac.ProxySettings `json:"proxySettings,omitempty"`
}

func (*OwnerSpec) DeepCopy

func (in *OwnerSpec) DeepCopy() *OwnerSpec

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

func (*OwnerSpec) DeepCopyInto

func (in *OwnerSpec) DeepCopyInto(out *OwnerSpec)

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

type ProxySetting

type ProxySetting struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec ProxySettingSpec `json:"spec,omitempty"`
	// +optional
	Status ProxySettingStatus `json:"status,omitempty"`
}

ProxySetting is the Schema for the proxysettings API.

func (*ProxySetting) DeepCopy

func (in *ProxySetting) DeepCopy() *ProxySetting

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

func (*ProxySetting) DeepCopyInto

func (in *ProxySetting) DeepCopyInto(out *ProxySetting)

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

func (*ProxySetting) DeepCopyObject

func (in *ProxySetting) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ProxySettingList

type ProxySettingList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`

	Items []ProxySetting `json:"items"`
}

ProxySettingList contains a list of ProxySetting.

func (*ProxySettingList) DeepCopy

func (in *ProxySettingList) DeepCopy() *ProxySettingList

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

func (*ProxySettingList) DeepCopyInto

func (in *ProxySettingList) DeepCopyInto(out *ProxySettingList)

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

func (*ProxySettingList) DeepCopyObject

func (in *ProxySettingList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ProxySettingSpec

type ProxySettingSpec struct {
	// Subjects that should receive additional permissions.
	// +kubebuilder:validation:MinItems=1
	Subjects []OwnerSpec `json:"subjects"`
}

ProxySettingSpec defines the additional Capsule Proxy settings for additional users of the Tenant. Resource is Namespace-scoped and applies the settings to the belonged Tenant.

func (*ProxySettingSpec) DeepCopy

func (in *ProxySettingSpec) DeepCopy() *ProxySettingSpec

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

func (*ProxySettingSpec) DeepCopyInto

func (in *ProxySettingSpec) DeepCopyInto(out *ProxySettingSpec)

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

type ProxySettingStatus added in v0.13.2

type ProxySettingStatus struct {
	// ObservedGeneration is the most recent generation observed by the controller.
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// Conditions contains the reconciliation conditions for this ProxySetting.
	// +optional
	Conditions capmeta.ConditionList `json:"conditions,omitempty"`
}

ProxySettingStatus defines the observed state of ProxySetting.

func (*ProxySettingStatus) DeepCopy added in v0.13.2

func (in *ProxySettingStatus) DeepCopy() *ProxySettingStatus

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

func (*ProxySettingStatus) DeepCopyInto added in v0.13.2

func (in *ProxySettingStatus) DeepCopyInto(out *ProxySettingStatus)

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

Jump to

Keyboard shortcuts

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