v1

package
v4.0.0-alpha.6 Latest Latest
Warning

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

Go to latest
Published: May 22, 2024 License: MPL-2.0 Imports: 5 Imported by: 6

Documentation

Overview

+k8s:openapi-gen=true +k8s:deepcopy-gen=package +k8s:defaulter-gen=TypeMeta +groupName=storage.loft.sh

Package v1alpha1 contains API Schema definitions for the config v1alpha1 API group +kubebuilder:object:generate=true +groupName=storage.loft.sh

Index

Constants

This section is empty.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "storage.loft.sh", Version: "v1"}

	// 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

	// SchemeGroupVersion is a shim that expect this to be present in the api package
	SchemeGroupVersion = GroupVersion
)

Functions

func RegisterDefaults

func RegisterDefaults(scheme *runtime.Scheme) error

RegisterDefaults adds defaulters functions to the given scheme. Public to allow building arbitrary schemes. All generated defaulters are covering - they call all nested defaulters.

Types

type AccessQuota

type AccessQuota struct {
	// hard is the set of desired hard limits for each named resource.
	// More info: https://kubernetes.io/docs/concepts/policy/resource-quotas/
	// +optional
	Hard corev1.ResourceList `json:"hard,omitempty"`
}

func (*AccessQuota) DeepCopy

func (in *AccessQuota) DeepCopy() *AccessQuota

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

func (*AccessQuota) DeepCopyInto

func (in *AccessQuota) DeepCopyInto(out *AccessQuota)

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

type AppReference

type AppReference struct {
	// Name of the target app
	// +optional
	Name string `json:"name,omitempty"`

	// Namespace specifies in which target namespace the app should
	// get deployed in
	// +optional
	Namespace string `json:"namespace,omitempty"`

	// ReleaseName is the name of the app release
	// +optional
	ReleaseName string `json:"releaseName,omitempty"`

	// Version of the app
	// +optional
	Version string `json:"version,omitempty"`

	// Parameters to use for the app
	// +optional
	Parameters string `json:"parameters,omitempty"`
}

func (*AppReference) DeepCopy

func (in *AppReference) DeepCopy() *AppReference

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

func (*AppReference) DeepCopyInto

func (in *AppReference) DeepCopyInto(out *AppReference)

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

type Chart

type Chart struct {
	// Name is the chart name in the repository
	Name string `json:"name,omitempty"`

	// Version is the chart version in the repository
	// +optional
	Version string `json:"version,omitempty"`

	// RepoURL is the repo url where the chart can be found
	// +optional
	RepoURL string `json:"repoURL,omitempty"`

	// The username that is required for this repository
	// +optional
	Username string `json:"username,omitempty"`

	// The username that is required for this repository
	// +optional
	UsernameRef *ChartSecretRef `json:"usernameRef,omitempty"`

	// The password that is required for this repository
	// +optional
	Password string `json:"password,omitempty"`

	// The password that is required for this repository
	// +optional
	PasswordRef *ChartSecretRef `json:"passwordRef,omitempty"`

	// If tls certificate checks for the chart download should be skipped
	// +optional
	InsecureSkipTlsVerify bool `json:"insecureSkipTlsVerify,omitempty"`
}

Chart describes a chart

func (*Chart) DeepCopy

func (in *Chart) DeepCopy() *Chart

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

func (*Chart) DeepCopyInto

func (in *Chart) DeepCopyInto(out *Chart)

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

type ChartSecretRef

type ChartSecretRef struct {
	// ProjectSecretRef holds the reference to a project secret
	// +optional
	ProjectSecretRef *ProjectSecretRef `json:"projectSecretRef,omitempty"`
}

func (*ChartSecretRef) DeepCopy

func (in *ChartSecretRef) DeepCopy() *ChartSecretRef

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

func (*ChartSecretRef) DeepCopyInto

func (in *ChartSecretRef) DeepCopyInto(out *ChartSecretRef)

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

type ChartStatus

type ChartStatus struct {
	// Name of the chart that was applied
	// +optional
	Name string `json:"name,omitempty"`

	// Namespace of the chart that was applied
	// +optional
	Namespace string `json:"namespace,omitempty"`

	// LastAppliedChartConfigHash is the last applied configuration
	// +optional
	LastAppliedChartConfigHash string `json:"lastAppliedChartConfigHash,omitempty"`
}

