Documentation
¶
Overview ¶
Package v1beta1 contains API Schema definitions for the cattage v1beta1 API group +kubebuilder:object:generate=true +groupName=cattage.cybozu.io
Index ¶
Constants ¶
const ( TenantHealthy = TenantHealth("Healthy") TenantUnhealthy = TenantHealth("Unhealthy") )
const (
ConditionReady string = "Ready"
)
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "cattage.cybozu.io", Version: "v1beta1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
This section is empty.
Types ¶
type ArgoCDSpec ¶
type ArgoCDSpec struct { // Repositories contains list of repository URLs which can be used by the tenant. // +optional Repositories []string `json:"repositories,omitempty"` }
ArgoCDSpec defines the desired state of the settings for Argo CD.
func (*ArgoCDSpec) DeepCopy ¶
func (in *ArgoCDSpec) DeepCopy() *ArgoCDSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ArgoCDSpec.
func (*ArgoCDSpec) DeepCopyInto ¶
func (in *ArgoCDSpec) DeepCopyInto(out *ArgoCDSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DelegateSpec ¶
type DelegateSpec struct { // Name is the name of a delegated tenant. // +kubebuilder:validation:Required Name string `json:"name"` // Roles is a list of roles that the tenant has. // +kubebuilder:validation:MinItems=1 Roles []string `json:"roles"` }
DelegateSpec defines a tenant that is delegated access to a tenant.
func (*DelegateSpec) DeepCopy ¶
func (in *DelegateSpec) DeepCopy() *DelegateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DelegateSpec.
func (*DelegateSpec) DeepCopyInto ¶
func (in *DelegateSpec) DeepCopyInto(out *DelegateSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Params ¶ added in v1.4.0
type Params struct { // Data holds the parameter keys and values. Data map[string]interface{} `json:"-"` }
Params represents untyped configuration. kubebuilder does not support interface{} member directly, so this struct is a workaround. +kubebuilder:validation:Type=object
func (*Params) DeepCopy ¶ added in v1.4.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Params.
func (*Params) DeepCopyInto ¶ added in v1.4.0
DeepCopyInto is a deep copy function, copying the receiver, writing into `out`. `p` must be non-nil.
func (*Params) MarshalJSON ¶ added in v1.4.0
MarshalJSON implements the Marshaler interface.
func (*Params) ToMap ¶ added in v1.4.0
ToMap converts the Params to map[string]interface{}. If the receiver is nil, it returns nil.
func (*Params) UnmarshalJSON ¶ added in v1.4.0
UnmarshalJSON implements the Unmarshaler interface.
type RootNamespaceSpec ¶
type RootNamespaceSpec struct { // Name is the name of namespace to be generated. // +kubebuilder:validation:Required Name string `json:"name"` // Labels are the labels to add to the namespace. // This supersedes `namespace.commonLabels` in the configuration. // +optional Labels map[string]string `json:"labels,omitempty"` // Annotations are the annotations to add to the namespace. // This supersedes `namespace.commonAnnotations` in the configuration. // +optional Annotations map[string]string `json:"annotations,omitempty"` }
RootNamespaceSpec defines the desired state of Namespace.
func (*RootNamespaceSpec) DeepCopy ¶
func (in *RootNamespaceSpec) DeepCopy() *RootNamespaceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RootNamespaceSpec.
func (*RootNamespaceSpec) DeepCopyInto ¶
func (in *RootNamespaceSpec) DeepCopyInto(out *RootNamespaceSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Tenant ¶
type Tenant struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec TenantSpec `json:"spec,omitempty"` Status TenantStatus `json:"status,omitempty"` }
Tenant is the Schema for the tenants API.
func (*Tenant) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Tenant.
func (*Tenant) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Tenant) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type TenantHealth ¶
type TenantHealth string
TenantHealth defines the observed state of Tenant. +kubebuilder:validation:Enum=Healthy;Unhealthy
type TenantList ¶
type TenantList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Tenant `json:"items"` }
TenantList contains a list of Tenant.
func (*TenantList) DeepCopy ¶
func (in *TenantList) DeepCopy() *TenantList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TenantList.
func (*TenantList) DeepCopyInto ¶
func (in *TenantList) DeepCopyInto(out *TenantList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TenantList) DeepCopyObject ¶
func (in *TenantList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type TenantSpec ¶
type TenantSpec struct { // RootNamespaces are the list of root namespaces that belong to this tenant. // +kubebuilder:validation:Required // +kubebuilder:validation:MinItems=1 RootNamespaces []RootNamespaceSpec `json:"rootNamespaces"` // ArgoCD is the settings of Argo CD for this tenant. // +optional ArgoCD ArgoCDSpec `json:"argocd,omitempty"` // Delegates is a list of other tenants that are delegated access to this tenant. // +optional Delegates []DelegateSpec `json:"delegates,omitempty"` // ControllerName is the name of the application-controller that manages this tenant's applications. // If not specified, the default controller is used. // +optional ControllerName string `json:"controllerName,omitempty"` // ExtraParams is a map of extra parameters that can be used in the templates. // +kubebuilder:pruning:PreserveUnknownFields // +optional ExtraParams *Params `json:"extraParams,omitempty"` }
TenantSpec defines the desired state of Tenant.
func (*TenantSpec) DeepCopy ¶
func (in *TenantSpec) DeepCopy() *TenantSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TenantSpec.
func (*TenantSpec) DeepCopyInto ¶
func (in *TenantSpec) DeepCopyInto(out *TenantSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TenantStatus ¶
type TenantStatus struct { // Health is the health of Tenant. // +optional Health TenantHealth `json:"health,omitempty"` // Conditions is an array of conditions. // +optional Conditions []metav1.Condition `json:"conditions,omitempty"` }
TenantStatus defines the observed state of Tenant.
func (*TenantStatus) DeepCopy ¶
func (in *TenantStatus) DeepCopy() *TenantStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TenantStatus.
func (*TenantStatus) DeepCopyInto ¶
func (in *TenantStatus) DeepCopyInto(out *TenantStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.