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 ¶
- Variables
- type ClusterResource
- type ClusterResourceOperation
- type GlobalProxySettings
- type GlobalProxySettingsList
- type GlobalProxySettingsSpec
- type GlobalProxySettingsStatus
- type GlobalSubject
- type GlobalSubjectSpec
- type OwnerSpec
- type ProxySetting
- type ProxySettingList
- type ProxySettingSpec
- type ProxySettingStatus
Constants ¶
This section is empty.
Variables ¶
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
func (in *GlobalProxySettingsList) DeepCopy() *GlobalProxySettingsList
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
func (in *GlobalProxySettingsSpec) DeepCopy() *GlobalProxySettingsSpec
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
func (in *GlobalProxySettingsStatus) DeepCopy() *GlobalProxySettingsStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalProxySettingsStatus.
func (*GlobalProxySettingsStatus) DeepCopyInto ¶ added in v0.13.2
func (in *GlobalProxySettingsStatus) DeepCopyInto(out *GlobalProxySettingsStatus)
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OwnerSpec.
func (*OwnerSpec) DeepCopyInto ¶
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.