func (*ChartStatus) DeepCopy

func (in *ChartStatus) DeepCopy() *ChartStatus

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

func (*ChartStatus) DeepCopyInto

func (in *ChartStatus) DeepCopyInto(out *ChartStatus)

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

type ClusterQuota

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

	Spec ClusterQuotaSpec `json:"spec,omitempty"`

	// +optional
	Status ClusterQuotaStatus `json:"status,omitempty"`
}

ClusterQuota is the Schema for the cluster quotas api +k8s:openapi-gen=true

func (*ClusterQuota) DeepCopy

func (in *ClusterQuota) DeepCopy() *ClusterQuota

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

func (*ClusterQuota) DeepCopyInto

func (in *ClusterQuota) DeepCopyInto(out *ClusterQuota)

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

func (*ClusterQuota) DeepCopyObject

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

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

type ClusterQuotaList

type ClusterQuotaList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []ClusterQuota `json:"items"`
}

ClusterQuotaList contains a list of ClusterQuota

func (*ClusterQuotaList) DeepCopy

func (in *ClusterQuotaList) DeepCopy() *ClusterQuotaList

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

func (*ClusterQuotaList) DeepCopyInto

func (in *ClusterQuotaList) DeepCopyInto(out *ClusterQuotaList)

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

func (*ClusterQuotaList) DeepCopyObject

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

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

type ClusterQuotaSpec

type ClusterQuotaSpec struct {
	// User is the name of the user this quota should apply to
	// +optional
	User string `json:"user,omitempty"`

	// Team is the name of the team this quota should apply to
	// +optional
	Team string `json:"team,omitempty"`

	// Project is the project that this cluster quota should apply to
	// +optional
	Project string `json:"project,omitempty"`

	// quota is the quota definition with all the limits and selectors
	// +optional
	Quota corev1.ResourceQuotaSpec `json:"quota,omitempty"`
}

ClusterQuotaSpec defines the desired state of ClusterQuota

func (*ClusterQuotaSpec) DeepCopy

func (in *ClusterQuotaSpec) DeepCopy() *ClusterQuotaSpec

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

func (*ClusterQuotaSpec) DeepCopyInto

func (in *ClusterQuotaSpec) DeepCopyInto(out *ClusterQuotaSpec)

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

type ClusterQuotaStatus

type ClusterQuotaStatus struct {
	// Total defines the actual enforced quota and its current usage across all projects
	// +optional
	Total corev1.ResourceQuotaStatus `json:"total"`

	// Namespaces slices the usage by project.  This division allows for quick resolution of
	// deletion reconciliation inside of a single project without requiring a recalculation
	// across all projects.  This can be used to pull the deltas for a given project.
	// +optional
	// +nullable
	Namespaces ClusterQuotasStatusByNamespace `json:"namespaces"`
}

ClusterQuotaStatus defines the observed state of ClusterQuota

func (*ClusterQuotaStatus) DeepCopy

func (in *ClusterQuotaStatus) DeepCopy() *ClusterQuotaStatus

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

func (*ClusterQuotaStatus) DeepCopyInto

func (in *ClusterQuotaStatus) DeepCopyInto(out *ClusterQuotaStatus)

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

type ClusterQuotaStatusByNamespace

type ClusterQuotaStatusByNamespace struct {
	// Namespace of the account this account quota applies to
	Namespace string `json:"namespace"`

	// Status indicates how many resources have been consumed by this project
	// +optional
	Status corev1.ResourceQuotaStatus `json:"status"`
}

ClusterQuotaStatusByNamespace holds the status of a specific namespace

func (*ClusterQuotaStatusByNamespace) DeepCopy

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

func (*ClusterQuotaStatusByNamespace) DeepCopyInto

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

type ClusterQuotasStatusByNamespace

type ClusterQuotasStatusByNamespace []ClusterQuotaStatusByNamespace

ClusterQuotasStatusByNamespace bundles multiple resource quota status

func (ClusterQuotasStatusByNamespace) DeepCopy

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

func (ClusterQuotasStatusByNamespace) DeepCopyInto

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

type ClusterRoleRef

type ClusterRoleRef struct {
	// Name is the cluster role to assign
	// +optional
	Name string `json:"name,omitempty"`
}

func (*ClusterRoleRef) DeepCopy

func (in *ClusterRoleRef) DeepCopy() *ClusterRoleRef

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

func (*ClusterRoleRef) DeepCopyInto

func (in *ClusterRoleRef) DeepCopyInto(out *ClusterRoleRef)

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

type Condition

type Condition struct {
	// Type of condition in CamelCase or in foo.example.com/CamelCase.
	// Many .condition.type values are consistent across resources like Available, but because arbitrary conditions
	// can be useful (see .node.status.conditions), the ability to deconflict is important.
	// +required
	Type ConditionType `json:"type"`

	// Status of the condition, one of True, False, Unknown.
	// +required
	Status corev1.ConditionStatus `json:"status"`

	// Severity provides an explicit classification of Reason code, so the users or machines can immediately
	// understand the current situation and act accordingly.
	// The Severity field MUST be set only when Status=False.
	// +optional
	Severity ConditionSeverity `json:"severity,omitempty"`

	// Last time the condition transitioned from one status to another.
	// This should be when the underlying condition changed. If that is not known, then using the time when
	// the API field changed is acceptable.
	// +required
	LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"`

	// The reason for the condition's last transition in CamelCase.
	// The specific API may choose whether this field is considered a guaranteed API.
	// This field may not be empty.
	// +optional
	Reason string `json:"reason,omitempty"`

	// A human readable message indicating details about the transition.
	// This field may be empty.
	// +optional
	Message string `json:"message,omitempty"`
}

Condition defines an observation of a Cluster API resource operational state.

func (*Condition) DeepCopy

func (in *Condition) DeepCopy() *Condition

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

func (*Condition) DeepCopyInto

func (in *Condition) DeepCopyInto(out *Condition)

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

type ConditionSeverity

type ConditionSeverity string

ConditionSeverity expresses the severity of a Condition Type failing.

const (
	// ConditionSeverityError specifies that a condition with `Status=False` is an error.
	ConditionSeverityError ConditionSeverity = "Error"

	// ConditionSeverityWarning specifies that a condition with `Status=False` is a warning.
	ConditionSeverityWarning ConditionSeverity = "Warning"

	// ConditionSeverityInfo specifies that a condition with `Status=False` is informative.
	ConditionSeverityInfo ConditionSeverity = "Info"

	// ConditionSeverityNone should apply only to conditions with `Status=True`.
	ConditionSeverityNone ConditionSeverity = ""
)

type ConditionType

type ConditionType string

ConditionType is a valid value for Condition.Type.

const (
	// ReadyCondition defines the Ready condition type that summarizes the operational state of the virtual cluster API object.
	ReadyCondition ConditionType = "Ready"

	// ControlPlaneReadyCondition defines the ready condition type if the virtual cluster is reachable.
	ControlPlaneReadyCondition ConditionType = "ControlPlaneReady"

	// AppsAndObjectsSyncedCondition defines the ready condition type if virtual cluster objects and apps were deployed correctly.
	AppsAndObjectsSyncedCondition ConditionType = "AppsAndObjectsSynced"

	// HelmChartDeployedCondition defines the helm chart deployed condition type that defines if the helm chart was deployed correctly.
	HelmChartDeployedCondition ConditionType = "HelmChartDeployed"
)

Common ConditionTypes used by Cluster API objects.

type Conditions

type Conditions []Condition

Conditions is an array of conditions

func (Conditions) DeepCopy

func (in Conditions) DeepCopy() Conditions

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

func (Conditions) DeepCopyInto

func (in Conditions) DeepCopyInto(out *Conditions)

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

type InstanceAccess

type InstanceAccess struct {
	// Specifies which cluster role should get applied to users or teams that do not
	// match a rule below.
	// +optional
	DefaultClusterRole string `json:"defaultClusterRole,omitempty"`

	// Rules defines which users and teams should have which access to the virtual
	// cluster. If no rule matches an authenticated incoming user, the user will get cluster admin
	// access.
	// +optional
	Rules []InstanceAccessRule `json:"rules,omitempty"`
}

func (*InstanceAccess) DeepCopy

func (in *InstanceAccess) DeepCopy() *InstanceAccess

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

func (*InstanceAccess) DeepCopyInto

func (in *InstanceAccess) DeepCopyInto(out *InstanceAccess)

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

type InstanceAccessRule

type InstanceAccessRule struct {
	// Users this rule matches. * means all users.
	// +optional
	Users []string `json:"users,omitempty"`

	// Teams that this rule matches.
	// +optional
	Teams []string `json:"teams,omitempty"`

	// ClusterRole is the cluster role that should be assigned to the
	// +optional
	ClusterRole string `json:"clusterRole,omitempty"`
}

func (*InstanceAccessRule) DeepCopy

func (in *InstanceAccessRule) DeepCopy() *InstanceAccessRule

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

func (*InstanceAccessRule) DeepCopyInto

func (in *InstanceAccessRule) DeepCopyInto(out *InstanceAccessRule)

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

type LocalClusterAccess

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

	Spec   LocalClusterAccessSpec   `json:"spec,omitempty"`
	Status LocalClusterAccessStatus `json:"status,omitempty"`
}

LocalClusterAccess holds the cluster access information +k8s:openapi-gen=true

func (*LocalClusterAccess) DeepCopy

func (in *LocalClusterAccess) DeepCopy() *LocalClusterAccess

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

func (*LocalClusterAccess) DeepCopyInto

func (in *LocalClusterAccess) DeepCopyInto(out *LocalClusterAccess)

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

func (*LocalClusterAccess) DeepCopyObject

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

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

type LocalClusterAccessList

type LocalClusterAccessList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []LocalClusterAccess `json:"items"`
}

LocalClusterAccessList contains a list of cluster access objects

func (*LocalClusterAccessList) DeepCopy

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

func (*LocalClusterAccessList) DeepCopyInto

func (in *LocalClusterAccessList) DeepCopyInto(out *LocalClusterAccessList)

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

func (*LocalClusterAccessList) DeepCopyObject

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

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

type LocalClusterAccessSpec

type LocalClusterAccessSpec struct {
	// DisplayName is the name that should be shown in the UI
	// +optional
	DisplayName string `json:"displayName,omitempty"`

	// Description is the description of this object in
	// human-readable text.
	// +optional
	Description string `json:"description,omitempty"`

	// Users are the users affected by this cluster access object
	// +optional
	Users []UserOrTeam `json:"users,omitempty"`

	// Teams are the teams affected by this cluster access object
	// +optional
	Teams []string `json:"teams,omitempty"`

	// ClusterRoles define the cluster roles that the users should have assigned in the cluster.
	// +optional
	ClusterRoles []ClusterRoleRef `json:"clusterRoles,omitempty"`

	// Priority is a unique value that specifies the priority of this cluster access
	// for the space constraints and quota. A higher priority means the cluster access object
	// will override the space constraints of lower priority cluster access objects
	// +optional
	Priority int `json:"priority,omitempty"`

	// SpaceConstraintsRef is a reference to a space constraints object
	// +optional
	SpaceConstraintsRef *string `json:"spaceConstraintsRef,omitempty"`

	// Quota defines the quotas for the members that should be created.
	// +optional
	Quota *AccessQuota `json:"quota,omitempty"`
}

func (*LocalClusterAccessSpec) DeepCopy

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

func (*LocalClusterAccessSpec) DeepCopyInto

func (in *LocalClusterAccessSpec) DeepCopyInto(out *LocalClusterAccessSpec)

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

type LocalClusterAccessStatus

type LocalClusterAccessStatus struct {
}

LocalClusterAccessStatus holds the status of a user access

func (*LocalClusterAccessStatus) DeepCopy

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

func (*LocalClusterAccessStatus) DeepCopyInto

func (in *LocalClusterAccessStatus) DeepCopyInto(out *LocalClusterAccessStatus)

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

type LocalTeam

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

	Spec   LocalTeamSpec   `json:"spec,omitempty"`
	Status LocalTeamStatus `json:"status,omitempty"`
}

LocalTeam holds the cluster user information +k8s:openapi-gen=true

func (*LocalTeam) DeepCopy

func (in *LocalTeam) DeepCopy() *LocalTeam

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

func (*LocalTeam) DeepCopyInto

func (in *LocalTeam) DeepCopyInto(out *LocalTeam)

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

func (*LocalTeam) DeepCopyObject

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

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

type LocalTeamList

type LocalTeamList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []LocalTeam `json:"items"`
}

LocalTeamList contains a list of LocalTeam objects

func (*LocalTeamList) DeepCopy

func (in *LocalTeamList) DeepCopy() *LocalTeamList

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

func (*LocalTeamList) DeepCopyInto

func (in *LocalTeamList) DeepCopyInto(out *LocalTeamList)

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

func (*LocalTeamList) DeepCopyObject

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

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

type LocalTeamSpec

type LocalTeamSpec struct {
}

func (*LocalTeamSpec) DeepCopy

func (in *LocalTeamSpec) DeepCopy() *LocalTeamSpec

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

func (*LocalTeamSpec) DeepCopyInto

func (in *LocalTeamSpec) DeepCopyInto(out *LocalTeamSpec)

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

type LocalTeamStatus

type LocalTeamStatus struct {
	// The display name shown in the UI
	// +optional
	DisplayName string `json:"displayName,omitempty"`

	// The username of the team that will be used for identification and docker registry namespace
	// +optional
	Username string `json:"username,omitempty"`

	// The loft users that belong to a team
	// +optional
	Users []string `json:"users,omitempty"`

	// The groups defined in a token that belong to a team
	// +optional
	Groups []string `json:"groups,omitempty"`

	// Labels are the labels of the user
	// +optional
	Labels map[string]string `json:"labels,omitempty"`

	// Annotations are the annotations of the user
	// +optional
	Annotations map[string]string `json:"annotations,omitempty"`
}

LocalTeamStatus holds the status of a user access

func (*LocalTeamStatus) DeepCopy

func (in *LocalTeamStatus) DeepCopy() *LocalTeamStatus

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

func (*LocalTeamStatus) DeepCopyInto

func (in *LocalTeamStatus) DeepCopyInto(out *LocalTeamStatus)

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

type LocalUser

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

	Spec   LocalUserSpec   `json:"spec,omitempty"`
	Status LocalUserStatus `json:"status,omitempty"`
}

LocalUser holds the cluster user information +k8s:openapi-gen=true

func (*LocalUser) DeepCopy

func (in *LocalUser) DeepCopy() *LocalUser

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

func (*LocalUser) DeepCopyInto

func (in *LocalUser) DeepCopyInto(out *LocalUser)

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

func (*LocalUser) DeepCopyObject

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

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

type LocalUserList

type LocalUserList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []LocalUser `json:"items"`
}

LocalUserList contains a list of LocalUser objects

func (*LocalUserList) DeepCopy

func (in *LocalUserList) DeepCopy() *LocalUserList

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

func (*LocalUserList) DeepCopyInto

func (in *LocalUserList) DeepCopyInto(out *LocalUserList)

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

func (*LocalUserList) DeepCopyObject

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

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

type LocalUserSpec

type LocalUserSpec struct{}

func (*LocalUserSpec) DeepCopy

func (in *LocalUserSpec) DeepCopy() *LocalUserSpec

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

func (*LocalUserSpec) DeepCopyInto

func (in *LocalUserSpec) DeepCopyInto(out *LocalUserSpec)

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

type LocalUserStatus

type LocalUserStatus struct {
	// The display name shown in the UI
	// +optional
	DisplayName string `json:"displayName,omitempty"`

	// The username that is used to login
	Username string `json:"username,omitempty"`

	// The users email address
	// +optional
	Email string `json:"email,omitempty"`

	// The user subject as presented by the token
	Subject string `json:"subject,omitempty"`

	// The groups the user has access to
	// +optional
	Groups []string `json:"groups,omitempty"`

	// Teams the user is currently part of
	// +optional
	Teams []string `json:"teams,omitempty"`

	// Labels are the labels of the user
	// +optional
	Labels map[string]string `json:"labels,omitempty"`

	// Annotations are the annotations of the user
	// +optional
	Annotations map[string]string `json:"annotations,omitempty"`
}

LocalUserStatus holds the status of a user access

func (*LocalUserStatus) DeepCopy

func (in *LocalUserStatus) DeepCopy() *LocalUserStatus

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

func (*LocalUserStatus) DeepCopyInto

func (in *LocalUserStatus) DeepCopyInto(out *LocalUserStatus)

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

type ObjectsStatus

type ObjectsStatus struct {
	// LastAppliedObjects holds the status for the objects that were applied
	// +optional
	LastAppliedObjects string `json:"lastAppliedObjects,omitempty"`

	// Charts are the charts that were applied
	// +optional
	Charts []ChartStatus `json:"charts,omitempty"`

	// Apps are the apps that were applied
	// +optional
	Apps []AppReference `json:"apps,omitempty"`
}

func (*ObjectsStatus) DeepCopy

func (in *ObjectsStatus) DeepCopy() *ObjectsStatus

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

func (*ObjectsStatus) DeepCopyInto

func (in *ObjectsStatus) DeepCopyInto(out *ObjectsStatus)

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

type PodSelector

type PodSelector struct {
	// A label selector to select the virtual cluster pod to route
	// incoming requests to.
	// +optional
	Selector metav1.LabelSelector `json:"podSelector,omitempty"`

	// The port of the pod to route to
	// +optional
	Port *int `json:"port,omitempty"`
}

func (*PodSelector) DeepCopy

func (in *PodSelector) DeepCopy() *PodSelector

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

func (*PodSelector) DeepCopyInto

func (in *PodSelector) DeepCopyInto(out *PodSelector)

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

type ProjectSecretRef

type ProjectSecretRef struct {
	// Project is the project name where the secret is located in.
	// +optional
	Project string `json:"project,omitempty"`

	// Name of the project secret to use.
	// +optional
	Name string `json:"name,omitempty"`

	// Key of the project secret to use.
	// +optional
	Key string `json:"key,omitempty"`
}

func (*ProjectSecretRef) DeepCopy

func (in *ProjectSecretRef) DeepCopy() *ProjectSecretRef

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

func (*ProjectSecretRef) DeepCopyInto

func (in *ProjectSecretRef) DeepCopyInto(out *ProjectSecretRef)

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

type SecretRef

type SecretRef struct {
	// +optional
	SecretName string `json:"secretName,omitempty"`
	// +optional
	SecretNamespace string `json:"secretNamespace,omitempty"`
	// +optional
	Key string `json:"key,omitempty"`
}

SecretRef is the reference to a secret containing the user password

func (*SecretRef) DeepCopy

func (in *SecretRef) DeepCopy() *SecretRef

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

func (*SecretRef) DeepCopyInto

func (in *SecretRef) DeepCopyInto(out *SecretRef)

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

type TemplateHelmChart

type TemplateHelmChart struct {
	Chart `json:",inline"`

	// ReleaseName is the preferred release name of the app
	// +optional
	ReleaseName string `json:"releaseName,omitempty"`

	// ReleaseNamespace is the preferred release namespace of the app
	// +optional
	ReleaseNamespace string `json:"releaseNamespace,omitempty"`

	// Values are the values that should get passed to the chart
	// +optional
	Values string `json:"values,omitempty"`

	// Wait determines if Loft should wait during deploy for the app to become ready
	// +optional
	Wait bool `json:"wait,omitempty"`

	// Timeout is the time to wait for any individual Kubernetes operation (like Jobs for hooks) (default 5m0s)
	// +optional
	Timeout string `json:"timeout,omitempty"`
}

func (*TemplateHelmChart) DeepCopy

func (in *TemplateHelmChart) DeepCopy() *TemplateHelmChart

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

func (*TemplateHelmChart) DeepCopyInto

func (in *TemplateHelmChart) DeepCopyInto(out *TemplateHelmChart)

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

type UserOrTeam

type UserOrTeam struct {
	// Name of a Loft user
	// +optional
	User string `json:"user,omitempty"`

	// Name of a Loft team the user is part of
	// +optional
	Team string `json:"team,omitempty"`
}

func (*UserOrTeam) DeepCopy

func (in *UserOrTeam) DeepCopy() *UserOrTeam

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

func (*UserOrTeam) DeepCopyInto

func (in *UserOrTeam) DeepCopyInto(out *UserOrTeam)

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

type VirtualCluster

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

	Spec   VirtualClusterSpec   `json:"spec,omitempty"`
	Status VirtualClusterStatus `json:"status,omitempty"`
}

VirtualCluster holds the information +k8s:openapi-gen=true +kubebuilder:subresource:status

func (*VirtualCluster) DeepCopy

func (in *VirtualCluster) DeepCopy() *VirtualCluster

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

func (*VirtualCluster) DeepCopyInto

func (in *VirtualCluster) DeepCopyInto(out *VirtualCluster)

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

func (*VirtualCluster) DeepCopyObject

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

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

func (*VirtualCluster) GetConditions

func (in *VirtualCluster) GetConditions() Conditions

GetConditions returns the set of conditions for this object.

func (*VirtualCluster) SetConditions

func (in *VirtualCluster) SetConditions(conditions Conditions)

SetConditions sets the conditions on this object.

type VirtualClusterAccessPoint

type VirtualClusterAccessPoint struct {
	// Ingress defines virtual cluster access via ingress
	// +optional
	Ingress VirtualClusterAccessPointIngressSpec `json:"ingress,omitempty"`
}

func (*VirtualClusterAccessPoint) DeepCopy

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

func (*VirtualClusterAccessPoint) DeepCopyInto

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

type VirtualClusterAccessPointIngressSpec

type VirtualClusterAccessPointIngressSpec struct {
	// Enabled defines if the virtual cluster access point (via ingress) is enabled or not; requires
	// the connected cluster to have the `loft.sh/ingress-suffix` annotation set to define the domain
	// name suffix used for the ingress.
	Enabled bool `json:"enabled,omitempty"`
}

func (*VirtualClusterAccessPointIngressSpec) DeepCopy

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

func (*VirtualClusterAccessPointIngressSpec) DeepCopyInto

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

type VirtualClusterCommonSpec

type VirtualClusterCommonSpec struct {
	// Apps specifies the apps that should get deployed by this template
	// +optional
	Apps []AppReference `json:"apps,omitempty"`

	// Charts are helm charts that should get deployed
	// +optional
	Charts []TemplateHelmChart `json:"charts,omitempty"`

	// Objects are Kubernetes style yamls that should get deployed into the virtual cluster
	// +optional
	Objects string `json:"objects,omitempty"`

	// Access defines the access of users and teams to the virtual cluster.
	// +optional
	Access *InstanceAccess `json:"access,omitempty"`

	// Pro defines the pro settings for the virtual cluster
	// +optional
	Pro VirtualClusterProSpec `json:"pro,omitempty"`

	// HelmRelease is the helm release configuration for the virtual cluster.
	// +optional
	HelmRelease VirtualClusterHelmRelease `json:"helmRelease,omitempty"`

	// AccessPoint defines settings to expose the virtual cluster directly via an ingress rather than
	// through the (default) Loft proxy
	// +optional
	AccessPoint VirtualClusterAccessPoint `json:"accessPoint,omitempty"`

	// ForwardToken signals the proxy to pass through the used token to the virtual Kubernetes
	// api server and do a TokenReview there.
	// +optional
	ForwardToken bool `json:"forwardToken,omitempty"`
}

VirtualClusterCommonSpec holds common attributes for virtual clusters and virtual cluster templates

func (*VirtualClusterCommonSpec) DeepCopy

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

func (*VirtualClusterCommonSpec) DeepCopyInto

func (in *VirtualClusterCommonSpec) DeepCopyInto(out *VirtualClusterCommonSpec)

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

type VirtualClusterHelmChart

type VirtualClusterHelmChart struct {
	// the name of the helm chart
	// +optional
	Name string `json:"name,omitempty"`

	// the repo of the helm chart
	// +optional
	Repo string `json:"repo,omitempty"`

	// The username that is required for this repository
	// +optional
	Username string `json:"username,omitempty"`

	// The password that is required for this repository
	// +optional
	Password string `json:"password,omitempty"`

	// the version of the helm chart to use
	// +optional
	Version string `json:"version,omitempty"`
}

func (*VirtualClusterHelmChart) DeepCopy

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

func (*VirtualClusterHelmChart) DeepCopyInto

func (in *VirtualClusterHelmChart) DeepCopyInto(out *VirtualClusterHelmChart)

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

type VirtualClusterHelmRelease

type VirtualClusterHelmRelease struct {
	// infos about what chart to deploy
	// +optional
	Chart VirtualClusterHelmChart `json:"chart,omitempty"`

	// the values for the given chart
	// +optional
	Values string `json:"values,omitempty"`
}

func (*VirtualClusterHelmRelease) DeepCopy

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

func (*VirtualClusterHelmRelease) DeepCopyInto

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

type VirtualClusterHelmReleaseStatus

type VirtualClusterHelmReleaseStatus struct {
	// +optional
	Phase string `json:"phase,omitempty"`

	// +optional
	LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"`

	// +optional
	Reason string `json:"reason,omitempty"`

	// +optional
	Message string `json:"message,omitempty"`

	// the release that was deployed
	// +optional
	Release VirtualClusterHelmRelease `json:"release,omitempty"`
}

func (*VirtualClusterHelmReleaseStatus) DeepCopy

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

func (*VirtualClusterHelmReleaseStatus) DeepCopyInto

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

type VirtualClusterList

type VirtualClusterList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []VirtualCluster `json:"items"`
}

VirtualClusterList contains a list of User

func (*VirtualClusterList) DeepCopy

func (in *VirtualClusterList) DeepCopy() *VirtualClusterList

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

func (*VirtualClusterList) DeepCopyInto

func (in *VirtualClusterList) DeepCopyInto(out *VirtualClusterList)

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

func (*VirtualClusterList) DeepCopyObject

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

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

type VirtualClusterPhase

type VirtualClusterPhase string

VirtualClusterPhase describes the phase of a virtual cluster

const (
	VirtualClusterUnknown  VirtualClusterPhase = ""
	VirtualClusterPending  VirtualClusterPhase = "Pending"
	VirtualClusterDeployed VirtualClusterPhase = "Deployed"
	VirtualClusterFailed   VirtualClusterPhase = "Failed"
)

These are the valid admin account types

type VirtualClusterProSpec

type VirtualClusterProSpec struct {
	// Enabled defines if the virtual cluster is a pro cluster or not
	// +optional
	Enabled bool `json:"enabled,omitempty"`
}

func (*VirtualClusterProSpec) DeepCopy

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

func (*VirtualClusterProSpec) DeepCopyInto

func (in *VirtualClusterProSpec) DeepCopyInto(out *VirtualClusterProSpec)

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

type VirtualClusterSpec

type VirtualClusterSpec struct {
	// VirtualClusterCommonSpec defines virtual cluster spec that is common between the virtual
	// cluster templates, and virtual cluster
	VirtualClusterCommonSpec `json:",inline"`

	// DEPRECATED: don't use anymore
	// A label selector to select the virtual cluster pod to route
	// incoming requests to.
	// +optional
	Pod *PodSelector `json:"pod,omitempty"`

	// DEPRECATED: don't use anymore
	// A reference to the cluster admin kube config. This is needed for
	// the cli & ui to access the virtual clusters
	// +optional
	KubeConfigRef *SecretRef `json:"kubeConfigRef,omitempty"`
}

func (*VirtualClusterSpec) DeepCopy

func (in *VirtualClusterSpec) DeepCopy() *VirtualClusterSpec

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

func (*VirtualClusterSpec) DeepCopyInto

func (in *VirtualClusterSpec) DeepCopyInto(out *VirtualClusterSpec)

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

type VirtualClusterStatus

type VirtualClusterStatus struct {
	// Phase describes the current phase the virtual cluster is in
	// +optional
	Phase VirtualClusterPhase `json:"phase,omitempty"`

	// Reason describes the reason in machine readable form why the cluster is in the current
	// phase
	// +optional
	Reason string `json:"reason,omitempty"`

	// Message describes the reason in human readable form why the cluster is in the current
	// phase
	// +optional
	Message string `json:"message,omitempty"`

	// ControlPlaneReady defines if the virtual cluster control plane is ready.
	// +optional
	ControlPlaneReady bool `json:"controlPlaneReady,omitempty"`

	// Conditions holds several conditions the virtual cluster might be in
	// +optional
	Conditions Conditions `json:"conditions,omitempty"`

	// ObservedGeneration is the latest generation observed by the controller.
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// VirtualClusterObjects are the objects that were applied within the virtual cluster itself
	// +optional
	VirtualClusterObjects *ObjectsStatus `json:"virtualClusterObjects,omitempty"`

	// DeployHash saves the latest applied chart hash
	// +optional
	DeployHash string `json:"deployHash,omitempty"`

	// MultiNamespace indicates if this is a multinamespace enabled virtual cluster
	MultiNamespace bool `json:"multiNamespace,omitempty"`

	// DEPRECATED: do not use anymore
	// the status of the helm release that was used to deploy the virtual cluster
	// +optional
	HelmRelease *VirtualClusterHelmReleaseStatus `json:"helmRelease,omitempty"`
}

VirtualClusterStatus holds the status of a virtual cluster

func (*VirtualClusterStatus) DeepCopy

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

func (*VirtualClusterStatus) DeepCopyInto

func (in *VirtualClusterStatus) DeepCopyInto(out *VirtualClusterStatus)

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