v1

package
v4.12.2 Latest Latest
Warning

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

Go to latest
Published: Oct 5, 2026 License: MPL-2.0 Imports: 13 Imported by: 58

Documentation

Overview

+k8s:openapi-gen=true +k8s:openapi-model-package=com.github.loft-sh.api.v4.pkg.apis.storage.v1 +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

View Source
const (
	AppInstanceSynced   agentstoragev1.ConditionType = "Synced"
	AppInstanceDeployed agentstoragev1.ConditionType = "Deployed"

	// AppInstanceReasonAppNotFound is set on the Synced condition when the
	// app referenced by spec.templateRef does not exist.
	AppInstanceReasonAppNotFound = "AppNotFound"

	// AppInstanceReasonDestinationNotFound is set when the space, tenant cluster or
	// cluster the instance deploys into does not exist.
	AppInstanceReasonDestinationNotFound = "DestinationNotFound"

	// AppInstanceReasonDestinationNotReady is set when that destination exists but
	// cannot take a deploy yet.
	AppInstanceReasonDestinationNotReady = "DestinationNotReady"
)
View Source
const (
	ArgoCDApplicationSynced agentstoragev1.ConditionType = "Synced"

	// ArgoCDApplicationReasonTemplateNotFound is set on the Synced condition when the
	// ArgoCDApplicationTemplate referenced by spec.templateRef does not exist.
	ArgoCDApplicationReasonTemplateNotFound = "TemplateNotFound"
	// ArgoCDApplicationReasonInvalidConnector is set on the Synced condition when the
	// destination's ArgoCD connector cannot be resolved.
	ArgoCDApplicationReasonInvalidConnector = "InvalidConnector"
	// ArgoCDApplicationReasonCreateArgoClientFailed is set on the Synced condition when the
	// ArgoCD client cannot be created from the resolved connector.
	ArgoCDApplicationReasonCreateArgoClientFailed = "CreateArgoClientFailed"
	// ArgoCDApplicationReasonGetClusterFailed is set on the Synced condition when the
	// destination cluster cannot be fetched.
	ArgoCDApplicationReasonGetClusterFailed = "GetClusterFailed"
	// ArgoCDApplicationReasonDeleteApplicationFailed is set on the Synced condition when the
	// application cannot be deleted from the ArgoCD backend during cleanup.
	ArgoCDApplicationReasonDeleteApplicationFailed = "DeleteApplicationFailed"
)
View Source
const (
	LoftCluster = "loft-cluster"

	MetricsFederationServiceNamespaceAnnotation = "loft.sh/metrics-federation-service-namespace"
	MetricsFederationServiceNameAnnotation      = "loft.sh/metrics-federation-service-name"
	MetricsFederationServicePortAnnotation      = "loft.sh/metrics-federation-service-port"

	PrometheusLastAppliedHashAnnotation                              = "loft.sh/prometheus-last-applied-hash"
	PrometheusDeployed                  agentstoragev1.ConditionType = "PrometheusDeployed"
	PrometheusAvailable                 agentstoragev1.ConditionType = "PrometheusAvailable"

	GlobalPrometheusServiceAddress                                         = "loft.sh/global-prometheus-service-address"
	GlobalPrometheusLastAppliedHashAnnotation                              = "loft.sh/global-prometheus-last-applied-hash"
	GlobalPrometheusDeployed                  agentstoragev1.ConditionType = "GlobalPrometheusDeployed"
	GlobalPrometheusAvailable                 agentstoragev1.ConditionType = "GlobalPrometheusAvailable"

	EmbeddedPostgresAppliedHashAnnotation                              = "loft.sh/platform-db-applied-hash"
	EmbeddedPostgresDeployed              agentstoragev1.ConditionType = "EmbeddedPostgresDeployed"
	EmbeddedPostgresAvailable             agentstoragev1.ConditionType = "EmbeddedPostgresAvailable"

	OpenCostLastAppliedHashAnnotation                              = "loft.sh/opencost-last-applied-hash"
	OpenCostDeployed                  agentstoragev1.ConditionType = "OpenCostDeployed"
	OpenCostAvailable                 agentstoragev1.ConditionType = "OpenCostAvailable"

	BuildKitServiceAddress                                         = "loft.sh/buildkit-service-address"
	BuildKitLastAppliedHashAnnotation                              = "loft.sh/buildkit-last-applied-hash"
	BuildKitDeployed                  agentstoragev1.ConditionType = "BuildKitDeployed"
	BuildKitAvailable                 agentstoragev1.ConditionType = "BuildKitAvailable"

	// HTTPRouteRequestMirrorSupported is True when at least one GatewayClass in the
	// managed cluster supports HTTPRoute request mirroring, either by advertising the
	// HTTPRouteRequestMirror feature in status.supportedFeatures or by matching the
	// agent's allowlisted spec.controllerName set.
	HTTPRouteRequestMirrorSupported agentstoragev1.ConditionType = "HTTPRouteRequestMirrorSupported"
)
View Source
const (
	// NodeClaim conditions
	NodeClaimConditionTypeProvisioned = "Provisioned"
	// NodeClaimConditionTypeJoined is the condition that indicates if the node claim is joined to the vCluster.
	NodeClaimConditionTypeJoined = "Joined"
	// ConditionTypeScheduled is the condition that indicates if the node claim is scheduled.
	NodeClaimConditionTypeScheduled = "Scheduled"
	// NodeClaimConditionTypeNotDrifted is the condition that indicates if the node claim is not drifted from the desired state.
	NodeClaimConditionTypeNotDrifted = "NotDrifted"
	// NodeClaimConditionTypeDestroyed is the condition that indicates if the node claim has been successfully destroyed.
	NodeClaimConditionTypeDestroyed = "Destroyed"
	// NodeClaimConditionTypePreferredDeletion indicates the NodeClaim is a preferred candidate for deletion.
	NodeClaimConditionTypePreferredDeletion = "PreferredDeletion"
)
View Source
const (
	// NodeEnvironment conditions
	NodeEnvironmentConditionTypeInfrastructureProvisioned = "Provisioned"
	NodeEnvironmentConditionTypeInfrastructureSynced      = "Synced"
	NodeEnvironmentConditionTypeKubernetesProvisioned     = "KubernetesProvisioned"
	NodeEnvironmentConditionTypeKubernetesSynced          = "KubernetesSynced"
)
View Source
const (
	// NodeProfileReferenceLabel records how the joined node was configured. Its value
	// is the catalog NodeProfile name (when the join request used profileRef). Nodes
	// joined without any profile carry no such label.
	NodeProfileReferenceLabel = "vcluster.com/node-profile"
	// NodeProfileConfigSecretKey is the bootstrap-token Secret data key under which the
	// effective NodeProfileSpec is JSON-encoded when a profile is associated with a
	// joinscript request. The vCluster-side join script renderer reads from this key.
	// NOTE: Secret data keys must match [-._a-zA-Z0-9]+ (no "/"), so this is not a
	// domain-prefixed label-style key.
	NodeProfileConfigSecretKey = "vcluster.com_profile-config"
)
View Source
const (
	NodeProviderTypeBCM        string = "bcm"
	NodeProviderTypeKubeVirt   string = "kubeVirt"
	NodeProviderTypeTerraform  string = "terraform"
	NodeProviderTypeClusterAPI string = "clusterAPI"
	NodeProviderTypeMetal3     string = "metal3"

	// NodeProviderConditionTypeInitialized is the condition that indicates if the node provider is initialized.
	NodeProviderConditionTypeInitialized = "Initialized"

	// NodeProviderConditionTypeDeployed is the condition that indicates if infrastructure components are deployed.
	NodeProviderConditionTypeDeployed = "Deployed"
)
View Source
const (
	// NodeProviderPhasePending is the initial state of a NodeProvider.
	NodeProviderPhasePending NodeProviderPhase = "Pending"
	// NodeProviderPhaseAvailable means the underlying node has been successfully provisioned.
	NodeProviderPhaseAvailable NodeProviderPhase = "Available"
	// NodeProviderPhaseFailed means the provisioning process has failed.
	NodeProviderPhaseFailed NodeProviderPhase = "Failed"
	// NodeProvider specific label
	NodeProvidedManagedTypeIndicatorLabel     = "autoscaling.loft.sh/managed-by"
	NodeProviderManagedTypeMetadataAnnotation = "autoscaling.loft.sh/managed-metadata"

	// NodeTypeMaxCapacityAnnotation is the annotation used to store the maximum capacity of a NodeType
	NodeTypeMaxCapacityAnnotation = "autoscaling.loft.sh/max-capacity"

	// BCM specific annotations
	NodeTypeNodesAnnotation      = "bcm.loft.sh/nodes"
	NodeTypeNodeGroupsAnnotation = "bcm.loft.sh/node-groups"

	// KubeVirt specific annotations
	NodeTypeVMTemplateAnnotation = "kubevirt.vcluster.com/vm-template"

	// ClusterAPI specific annotations
	NodeTypeClusterAPIInfrastructureMachineTemplateAnnotation = "clusterapi.loft.sh/infrastructure-machine-template"
	NodeTypeClusterAPIBootstrapConfigTemplateAnnotation       = "clusterapi.loft.sh/bootstrap-config-template"

	// Properties
	NodeProviderCCMEnabledProperty = "vcluster.com/ccm-enabled"
)
View Source
const (
	NodeTypePropertyKey = "vcluster.com/node-type"

	// NodeTypeConditionTypeSynced is the condition that indicates if the node type is synced with provider.
	NodeTypeConditionTypeSynced  = "Synced"
	NodeTypeConditionHasCapacity = "HasCapacity"
)
View Source
const (
	ArgoIntegrationSynced agentstoragev1.ConditionType = "ArgoIntegrationSynced"

	ArgoLastAppliedHashAnnotation                = "loft.sh/argo-integration-last-applied-hash"
	ArgoPreviousClusterAnnotation                = "loft.sh/argo-integration-previous-cluster"
	ArgoPreviousNamespaceAnnotation              = "loft.sh/argo-integration-previous-namespace"
	ArgoPreviousVirtualClusterInstanceAnnotation = "loft.sh/argo-integration-previous-virtualclusterinstance"
)
View Source
const (
	ConditionTypeVaultIntegration agentstoragev1.ConditionType = "VaultIntegration"

	ConditionReasonVaultIntegrationError = "VaultIntegrationError"

	VaultLastAppliedHashAnnotation                = "loft.sh/vault-integration-last-applied-hash"
	VaultPreviousClusterAnnotation                = "loft.sh/vault-integration-previous-cluster"
	VaultPreviousNamespaceAnnotation              = "loft.sh/vault-integration-previous-namespace"
	VaultPreviousVirtualClusterInstanceAnnotation = "loft.sh/vault-integration-previous-virtualclusterinstance"
)
View Source
const (
	// StackInstanceReady is the top-level readiness condition of a StackInstance.
	StackInstanceReady agentstoragev1.ConditionType = "Ready"

	// StackInstanceReasonInvalid is set on the Ready condition when the spec itself is malformed,
	// so no task can run until a person edits it.
	StackInstanceReasonInvalid = "Invalid"
	// StackInstanceReasonTemplateNotFound is set on the Ready condition when the StackTemplate
	// referenced by spec.templateRef does not exist.
	StackInstanceReasonTemplateNotFound = "TemplateNotFound"
	// StackInstanceReasonTemplateInvalid is set on the Ready condition when the referenced
	// StackTemplate exists but cannot be rendered (missing parameter, failed validation, or a
	// substitution error). This is a permanent user error, so the controller reports it and
	// waits rather than retrying fast.
	StackInstanceReasonTemplateInvalid = "TemplateInvalid"
	// StackInstanceReasonProgressing is set on the Ready condition while tasks are still rolling out.
	StackInstanceReasonProgressing = "Progressing"
	// StackInstanceReasonDegraded is set on the Ready condition when at least one task failed.
	StackInstanceReasonDegraded = "Degraded"
	// StackInstanceReasonNoTasks is set on the Ready condition when the StackInstance resolved to
	// no tasks at all, so there is nothing to run. A StackInstance that is Pending because a task
	// is blocked reports that task's own reason instead.
	StackInstanceReasonNoTasks = "NoTasks"
	// StackInstanceReasonFeatureNotAllowed is set on the Ready condition when the license does not
	// cover a feature the StackInstance's tasks need. Nothing runs until the license changes.
	StackInstanceReasonFeatureNotAllowed = "FeatureNotAllowed"
	// StackInstanceReasonOutputsConflict is set on the Ready condition when a Secret the
	// StackInstance does not own holds the name its task outputs are stored under. Nothing runs
	// until that Secret is gone, since retrying cannot free a name somebody else holds.
	StackInstanceReasonOutputsConflict = "OutputsConflict"
	// StackInstanceReasonOutputsRejected is set on the Ready condition when the apiserver refuses
	// the Secret the StackInstance stores its task outputs in.
	StackInstanceReasonOutputsRejected = "OutputsRejected"
	// StackInstanceReasonDeleting is set on the Ready condition while the StackInstance is being
	// torn down, so the condition matches the Deleting phase.
	StackInstanceReasonDeleting = "Deleting"
	// StackInstanceReasonDestinationNotFound is set on the Ready condition when spec.destination
	// names a cluster or tenant cluster that does not exist. Destinations are immutable, so this
	// clears only once the destination is created.
	StackInstanceReasonDestinationNotFound = "DestinationNotFound"
	// StackInstanceReasonDestinationDeleting is set on the Ready condition when spec.destination
	// is being torn down. Applications are not applied while it is, because a recreated
	// application would hold up the destination's own deletion.
	StackInstanceReasonDestinationDeleting = "DestinationDeleting"
)
View Source
const (
	InstanceScheduled                         agentstoragev1.ConditionType = "Scheduled"
	InstanceTemplateSynced                    agentstoragev1.ConditionType = "TemplateSynced"
	InstanceTemplateResolved                  agentstoragev1.ConditionType = "TemplateResolved"
	InstanceSpaceSynced                       agentstoragev1.ConditionType = "SpaceSynced"
	InstanceSpaceReady                        agentstoragev1.ConditionType = "SpaceReady"
	InstanceVirtualClusterDeployed            agentstoragev1.ConditionType = "VirtualClusterDeployed"
	InstanceVirtualClusterSynced              agentstoragev1.ConditionType = "VirtualClusterSynced"
	InstanceVirtualClusterReady               agentstoragev1.ConditionType = "VirtualClusterReady"
	InstanceVirtualClusterOnline              agentstoragev1.ConditionType = "VirtualClusterOnline"
	InstanceProjectsSecretsSynced             agentstoragev1.ConditionType = "ProjectSecretsSynced"
	InstanceNodesProvisioned                  agentstoragev1.ConditionType = "NodesProvisioned"
	InstanceExternalResourcesCleanedUp        agentstoragev1.ConditionType = "ExternalResourcesCleanedUp"
	InstanceVirtualClusterAutoDeletionBlocked agentstoragev1.ConditionType = "VirtualClusterAutoDeletionBlocked"

	InstanceVirtualClusterAppsAndObjectsSynced     agentstoragev1.ConditionType = "VirtualClusterAppsAndObjectsSynced"
	InstanceVirtualClusterDBConnectorSynced        agentstoragev1.ConditionType = "DBConnectorSynced"
	InstanceVirtualClusterDBIdentityProviderSynced agentstoragev1.ConditionType = "DBIdentityProviderSynced"

	// Etcd health condition types
	InstanceEtcdClusterHealthy  agentstoragev1.ConditionType = "EtcdClusterHealthy"
	InstanceEtcdLeaderAvailable agentstoragev1.ConditionType = "EtcdLeaderAvailable"
	InstanceEtcdQuorumMet       agentstoragev1.ConditionType = "EtcdQuorumMet"
	InstanceEtcdMemberHealthy   agentstoragev1.ConditionType = "EtcdMemberHealthy"
	InstanceEtcdNoAlarms        agentstoragev1.ConditionType = "EtcdNoAlarms"
	InstanceEtcdDbSizeOk        agentstoragev1.ConditionType = "EtcdDbSizeOk"

	ArgoCDIntegrationSynced agentstoragev1.ConditionType = "ArgoCDIntegrationSynced"

	// StacksSynced reports whether deploy.stacks was converted into StackInstance resources. It is
	// separate from ArgoCDIntegrationSynced so stack and application errors recover independently;
	// per-stack runtime health lives on each StackInstance's own Ready condition.
	StacksSynced agentstoragev1.ConditionType = "StacksSynced"
)
View Source
const (
	ConditionTypeNamespaceTemplateSynced agentstoragev1.ConditionType = "NamespaceTemplateSynced"
)
View Source
const NodeClaimRebootAnnotation = "machines.vcluster.com/reboot"

NodeClaimRebootAnnotation triggers a one-shot reboot of the machine. The controller removes the annotation once the reboot has been initiated.

View Source
const TenantLabel = "tenant.platform.vcluster.com/name"

TenantLabel is the canonical label key binding a resource to a Tenant. Today it is only read — for owner provenance in Tenant admission (validateOwnerOperatorDomain). The management apiserver writing it on create, and the immutability/invisibility enforcement for tenants, land with the Tenant activation work in a later Multi-Tenancy PR. Absent = operator-global.

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
)
View Source
var (
	SpaceTemplateKind          = "SpaceTemplate"
	VirtualClusterTemplateKind = "VirtualClusterTemplate"
	StackTemplateKind          = "StackTemplate"
)
View Source
var (
	InstanceDeployedAppDeployed = "Deployed"
	InstanceDeployedAppFailed   = "Failed"
)
View Source
var (
	ArgoCDApplicationConditions = []agentstoragev1.ConditionType{
		ArgoCDApplicationSynced,
	}
)
View Source
var (
	// StackInstanceConditions are the conditions the StackInstance controller owns on a StackInstance.
	StackInstanceConditions = []agentstoragev1.ConditionType{
		StackInstanceReady,
	}
)

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.

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource

func ValidateTemplateMetadata added in v4.12.2

func ValidateTemplateMetadata(fldPath *field.Path, labels, annotations map[string]string) field.ErrorList

ValidateTemplateMetadata checks metadata a user asks to be copied onto another object. Annotation keys follow the same rules as label keys, and annotation values are free form.

Types

type Access

type Access struct {
	// Name is an optional name that is used for this access rule
	// +optional
	Name string `json:"name,omitempty"`

	// Verbs is a list of Verbs that apply to ALL the ResourceKinds and AttributeRestrictions contained in this rule. VerbAll represents all kinds.
	Verbs []string `json:"verbs"`

	// Subresources defines the sub resources that are allowed by this access rule
	// +optional
	Subresources []string `json:"subresources,omitempty"`

	// Users specifies which users should be able to access this secret with the aforementioned verbs
	// +optional
	Users []string `json:"users,omitempty"`

	// Teams specifies which teams should be able to access this secret with the aforementioned verbs
	// +optional
	Teams []string `json:"teams,omitempty"`
}

Access describes the access to a secret

func (*Access) DeepCopy

func (in *Access) DeepCopy() *Access

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

func (*Access) DeepCopyInto

func (in *Access) DeepCopyInto(out *Access)

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

func (Access) OpenAPIModelName added in v4.7.0

func (in Access) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type AccessAccessor

type AccessAccessor interface {
	GetAccess() []Access
	SetAccess(access []Access)

	GetOwner() *UserOrTeam
	SetOwner(userOrTeam *UserOrTeam)
}

type AccessKey

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

	Spec   AccessKeySpec   `json:"spec,omitempty"`
	Status AccessKeyStatus `json:"status,omitempty"`
}

AccessKey holds the session information +k8s:openapi-gen=true

func (*AccessKey) DeepCopy

func (in *AccessKey) DeepCopy() *AccessKey

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

func (*AccessKey) DeepCopyInto

func (in *AccessKey) DeepCopyInto(out *AccessKey)

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

func (*AccessKey) DeepCopyObject

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

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

func (AccessKey) OpenAPIModelName added in v4.7.0

func (in AccessKey) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type AccessKeyList

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

AccessKeyList contains a list of AccessKey

func (*AccessKeyList) DeepCopy

func (in *AccessKeyList) DeepCopy() *AccessKeyList

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

func (*AccessKeyList) DeepCopyInto

func (in *AccessKeyList) DeepCopyInto(out *AccessKeyList)

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

func (*AccessKeyList) DeepCopyObject

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

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

func (AccessKeyList) OpenAPIModelName added in v4.7.0

func (in AccessKeyList) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type AccessKeyOIDC

type AccessKeyOIDC struct {
	// The current id token that was created during login
	// +optional
	IDToken []byte `json:"idToken,omitempty"`

	// The current access token that was created during login
	// +optional
	AccessToken []byte `json:"accessToken,omitempty"`

	// The current refresh token that was created during login
	// +optional
	RefreshToken []byte `json:"refreshToken,omitempty"`

	// The last time the id token was refreshed
	// +optional
	LastRefresh *metav1.Time `json:"lastRefresh,omitempty"`
}

func (*AccessKeyOIDC) DeepCopy

func (in *AccessKeyOIDC) DeepCopy() *AccessKeyOIDC

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

func (*AccessKeyOIDC) DeepCopyInto

func (in *AccessKeyOIDC) DeepCopyInto(out *AccessKeyOIDC)

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

func (AccessKeyOIDC) OpenAPIModelName added in v4.7.0

func (in AccessKeyOIDC) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type AccessKeyOIDCProvider

type AccessKeyOIDCProvider struct {
	// ClientId the token was generated for
	// +optional
	ClientId string `json:"clientId,omitempty"`

	// Nonce to use
	// +optional
	Nonce string `json:"nonce,omitempty"`

	// RedirectUri to use
	// +optional
	RedirectUri string `json:"redirectUri,omitempty"`

	// Scopes to use
	// +optional
	Scopes string `json:"scopes,omitempty"`
}

func (*AccessKeyOIDCProvider) DeepCopy

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

func (*AccessKeyOIDCProvider) DeepCopyInto

func (in *AccessKeyOIDCProvider) DeepCopyInto(out *AccessKeyOIDCProvider)

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

func (AccessKeyOIDCProvider) OpenAPIModelName added in v4.7.0

func (in AccessKeyOIDCProvider) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type AccessKeyScope

type AccessKeyScope struct {
	// Roles is a set of managed permissions to apply to the access key.
	// +optional
	Roles []AccessKeyScopeRole `json:"roles,omitempty"`

	// Projects specifies the projects the access key should have access to.
	// +optional
	Projects []AccessKeyScopeProject `json:"projects,omitempty"`

	// Spaces specifies the spaces the access key is allowed to access.
	// +optional
	Spaces []AccessKeyScopeSpace `json:"spaces,omitempty"`

	// VirtualClusters specifies the tenant clusters the access key is allowed to access.
	// +optional
	VirtualClusters []AccessKeyScopeVirtualCluster `json:"virtualClusters,omitempty"`

	// Clusters specifies the project cluster the access key is allowed to access.
	// +optional
	Clusters []AccessKeyScopeCluster `json:"clusters,omitempty"`

	// DEPRECATED: Use Projects, Spaces and VirtualClusters instead
	// Rules specifies the rules that should apply to the access key.
	// +optional
	Rules []AccessKeyScopeRule `json:"rules,omitempty"`

	// AllowLoftCLI allows certain read-only management requests to
	// make sure loft cli works correctly with this specific access key.
	//
	// Deprecated: Use the `roles` field instead
	//  “`yaml
	//  # Example:
	//  roles:
	//    - role: loftCLI
	//  “`
	// +optional
	AllowLoftCLI bool `json:"allowLoftCli,omitempty"`
}

func (AccessKeyScope) ContainsRole

func (a AccessKeyScope) ContainsRole(val AccessKeyScopeRoleName) bool

func (*AccessKeyScope) DeepCopy

func (in *AccessKeyScope) DeepCopy() *AccessKeyScope

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

func (*AccessKeyScope) DeepCopyInto

func (in *AccessKeyScope) DeepCopyInto(out *AccessKeyScope)

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

func (AccessKeyScope) GetRole

func (AccessKeyScope) OpenAPIModelName added in v4.7.0

func (in AccessKeyScope) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type AccessKeyScopeCluster

type AccessKeyScopeCluster struct {
	// Cluster is the name of the cluster to access. You can specify * to select all clusters.
	// +optional
	Cluster string `json:"cluster,omitempty"`
}

func (*AccessKeyScopeCluster) DeepCopy

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

func (*AccessKeyScopeCluster) DeepCopyInto

func (in *AccessKeyScopeCluster) DeepCopyInto(out *AccessKeyScopeCluster)

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

func (AccessKeyScopeCluster) OpenAPIModelName added in v4.7.0

func (in AccessKeyScopeCluster) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type AccessKeyScopeProject

type AccessKeyScopeProject struct {
	// Project is the name of the project. You can specify * to select all projects.
	// +optional
	Project string `json:"project,omitempty"`
}

func (*AccessKeyScopeProject) DeepCopy

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

func (*AccessKeyScopeProject) DeepCopyInto

func (in *AccessKeyScopeProject) DeepCopyInto(out *AccessKeyScopeProject)

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

func (AccessKeyScopeProject) OpenAPIModelName added in v4.7.0

func (in AccessKeyScopeProject) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type AccessKeyScopeRole

type AccessKeyScopeRole struct {
	// Role is the name of the role to apply to the access key scope.
	// +optional
	Role AccessKeyScopeRoleName `json:"role,omitempty"`

	// Projects specifies the projects the access key should have access to.
	// +optional
	Projects []string `json:"projects,omitempty"`

	// VirtualClusters specifies the tenant clusters the access key is allowed to access.
	// +optional
	VirtualClusters []string `json:"virtualClusters,omitempty"`
}

func (*AccessKeyScopeRole) DeepCopy

func (in *AccessKeyScopeRole) DeepCopy() *AccessKeyScopeRole

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

func (*AccessKeyScopeRole) DeepCopyInto

func (in *AccessKeyScopeRole) DeepCopyInto(out *AccessKeyScopeRole)

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

func (AccessKeyScopeRole) OpenAPIModelName added in v4.7.0

func (in AccessKeyScopeRole) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type AccessKeyScopeRoleName

type AccessKeyScopeRoleName string

AccessKeyScopeRoleName is the role name for a given scope +enum

const (
	AccessKeyScopeRoleAgent         AccessKeyScopeRoleName = "agent"
	AccessKeyScopeRoleVCluster      AccessKeyScopeRoleName = "vcluster"
	AccessKeyScopeRoleNetworkPeer   AccessKeyScopeRoleName = "network-peer"
	AccessKeyScopeRoleLoftCLI       AccessKeyScopeRoleName = "loft-cli"
	AccessKeyScopeRoleWorkspace     AccessKeyScopeRoleName = "workspace"
	AccessKeyScopeRoleMetricsWriter AccessKeyScopeRoleName = "metrics-writer"
	AccessKeyScopeRoleMetricsReader AccessKeyScopeRoleName = "metrics-reader"
)

type AccessKeyScopeRule

type AccessKeyScopeRule struct {
	// The verbs that match this rule.
	// An empty list implies every verb.
	// +optional
	Verbs []string `json:"verbs,omitempty"`

	// Resources that this rule matches. An empty list implies all kinds in all API groups.
	// +optional
	Resources []GroupResources `json:"resources,omitempty"`

	// Namespaces that this rule matches.
	// The empty string "" matches non-namespaced resources.
	// An empty list implies every namespace.
	// +optional
	Namespaces []string `json:"namespaces,omitempty"`

	// NonResourceURLs is a set of URL paths that should be checked.
	// *s are allowed, but only as the full, final step in the path.
	// Examples:
	//  "/metrics" - Log requests for apiserver metrics
	//  "/healthz*" - Log all health checks
	// +optional
	NonResourceURLs []string `json:"nonResourceURLs,omitempty"`

	// RequestTargets is a list of request targets that are allowed.
	// An empty list implies every request.
	// +optional
	RequestTargets []RequestTarget `json:"requestTargets,omitempty"`

	// Cluster that this rule matches. Only applies to cluster requests.
	// If this is set, no requests for non cluster requests are allowed.
	// An empty cluster means no restrictions will apply.
	// +optional
	Cluster string `json:"cluster,omitempty"`

	// VirtualClusters that this rule matches. Only applies to tenant cluster requests.
	// An empty list means no restrictions will apply.
	// +optional
	VirtualClusters []AccessKeyVirtualCluster `json:"virtualClusters,omitempty"`
}

AccessKeyScopeRule describes a rule for the access key

func (*AccessKeyScopeRule) DeepCopy

func (in *AccessKeyScopeRule) DeepCopy() *AccessKeyScopeRule

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

func (*AccessKeyScopeRule) DeepCopyInto

func (in *AccessKeyScopeRule) DeepCopyInto(out *AccessKeyScopeRule)

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

func (AccessKeyScopeRule) OpenAPIModelName added in v4.7.0

func (in AccessKeyScopeRule) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type AccessKeyScopeSpace

type AccessKeyScopeSpace struct {
	// Project is the name of the project.
	// +optional
	Project string `json:"project,omitempty"`

	// Space is the name of the space. You can specify * to select all spaces.
	// +optional
	Space string `json:"space,omitempty"`
}

func (*AccessKeyScopeSpace) DeepCopy

func (in *AccessKeyScopeSpace) DeepCopy() *AccessKeyScopeSpace

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

func (*AccessKeyScopeSpace) DeepCopyInto

func (in *AccessKeyScopeSpace) DeepCopyInto(out *AccessKeyScopeSpace)

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

func (AccessKeyScopeSpace) OpenAPIModelName added in v4.7.0

func (in AccessKeyScopeSpace) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type AccessKeyScopeVirtualCluster

type AccessKeyScopeVirtualCluster struct {
	// Project is the name of the project.
	// +optional
	Project string `json:"project,omitempty"`

	// VirtualCluster is the name of the tenant cluster to access. You can specify * to select all tenant clusters.
	// +optional
	VirtualCluster string `json:"virtualCluster,omitempty"`
}

func (*AccessKeyScopeVirtualCluster) DeepCopy

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

func (*AccessKeyScopeVirtualCluster) DeepCopyInto

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

func (AccessKeyScopeVirtualCluster) OpenAPIModelName added in v4.7.0

func (in AccessKeyScopeVirtualCluster) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type AccessKeySpec

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

	// Description describes an app
	// +optional
	Description string `json:"description,omitempty"`

	// The user this access key refers to
	// +optional
	User string `json:"user,omitempty"`

	// The team this access key refers to
	// +optional
	Team string `json:"team,omitempty"`

	// Subject is a generic subject that can be used
	// instead of user or team
	// +optional
	Subject string `json:"subject,omitempty"`

	// Groups specifies extra groups to apply when using
	// this access key
	// +optional
	Groups []string `json:"groups,omitempty"`

	// The actual access key that will be used as a bearer token
	// +optional
	Key string `json:"key,omitempty"`

	// If this field is true, the access key is still allowed to exist,
	// however will not work to access the api
	// +optional
	Disabled bool `json:"disabled,omitempty"`

	// The time to live for this access key
	// +optional
	TTL int64 `json:"ttl,omitempty"`

	// If this is specified, the time to live for this access key will
	// start after the lastActivity instead of creation timestamp
	// +optional
	TTLAfterLastActivity bool `json:"ttlAfterLastActivity,omitempty"`

	// Scope defines the scope of the access key.
	// +optional
	Scope *AccessKeyScope `json:"scope,omitempty"`

	// The type of an access key, which basically describes if the access
	// key is user managed or managed by loft itself.
	// +optional
	Type AccessKeyType `json:"type,omitempty"`

	// If available, contains information about the sso login data for this
	// access key
	// +optional
	Identity *SSOIdentity `json:"identity,omitempty"`

	// The last time the identity was refreshed
	// +optional
	IdentityRefresh *metav1.Time `json:"identityRefresh,omitempty"`

	// If the token is a refresh token, contains information about it
	// +optional
	OIDCProvider *AccessKeyOIDCProvider `json:"oidcProvider,omitempty"`

	// DEPRECATED: do not use anymore
	// Parent is used to share OIDC and external token information
	// with multiple access keys. Since copying an OIDC refresh token
	// would result in the other access keys becoming invalid after a refresh
	// parent allows access keys to share that information.
	//
	// The use case for this is primarily user generated access keys,
	// which will have the users current access key as parent if it contains
	// an OIDC token.
	// +optional
	Parent string `json:"parent,omitempty"`

	// DEPRECATED: Use identity instead
	// If available, contains information about the oidc login data for this
	// access key
	// +optional
	OIDCLogin *AccessKeyOIDC `json:"oidcLogin,omitempty"`
}

func (*AccessKeySpec) DeepCopy

func (in *AccessKeySpec) DeepCopy() *AccessKeySpec

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

func (*AccessKeySpec) DeepCopyInto

func (in *AccessKeySpec) DeepCopyInto(out *AccessKeySpec)

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

func (AccessKeySpec) OpenAPIModelName added in v4.7.0

func (in AccessKeySpec) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type AccessKeyStatus

type AccessKeyStatus struct {
	// The last time this access key was used to access the api
	// +optional
	LastActivity *metav1.Time `json:"lastActivity,omitempty"`
}

AccessKeyStatus holds the status of an access key

func (*AccessKeyStatus) DeepCopy

func (in *AccessKeyStatus) DeepCopy() *AccessKeyStatus

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

func (*AccessKeyStatus) DeepCopyInto

func (in *AccessKeyStatus) DeepCopyInto(out *AccessKeyStatus)

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

func (AccessKeyStatus) OpenAPIModelName added in v4.7.0

func (in AccessKeyStatus) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type AccessKeyType

type AccessKeyType string

AccessKeyType describes the type of an access key

const (
	AccessKeyTypeNone             AccessKeyType = ""
	AccessKeyTypeLogin            AccessKeyType = "Login"
	AccessKeyTypeUser             AccessKeyType = "User"
	AccessKeyTypeOther            AccessKeyType = "Other"
	AccessKeyTypeReset            AccessKeyType = "Reset"
	AccessKeyTypeOIDCRefreshToken AccessKeyType = "OIDCRefreshToken"
	AccessKeyTypeNetworkPeer      AccessKeyType = "NetworkPeer"
	AccessKeyTypeWorkspace        AccessKeyType = "Workspace"
)

These are the valid access key types

type AccessKeyVirtualCluster

type AccessKeyVirtualCluster struct {
	// Name of the tenant cluster. Empty means all tenant clusters.
	// +optional
	Name string `json:"name,omitempty"`

	// Namespace of the tenant cluster. Empty means all namespaces.
	// +optional
	Namespace string `json:"namespace,omitempty"`
}

func (*AccessKeyVirtualCluster) DeepCopy

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

func (*AccessKeyVirtualCluster) DeepCopyInto

func (in *AccessKeyVirtualCluster) DeepCopyInto(out *AccessKeyVirtualCluster)

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

func (AccessKeyVirtualCluster) OpenAPIModelName added in v4.7.0

func (in AccessKeyVirtualCluster) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type AllowedCluster

type AllowedCluster struct {
	// Name is the name of the cluster that is allowed to create an environment in.
	// +optional
	Name string `json:"name,omitempty"`
}

func (*AllowedCluster) DeepCopy

func (in *AllowedCluster) DeepCopy() *AllowedCluster

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

func (*AllowedCluster) DeepCopyInto

func (in *AllowedCluster) DeepCopyInto(out *AllowedCluster)

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

func (AllowedCluster) OpenAPIModelName added in v4.7.0

func (in AllowedCluster) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type AllowedClusterAccountTemplate

type AllowedClusterAccountTemplate struct {
	// Name is the name of a cluster account template
	// +optional
	Name string `json:"name,omitempty"`
}

func (*AllowedClusterAccountTemplate) DeepCopy

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

func (*AllowedClusterAccountTemplate) DeepCopyInto

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

func (AllowedClusterAccountTemplate) OpenAPIModelName added in v4.7.0

func (in AllowedClusterAccountTemplate) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type AllowedNodeProfile added in v4.11.0

type AllowedNodeProfile struct {
	// Name of the NodeProfile, or "<owner>.*" to allow all NodeProfiles
	// with the given owner prefix.
	// +optional
	Name string `json:"name,omitempty"`
}

AllowedNodeProfile restricts which NodeProfile a project's consumers may reference. The Name field is either an exact profile name or an "<owner>.*" wildcard, matching the same semantics as AllowedNodeType.

func (*AllowedNodeProfile) DeepCopy added in v4.11.0

func (in *AllowedNodeProfile) DeepCopy() *AllowedNodeProfile

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

func (*AllowedNodeProfile) DeepCopyInto added in v4.11.0

func (in *AllowedNodeProfile) DeepCopyInto(out *AllowedNodeProfile)

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

func (AllowedNodeProfile) OpenAPIModelName added in v4.11.0

func (in AllowedNodeProfile) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type AllowedNodeType added in v4.10.0

type AllowedNodeType struct {
	// Name of the NodeType, or "<provider>.*" to allow all NodeTypes
	// of the given provider.
	// +optional
	Name string `json:"name,omitempty"`
}

func (*AllowedNodeType) DeepCopy added in v4.10.0

func (in *AllowedNodeType) DeepCopy() *AllowedNodeType

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

func (*AllowedNodeType) DeepCopyInto added in v4.10.0

func (in *AllowedNodeType) DeepCopyInto(out *AllowedNodeType)

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

func (AllowedNodeType) OpenAPIModelName added in v4.10.0

func (in AllowedNodeType) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type AllowedRunner

type AllowedRunner struct {
	// Name is the name of the runner that is allowed to create an environment in.
	// +optional
	Name string `json:"name,omitempty"`
}

func (*AllowedRunner) DeepCopy

func (in *AllowedRunner) DeepCopy() *AllowedRunner

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

func (*AllowedRunner) DeepCopyInto

func (in *AllowedRunner) DeepCopyInto(out *AllowedRunner)

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

func (AllowedRunner) OpenAPIModelName added in v4.7.0

func (in AllowedRunner) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type AllowedTemplate

type AllowedTemplate struct {
	// Kind of the template that is allowed. Supports DevPodWorkspaceTemplate, VirtualClusterTemplate, SpaceTemplate and StackTemplate.
	// +optional
	Kind string `json:"kind,omitempty"`

	// Group of the template that is allowed. Currently only supports storage.loft.sh
	// +optional
	Group string `json:"group,omitempty"`

	// Name of the template
	// +optional
	Name string `json:"name,omitempty"`

	// IsDefault specifies if the template should be used as a default
	// +optional
	IsDefault bool `json:"isDefault,omitempty"`
}

func (*AllowedTemplate) DeepCopy

func (in *AllowedTemplate) DeepCopy() *AllowedTemplate

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

func (*AllowedTemplate) DeepCopyInto

func (in *AllowedTemplate) DeepCopyInto(out *AllowedTemplate)

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

func (AllowedTemplate) OpenAPIModelName added in v4.7.0

func (in AllowedTemplate) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type App

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

	Spec   AppSpec   `json:"spec,omitempty"`
	Status AppStatus `json:"status,omitempty"`
}

App holds the app information +k8s:openapi-gen=true

func (*App) DeepCopy

func (in *App) DeepCopy() *App

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

func (*App) DeepCopyInto

func (in *App) DeepCopyInto(out *App)

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

func (*App) DeepCopyObject

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

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

func (*App) GetAccess

func (a *App) GetAccess() []Access

func (*App) GetOwner

func (a *App) GetOwner() *UserOrTeam

func (App) OpenAPIModelName added in v4.7.0

func (in App) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

func (*App) SetAccess

func (a *App) SetAccess(access []Access)

func (*App) SetOwner

func (a *App) SetOwner(userOrTeam *UserOrTeam)

type AppConfig

type AppConfig struct {
	// DefaultNamespace is the default namespace this app should installed
	// in.
	// +optional
	DefaultNamespace string `json:"defaultNamespace,omitempty"`

	// Readme is a longer markdown string that describes the app.
	// +optional
	Readme string `json:"readme,omitempty"`

	// Icon holds an URL to the app icon
	// +optional
	Icon string `json:"icon,omitempty"`

	// Config is the helm config to use to deploy the helm release
	// +optional
	Config HelmReleaseConfig `json:"config,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"`

	// Parameters define additional app parameters that will set helm values
	// +optional
	Parameters []AppParameter `json:"parameters,omitempty"`

	// DEPRECATED: Use config.bash instead
	// StreamContainer can be used to stream a containers logs instead of the helm output.
	// +optional
	// +internal
	StreamContainer *StreamContainer `json:"streamContainer,omitempty"`
}

func (*AppConfig) DeepCopy

func (in *AppConfig) DeepCopy() *AppConfig

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

func (*AppConfig) DeepCopyInto

func (in *AppConfig) DeepCopyInto(out *AppConfig)

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

func (AppConfig) OpenAPIModelName added in v4.7.0

func (in AppConfig) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type AppInstance added in v4.12.0

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

	Spec   AppInstanceSpec   `json:"spec,omitempty"`
	Status AppInstanceStatus `json:"status,omitempty"`
}

AppInstance holds the information of app instances +k8s:openapi-gen=true

func (*AppInstance) DeepCopy added in v4.12.0

func (in *AppInstance) DeepCopy() *AppInstance

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

func (*AppInstance) DeepCopyInto added in v4.12.0

func (in *AppInstance) DeepCopyInto(out *AppInstance)

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

func (*AppInstance) DeepCopyObject added in v4.12.0

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

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

func (*AppInstance) GetAccess added in v4.12.0

func (a *AppInstance) GetAccess() []Access

func (*AppInstance) GetConditions added in v4.12.0

func (a *AppInstance) GetConditions() agentstoragev1.Conditions

func (*AppInstance) GetOwner added in v4.12.0

func (a *AppInstance) GetOwner() *UserOrTeam

func (AppInstance) OpenAPIModelName added in v4.12.0

func (in AppInstance) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

func (*AppInstance) SetAccess added in v4.12.0

func (a *AppInstance) SetAccess(access []Access)

func (*AppInstance) SetConditions added in v4.12.0

func (a *AppInstance) SetConditions(conditions agentstoragev1.Conditions)

func (*AppInstance) SetOwner added in v4.12.0

func (a *AppInstance) SetOwner(userOrTeam *UserOrTeam)

type AppInstanceDestination added in v4.12.0

type AppInstanceDestination struct {
	// VirtualCluster deploys the app into a virtual cluster instance. Mutually exclusive with Space and Cluster.
	// +optional
	VirtualCluster *AppInstanceDestinationVirtualCluster `json:"virtualCluster,omitempty"`

	// Space deploys the app into the namespace of a space instance. Mutually exclusive with VirtualCluster and Cluster.
	// +optional
	Space *AppInstanceDestinationSpace `json:"space,omitempty"`

	// Cluster deploys the app into a connected cluster. Mutually exclusive with VirtualCluster and Space.
	// +optional
	Cluster *AppInstanceDestinationCluster `json:"cluster,omitempty"`
}

func (*AppInstanceDestination) DeepCopy added in v4.12.0

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

func (*AppInstanceDestination) DeepCopyInto added in v4.12.0

func (in *AppInstanceDestination) DeepCopyInto(out *AppInstanceDestination)

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

func (AppInstanceDestination) OpenAPIModelName added in v4.12.0

func (in AppInstanceDestination) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type AppInstanceDestinationCluster added in v4.12.0

type AppInstanceDestinationCluster struct {
	// Name of the connected cluster
	// +optional
	Name string `json:"name,omitempty"`

	// Namespace in the cluster the helm release is deployed into.
	// If empty, uses the app's default namespace only for initial release resolution.
	// Existing instances retain their recorded release coordinates.
	// +optional
	Namespace string `json:"namespace,omitempty"`
}

func (*AppInstanceDestinationCluster) DeepCopy added in v4.12.0

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

func (*AppInstanceDestinationCluster) DeepCopyInto added in v4.12.0

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

func (AppInstanceDestinationCluster) OpenAPIModelName added in v4.12.0

func (in AppInstanceDestinationCluster) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type AppInstanceDestinationSpace added in v4.12.0

type AppInstanceDestinationSpace struct {
	// Name of the space instance within the project. The helm release is deployed
	// into the namespace of the space.
	// +optional
	Name string `json:"name,omitempty"`
}

func (*AppInstanceDestinationSpace) DeepCopy added in v4.12.0

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

func (*AppInstanceDestinationSpace) DeepCopyInto added in v4.12.0

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

func (AppInstanceDestinationSpace) OpenAPIModelName added in v4.12.0

func (in AppInstanceDestinationSpace) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type AppInstanceDestinationVirtualCluster added in v4.12.0

type AppInstanceDestinationVirtualCluster struct {
	// Name of the virtual cluster instance within the project
	// +optional
	Name string `json:"name,omitempty"`

	// Namespace the helm release is deployed into. Only used when target is vCluster;
	// for the host target the release is always deployed into the virtual cluster's host namespace.
	// If empty, uses the app's default namespace only for initial release resolution.
	// Existing instances retain their recorded release coordinates.
	// +optional
	Namespace string `json:"namespace,omitempty"`

	// Target selects whether the app is deployed inside the virtual cluster or into its host namespace
	// +optional
	Target AppInstanceDestinationVirtualClusterTarget `json:"target,omitempty"`
}

func (*AppInstanceDestinationVirtualCluster) DeepCopy added in v4.12.0

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

func (*AppInstanceDestinationVirtualCluster) DeepCopyInto added in v4.12.0

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

func (AppInstanceDestinationVirtualCluster) OpenAPIModelName added in v4.12.0

func (in AppInstanceDestinationVirtualCluster) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type AppInstanceDestinationVirtualClusterTarget added in v4.12.0

type AppInstanceDestinationVirtualClusterTarget string
const (
	AppInstanceDestinationVirtualClusterTargetVirtualCluster AppInstanceDestinationVirtualClusterTarget = "vCluster"
	AppInstanceDestinationVirtualClusterTargetHost           AppInstanceDestinationVirtualClusterTarget = "host"
)

type AppInstanceList added in v4.12.0

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

AppInstanceList contains a list of AppInstances

func (*AppInstanceList) DeepCopy added in v4.12.0

func (in *AppInstanceList) DeepCopy() *AppInstanceList

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

func (*AppInstanceList) DeepCopyInto added in v4.12.0

func (in *AppInstanceList) DeepCopyInto(out *AppInstanceList)

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

func (*AppInstanceList) DeepCopyObject added in v4.12.0

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

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

func (AppInstanceList) OpenAPIModelName added in v4.12.0

func (in AppInstanceList) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type AppInstanceSpec added in v4.12.0

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

	// Description describes the app instance
	// +optional
	Description string `json:"description,omitempty"`

	// TemplateRef holds the reference to the app to deploy
	// +optional
	TemplateRef *AppInstanceTemplateRef `json:"templateRef,omitempty"`

	// Template is the inline app configuration to deploy. Mutually exclusive with TemplateRef.
	// +optional
	Template *AppConfig `json:"template,omitempty"`

	// Parameters are values to pass to the app.
	// The values should be encoded as YAML string where each parameter is represented as a top-level field key.
	// +optional
	Parameters *runtime.RawExtension `json:"parameters,omitempty"`

	// ReleaseName is the name of the helm release that is created for this app instance.
	// If empty, defaults to the name of the AppInstance.
	// +optional
	ReleaseName string `json:"releaseName,omitempty"`

	// Destination defines where the app is deployed to
	Destination AppInstanceDestination `json:"destination,omitempty"`

	// Owner holds the owner of this object
	// +optional
	Owner *UserOrTeam `json:"owner,omitempty"`

	// Access holds the access rights for users and teams
	// +optional
	Access []Access `json:"access,omitempty"`
}

func (*AppInstanceSpec) DeepCopy added in v4.12.0

func (in *AppInstanceSpec) DeepCopy() *AppInstanceSpec

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

func (*AppInstanceSpec) DeepCopyInto added in v4.12.0

func (in *AppInstanceSpec) DeepCopyInto(out *AppInstanceSpec)

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

func (AppInstanceSpec) OpenAPIModelName added in v4.12.0

func (in AppInstanceSpec) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type AppInstanceStatus added in v4.12.0

type AppInstanceStatus struct {
	// Phase describes the current phase the app instance is in
	// +optional
	Phase InstancePhase `json:"phase,omitempty"`

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

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

	// ObservedGeneration is the last generation that was reconciled
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// Conditions holds several conditions the app instance might be in
	// +optional
	Conditions agentstoragev1.Conditions `json:"conditions,omitempty"`

	// App holds the resolved app configuration that was last deployed
	// +optional
	App *AppConfig `json:"app,omitempty"`

	// Version is the resolved app version that was last deployed
	// +optional
	Version string `json:"version,omitempty"`

	// ReleaseName is the effective name of the helm release created by the last
	// deployment. It is recorded so the release can be uninstalled even if the
	// referenced app or its default namespace can no longer be resolved.
	// +optional
	ReleaseName string `json:"releaseName,omitempty"`

	// ReleaseNamespace is the effective namespace the helm release was deployed
	// into by the last deployment.
	// +optional
	ReleaseNamespace string `json:"releaseNamespace,omitempty"`

	// Revision is the revision of the helm release created by the last deployment
	// +optional
	Revision int `json:"revision,omitempty"`

	// DeployAttempts counts the consecutive failed deploy attempts for the current
	// spec generation and resolved app configuration. It backs the automatic retry
	// of failed deploys and is reset whenever the deploy input changes or a deploy
	// succeeds.
	// +optional
	DeployAttempts int `json:"deployAttempts,omitempty"`

	// LastDeployTime is when the last deploy attempt finished, successful or not.
	// Together with DeployAttempts it schedules the automatic retries of failed
	// deploys.
	// +optional
	LastDeployTime *metav1.Time `json:"lastDeployTime,omitempty"`
}

func (*AppInstanceStatus) DeepCopy added in v4.12.0

func (in *AppInstanceStatus) DeepCopy() *AppInstanceStatus

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

func (*AppInstanceStatus) DeepCopyInto added in v4.12.0

func (in *AppInstanceStatus) DeepCopyInto(out *AppInstanceStatus)

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

func (AppInstanceStatus) OpenAPIModelName added in v4.12.0

func (in AppInstanceStatus) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type AppInstanceTemplateRef added in v4.12.0

type AppInstanceTemplateRef struct {
	// Name holds the name of the app to reference.
	// +optional
	Name string `json:"name,omitempty"`

	// Version of the app to deploy. If empty, the latest version is deployed.
	// +optional
	Version string `json:"version,omitempty"`
}

func (*AppInstanceTemplateRef) DeepCopy added in v4.12.0

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

func (*AppInstanceTemplateRef) DeepCopyInto added in v4.12.0

func (in *AppInstanceTemplateRef) DeepCopyInto(out *AppInstanceTemplateRef)

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

func (AppInstanceTemplateRef) OpenAPIModelName added in v4.12.0

func (in AppInstanceTemplateRef) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type AppList

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

AppList contains a list of App

func (*AppList) DeepCopy

func (in *AppList) DeepCopy() *AppList

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

func (*AppList) DeepCopyInto

func (in *AppList) DeepCopyInto(out *AppList)

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

func (*AppList) DeepCopyObject

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

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

func (AppList) OpenAPIModelName added in v4.7.0

func (in AppList) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type AppParameter

type AppParameter struct {
	// Variable is the path of the variable. Can be foo or foo.bar for nested objects.
	// +optional
	Variable string `json:"variable,omitempty"`

	// Label is the label to show for this parameter
	// +optional
	Label string `json:"label,omitempty"`

	// Description is the description to show for this parameter
	// +optional
	Description string `json:"description,omitempty"`

	// Type of the parameter. Can be one of:
	// string, multiline, boolean, number and password
	// +optional
	Type string `json:"type,omitempty"`

	// Options is a slice of strings, where each string represents a mutually exclusive choice.
	// +optional
	Options []string `json:"options,omitempty"`

	// Min is the minimum number if type is number
	// +optional
	Min *int `json:"min,omitempty"`

	// Max is the maximum number if type is number
	// +optional
	Max *int `json:"max,omitempty"`

	// Required specifies if this parameter is required
	// +optional
	Required bool `json:"required,omitempty"`

	// DefaultValue is the default value if none is specified
	// +optional
	DefaultValue string `json:"defaultValue,omitempty"`

	// Placeholder shown in the UI
	// +optional
	Placeholder string `json:"placeholder,omitempty"`

	// Invalidation regex that if matched will reject the input
	// +optional
	Invalidation string `json:"invalidation,omitempty"`

	// Validation regex that if matched will allow the input
	// +optional
	Validation string `json:"validation,omitempty"`

	// Section where this app should be displayed. Apps with the same section name will be grouped together
	// +optional
	Section string `json:"section,omitempty"`
}

func (*AppParameter) DeepCopy

func (in *AppParameter) DeepCopy() *AppParameter

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

func (*AppParameter) DeepCopyInto

func (in *AppParameter) DeepCopyInto(out *AppParameter)

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

func (AppParameter) OpenAPIModelName added in v4.7.0

func (in AppParameter) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

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

	// Hash is the hash of the app configuration
	// +optional
	Hash string `json:"hash,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.

func (AppReference) OpenAPIModelName added in v4.7.0

func (in AppReference) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type AppSpec

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

	// Description describes an app
	// +optional
	Description string `json:"description,omitempty"`

	// Owner holds the owner of this object
	// +optional
	Owner *UserOrTeam `json:"owner,omitempty"`

	// Clusters are the clusters this app can be installed in.
	// +optional
	Clusters []string `json:"clusters,omitempty"`

	// RecommendedApp specifies where this app should show up as recommended app
	// +optional
	RecommendedApp []RecommendedApp `json:"recommendedApp,omitempty"`

	// AppConfig is the app configuration
	AppConfig `json:",inline"`

	// Versions are different app versions that can be referenced
	// +optional
	Versions []AppVersion `json:"versions,omitempty"`

	// Access holds the access rights for users and teams
	// +optional
	Access []Access `json:"access,omitempty"`

	// DEPRECATED: Use config instead
	// manifest represents kubernetes resources that will be deployed into the target namespace
	// +optional
	Manifests string `json:"manifests,omitempty"`

	// DEPRECATED: Use config instead
	// helm defines the configuration for a helm deployment
	// +optional
	Helm *HelmConfiguration `json:"helm,omitempty"`
}

AppSpec holds the specification

func (*AppSpec) DeepCopy

func (in *AppSpec) DeepCopy() *AppSpec

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

func (*AppSpec) DeepCopyInto

func (in *AppSpec) DeepCopyInto(out *AppSpec)

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

func (AppSpec) OpenAPIModelName added in v4.7.0

func (in AppSpec) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type AppStatus

type AppStatus struct {
}

AppStatus holds the status

func (*AppStatus) DeepCopy

func (in *AppStatus) DeepCopy() *AppStatus

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

func (*AppStatus) DeepCopyInto

func (in *AppStatus) DeepCopyInto(out *AppStatus)

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

func (AppStatus) OpenAPIModelName added in v4.7.0

func (in AppStatus) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type AppVersion

type AppVersion struct {
	// AppConfig is the app configuration
	AppConfig `json:",inline"`

	// Version is the version. Needs to be in X.X.X format.
	// +optional
	Version string `json:"version,omitempty"`
}

func (*AppVersion) DeepCopy

func (in *AppVersion) DeepCopy() *AppVersion

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

func (*AppVersion) DeepCopyInto

func (in *AppVersion) DeepCopyInto(out *AppVersion)

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

func (AppVersion) OpenAPIModelName added in v4.7.0

func (in AppVersion) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type ArgoCD added in v4.10.0

type ArgoCD struct {
	// Enabled defines if argo cd is enabled
	// +optional
	Enabled bool `json:"enabled,omitempty"`

	// Connector specifies the argo cd connector name
	// +optional
	Connector string `json:"connector,omitempty"`

	// Cluster holds settings for the cluster entry that is registered in argo cd
	// +optional
	Cluster *ArgoCDClusterSpec `json:"cluster,omitempty"`
}

func (*ArgoCD) DeepCopy added in v4.10.0

func (in *ArgoCD) DeepCopy() *ArgoCD

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

func (*ArgoCD) DeepCopyInto added in v4.10.0

func (in *ArgoCD) DeepCopyInto(out *ArgoCD)

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

func (ArgoCD) OpenAPIModelName added in v4.10.0

func (in ArgoCD) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type ArgoCDApplication added in v4.10.0

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

	Spec   ArgoCDApplicationSpec   `json:"spec,omitempty"`
	Status ArgoCDApplicationStatus `json:"status,omitempty"`
}

ArgoCDApplication holds the information of blueprint instances +k8s:openapi-gen=true

func (*ArgoCDApplication) DeepCopy added in v4.10.0

func (in *ArgoCDApplication) DeepCopy() *ArgoCDApplication

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

func (*ArgoCDApplication) DeepCopyInto added in v4.10.0

func (in *ArgoCDApplication) DeepCopyInto(out *ArgoCDApplication)

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

func (*ArgoCDApplication) DeepCopyObject added in v4.10.0

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

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

func (*ArgoCDApplication) GetAccess added in v4.10.0

func (a *ArgoCDApplication) GetAccess() []Access

func (*ArgoCDApplication) GetConditions added in v4.10.0

func (a *ArgoCDApplication) GetConditions() agentstoragev1.Conditions

func (*ArgoCDApplication) GetOwner added in v4.10.0

func (a *ArgoCDApplication) GetOwner() *UserOrTeam

func (ArgoCDApplication) OpenAPIModelName added in v4.10.0

func (in ArgoCDApplication) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

func (*ArgoCDApplication) SetAccess added in v4.10.0

func (a *ArgoCDApplication) SetAccess(access []Access)

func (*ArgoCDApplication) SetConditions added in v4.10.0

func (a *ArgoCDApplication) SetConditions(conditions agentstoragev1.Conditions)

func (*ArgoCDApplication) SetOwner added in v4.10.0

func (a *ArgoCDApplication) SetOwner(userOrTeam *UserOrTeam)

type ArgoCDApplicationList added in v4.10.0

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

ArgoCDApplicationList contains a list of ArgoCDApplications

func (*ArgoCDApplicationList) DeepCopy added in v4.10.0

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

func (*ArgoCDApplicationList) DeepCopyInto added in v4.10.0

func (in *ArgoCDApplicationList) DeepCopyInto(out *ArgoCDApplicationList)

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

func (*ArgoCDApplicationList) DeepCopyObject added in v4.10.0

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

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

func (ArgoCDApplicationList) OpenAPIModelName added in v4.10.0

func (in ArgoCDApplicationList) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type ArgoCDApplicationSpec added in v4.10.0

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

	// Description describes the Argo CD application
	// +optional
	Description string `json:"description,omitempty"`

	// TemplateRef holds the Argo CD application template reference
	TemplateRef *ArgoCDApplicationTemplateRef `json:"templateRef,omitempty"`

	// Template is the Argo CD application template definition
	// +optional
	Template *ArgoCDApplicationTemplateDefinition `json:"template,omitempty"`

	// Parameters are values to pass to the template.
	// The values should be encoded as YAML string where each parameter is represented as a top-level field key.
	// +optional
	Parameters *runtime.RawExtension `json:"parameters,omitempty"`

	// Destination holds the Argo CD target reference
	Destination ArgoCDDestination `json:"destination,omitempty"`

	// Owner holds the owner of this object
	// +optional
	Owner *UserOrTeam `json:"owner,omitempty"`

	// Access holds the access rights for users and teams
	// +optional
	Access []Access `json:"access,omitempty"`
}

func (*ArgoCDApplicationSpec) DeepCopy added in v4.10.0

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

func (*ArgoCDApplicationSpec) DeepCopyInto added in v4.10.0

func (in *ArgoCDApplicationSpec) DeepCopyInto(out *ArgoCDApplicationSpec)

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

func (ArgoCDApplicationSpec) OpenAPIModelName added in v4.10.0

func (in ArgoCDApplicationSpec) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type ArgoCDApplicationStatus added in v4.10.0

type ArgoCDApplicationStatus struct {
	// Conditions holds several conditions the tenant cluster might be in
	// +optional
	Conditions agentstoragev1.Conditions `json:"conditions,omitempty"`

	// Host of the Argo CD server
	// +optional
	Host string `json:"host,omitempty"`

	// Application holds the status of the Argo CD application
	// +optional
	Application *argoapplicationsv1alpha1.ApplicationStatus `json:"application,omitempty"`
}

func (*ArgoCDApplicationStatus) DeepCopy added in v4.10.0

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

func (*ArgoCDApplicationStatus) DeepCopyInto added in v4.10.0

func (in *ArgoCDApplicationStatus) DeepCopyInto(out *ArgoCDApplicationStatus)

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

func (ArgoCDApplicationStatus) OpenAPIModelName added in v4.10.0

func (in ArgoCDApplicationStatus) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type ArgoCDApplicationTemplate added in v4.10.0

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

	Spec   ArgoCDApplicationTemplateSpec   `json:"spec,omitempty"`
	Status ArgoCDApplicationTemplateStatus `json:"status,omitempty"`
}

ArgoCDApplicationTemplate holds the information of Argo CD application templates +k8s:openapi-gen=true

func (*ArgoCDApplicationTemplate) DeepCopy added in v4.10.0

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

func (*ArgoCDApplicationTemplate) DeepCopyInto added in v4.10.0

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

func (*ArgoCDApplicationTemplate) DeepCopyObject added in v4.10.0

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

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

func (*ArgoCDApplicationTemplate) GetAccess added in v4.10.0

func (a *ArgoCDApplicationTemplate) GetAccess() []Access

func (*ArgoCDApplicationTemplate) GetOwner added in v4.10.0

func (a *ArgoCDApplicationTemplate) GetOwner() *UserOrTeam

func (ArgoCDApplicationTemplate) OpenAPIModelName added in v4.10.0

func (in ArgoCDApplicationTemplate) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

func (*ArgoCDApplicationTemplate) SetAccess added in v4.10.0

func (a *ArgoCDApplicationTemplate) SetAccess(access []Access)

func (*ArgoCDApplicationTemplate) SetOwner added in v4.10.0

func (a *ArgoCDApplicationTemplate) SetOwner(userOrTeam *UserOrTeam)

type ArgoCDApplicationTemplateDefinition added in v4.10.0

type ArgoCDApplicationTemplateDefinition struct {
	// Metadata is the metadata of the Argo CD application
	// +optional
	TemplateMetadata `json:"metadata,omitempty"`

	// Spec is the spec of the Argo CD application
	// +optional
	Spec argoapplicationsv1alpha1.ApplicationSpec `json:"spec,omitempty"`
}

func (*ArgoCDApplicationTemplateDefinition) DeepCopy added in v4.10.0

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

func (*ArgoCDApplicationTemplateDefinition) DeepCopyInto added in v4.10.0

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

func (ArgoCDApplicationTemplateDefinition) OpenAPIModelName added in v4.10.0

func (in ArgoCDApplicationTemplateDefinition) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type ArgoCDApplicationTemplateList added in v4.10.0

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

ArgoCDApplicationTemplateList contains a list of ArgoCDApplicationTemplates

func (*ArgoCDApplicationTemplateList) DeepCopy added in v4.10.0

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

func (*ArgoCDApplicationTemplateList) DeepCopyInto added in v4.10.0

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

func (*ArgoCDApplicationTemplateList) DeepCopyObject added in v4.10.0

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

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

func (ArgoCDApplicationTemplateList) OpenAPIModelName added in v4.10.0

func (in ArgoCDApplicationTemplateList) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type ArgoCDApplicationTemplateRef added in v4.10.0

type ArgoCDApplicationTemplateRef struct {
	// Name holds the name of the blueprint template to reference.
	// +optional
	Name string `json:"name,omitempty"`
}

func (*ArgoCDApplicationTemplateRef) DeepCopy added in v4.10.0

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

func (*ArgoCDApplicationTemplateRef) DeepCopyInto added in v4.10.0

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

func (ArgoCDApplicationTemplateRef) OpenAPIModelName added in v4.10.0

func (in ArgoCDApplicationTemplateRef) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type ArgoCDApplicationTemplateSpec added in v4.10.0

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

	// Description describes an OS image
	// +optional
	Description string `json:"description,omitempty"`

	// Template is the blueprint template definition
	// +optional
	Template ArgoCDApplicationTemplateDefinition `json:"template,omitempty"`

	// Parameters define additional app parameters that will set helm values
	// +optional
	Parameters []AppParameter `json:"parameters,omitempty"`

	// Owner holds the owner of this object
	// +optional
	Owner *UserOrTeam `json:"owner,omitempty"`

	// Access holds the access rights for users and teams
	// +optional
	Access []Access `json:"access,omitempty"`
}

func (*ArgoCDApplicationTemplateSpec) DeepCopy added in v4.10.0

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

func (*ArgoCDApplicationTemplateSpec) DeepCopyInto added in v4.10.0

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

func (ArgoCDApplicationTemplateSpec) OpenAPIModelName added in v4.10.0

func (in ArgoCDApplicationTemplateSpec) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type ArgoCDApplicationTemplateStatus added in v4.10.0

type ArgoCDApplicationTemplateStatus struct{}

func (*ArgoCDApplicationTemplateStatus) DeepCopy added in v4.10.0

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

func (*ArgoCDApplicationTemplateStatus) DeepCopyInto added in v4.10.0

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

func (ArgoCDApplicationTemplateStatus) OpenAPIModelName added in v4.10.0

func (in ArgoCDApplicationTemplateStatus) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type ArgoCDClusterSpec added in v4.12.2

type ArgoCDClusterSpec struct {
	// Metadata is set on the argo cd cluster, so an ApplicationSet can select it.
	// The platform's own loft.sh/cluster label wins over it.
	// On Akuity, a key removed here stays on the cluster until it is removed in Akuity.
	// +optional
	Metadata TemplateMetadata `json:"metadata,omitempty"`
}

ArgoCDClusterSpec holds settings for the cluster entry that is registered in argo cd.

func (*ArgoCDClusterSpec) DeepCopy added in v4.12.2

func (in *ArgoCDClusterSpec) DeepCopy() *ArgoCDClusterSpec

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

func (*ArgoCDClusterSpec) DeepCopyInto added in v4.12.2

func (in *ArgoCDClusterSpec) DeepCopyInto(out *ArgoCDClusterSpec)

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

func (ArgoCDClusterSpec) OpenAPIModelName added in v4.12.2

func (in ArgoCDClusterSpec) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type ArgoCDDestination added in v4.10.0

type ArgoCDDestination struct {
	// VirtualCluster name. Mutually exclusive with Cluster.
	// +optional
	VirtualCluster *ArgoCDDestinationVirtualCluster `json:"virtualCluster,omitempty"`

	// Cluster name. Mutually exclusive with VirtualCluster.
	// +optional
	Cluster *ArgoCDDestinationCluster `json:"cluster,omitempty"`
}

func (*ArgoCDDestination) DeepCopy added in v4.10.0

func (in *ArgoCDDestination) DeepCopy() *ArgoCDDestination

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

func (*ArgoCDDestination) DeepCopyInto added in v4.10.0

func (in *ArgoCDDestination) DeepCopyInto(out *ArgoCDDestination)

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

func (ArgoCDDestination) OpenAPIModelName added in v4.10.0

func (in ArgoCDDestination) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type ArgoCDDestinationCluster added in v4.10.0

type ArgoCDDestinationCluster struct {
	// Name of the cluster
	// +optional
	Name string `json:"name,omitempty"`
}

func (*ArgoCDDestinationCluster) DeepCopy added in v4.10.0

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

func (*ArgoCDDestinationCluster) DeepCopyInto added in v4.10.0

func (in *ArgoCDDestinationCluster) DeepCopyInto(out *ArgoCDDestinationCluster)

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

func (ArgoCDDestinationCluster) OpenAPIModelName added in v4.10.0

func (in ArgoCDDestinationCluster) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type ArgoCDDestinationVirtualCluster added in v4.10.0

type ArgoCDDestinationVirtualCluster struct {
	// Name of the tenant cluster
	// +optional
	Name string `json:"name,omitempty"`

	// Target of the tenant cluster
	// +optional
	Target ArgoCDDestinationVirtualClusterTarget `json:"target,omitempty"`
}

func (*ArgoCDDestinationVirtualCluster) DeepCopy added in v4.10.0

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

func (*ArgoCDDestinationVirtualCluster) DeepCopyInto added in v4.10.0

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

func (ArgoCDDestinationVirtualCluster) OpenAPIModelName added in v4.10.0

func (in ArgoCDDestinationVirtualCluster) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type ArgoCDDestinationVirtualClusterTarget added in v4.10.0

type ArgoCDDestinationVirtualClusterTarget string
const (
	ArgoCDDestinationVirtualClusterTargetVirtualCluster ArgoCDDestinationVirtualClusterTarget = "vCluster"
	ArgoCDDestinationVirtualClusterTargetHost           ArgoCDDestinationVirtualClusterTarget = "host"
)

type ArgoIntegrationSpec

type ArgoIntegrationSpec struct {
	// Enabled indicates if the ArgoCD Integration is enabled for the project -- this knob only
	// enables the syncing of virtualclusters, but does not enable SSO integration or project
	// creation (see subsequent spec sections!).
	// +optional
	Enabled bool `json:"enabled,omitempty"`

	// Cluster defines the name of the cluster that ArgoCD is deployed into -- if not provided this
	// will default to 'loft-cluster'.
	// +optional
	Cluster string `json:"cluster,omitempty"`

	// VirtualClusterInstance defines the name of *tenant cluster* (instance) that ArgoCD is
	// deployed into. If provided, Cluster will be ignored and Loft will assume that ArgoCD is
	// running in the specified tenant cluster.
	// +optional
	VirtualClusterInstance string `json:"virtualClusterInstance,omitempty"`

	// Namespace defines the namespace in which ArgoCD is running in the cluster.
	// +optional
	Namespace string `json:"namespace,omitempty"`

	// SSO defines single-sign-on related values for the ArgoCD Integration. Enabling SSO will allow
	// users to authenticate to ArgoCD via Loft.
	// +optional
	SSO *ArgoSSOSpec `json:"sso,omitempty"`

	// Project defines project related values for the ArgoCD Integration. Enabling Project
	// integration will cause Loft to generate and manage an ArgoCD appProject that corresponds to
	// the Loft Project.
	// +optional
	Project *ArgoProjectSpec `json:"project,omitempty"`
}

func (*ArgoIntegrationSpec) DeepCopy

func (in *ArgoIntegrationSpec) DeepCopy() *ArgoIntegrationSpec

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

func (*ArgoIntegrationSpec) DeepCopyInto

func (in *ArgoIntegrationSpec) DeepCopyInto(out *ArgoIntegrationSpec)

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

func (ArgoIntegrationSpec) OpenAPIModelName added in v4.7.0

func (in ArgoIntegrationSpec) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type ArgoProjectPolicyRule

type ArgoProjectPolicyRule struct {
	// Action is one of "*", "get", "create", "update", "delete", "sync", or "override".
	// +optional
	Action string `json:"action,omitempty"`
	// Application is the ArgoCD project/repository to apply the rule to.
	// DEPRECATED: Wasn't used. Kind provides a more flexible way to specify the resource type.
	// +optional
	Application string `json:"application,omitempty"`
	// Kind is the kind to apply the rule to
	// +optional
	Kind string `json:"kind,omitempty"`
	// Allow applies the "allow" permission to the rule, if allow is not set, the permission will
	// always be set to "deny".
	// +optional
	Allow bool `json:"permission,omitempty"`
}

func (*ArgoProjectPolicyRule) DeepCopy

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

func (*ArgoProjectPolicyRule) DeepCopyInto

func (in *ArgoProjectPolicyRule) DeepCopyInto(out *ArgoProjectPolicyRule)

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

func (ArgoProjectPolicyRule) OpenAPIModelName added in v4.7.0

func (in ArgoProjectPolicyRule) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type ArgoProjectRole

type ArgoProjectRole struct {
	// Name of the ArgoCD role to attach to the project.
	Name string `json:"name,omitempty"`
	// Description to add to the ArgoCD project.
	// +optional
	Description string `json:"description,omitempty"`
	// Rules ist a list of policy rules to attach to the role.
	Rules []ArgoProjectPolicyRule `json:"rules,omitempty"`
	// Groups is a list of OIDC group names to bind to the role.
	Groups []string `json:"groups,omitempty"`
}

func (*ArgoProjectRole) DeepCopy

func (in *ArgoProjectRole) DeepCopy() *ArgoProjectRole

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

func (*ArgoProjectRole) DeepCopyInto

func (in *ArgoProjectRole) DeepCopyInto(out *ArgoProjectRole)

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

func (ArgoProjectRole) OpenAPIModelName added in v4.7.0

func (in ArgoProjectRole) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type ArgoProjectSpec

type ArgoProjectSpec struct {
	// Enabled indicates if the ArgoCD Project Integration is enabled for this project. Enabling
	// this will cause Loft to create an appProject in ArgoCD that is associated with the Loft
	// Project. When Project integration is enabled Loft will override the default assigned role
	// set in the SSO integration spec.
	// +optional
	Enabled bool `json:"enabled,omitempty"`
	// Metadata defines additional metadata to attach to the loft created project in ArgoCD.
	// +optional
	Metadata ArgoProjectSpecMetadata `json:"metadata,omitempty"`
	// SourceRepos is a list of source repositories to attach/allow on the project, if not specified
	// will be "*" indicating all source repositories.
	// +optional
	SourceRepos []string `json:"sourceRepos,omitempty"`
	// Destinations contains list of destinations available for deployment
	Destinations []argoapplicationsv1alpha1.ApplicationDestination `json:"destinations,omitempty"`
	// Roles is a list of roles that should be attached to the ArgoCD project. If roles are provided
	// no loft default roles will be set. If no roles are provided *and* SSO is enabled, loft will
	// configure sane default values.
	// +optional
	Roles []ArgoProjectRole `json:"roles,omitempty"`
	// ClusterResourceWhitelist contains a list of whitelisted cluster level resources
	// If not specified or empty, deny all cluster-scope resources.
	// +optional
	ClusterResourceWhitelist []argoapplicationsv1alpha1.ClusterResourceRestrictionItem `json:"clusterResourceWhitelist,omitempty"`
	// NamespaceResourceWhitelist contains a list of whitelisted namespace level resources
	// If not specified or empty, allow all namespace-scope resources.
	// +optional
	NamespaceResourceWhitelist []metav1.GroupKind `json:"namespaceResourceWhitelist,omitempty"`
	// ClusterResourceBlacklist contains a list of blacklisted cluster level resources
	// +optional
	ClusterResourceBlacklist []argoapplicationsv1alpha1.ClusterResourceRestrictionItem `json:"clusterResourceBlacklist,omitempty"`
	// NamespaceResourceBlacklist contains a list of blacklisted namespace level resources
	// +optional
	NamespaceResourceBlacklist []metav1.GroupKind `json:"namespaceResourceBlacklist,omitempty"`
	// SourceNamespaces defines the namespaces application resources are allowed to be created in
	// +optional
	SourceNamespaces []string `json:"sourceNamespaces,omitempty"`
}

func (*ArgoProjectSpec) DeepCopy

func (in *ArgoProjectSpec) DeepCopy() *ArgoProjectSpec

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

func (*ArgoProjectSpec) DeepCopyInto

func (in *ArgoProjectSpec) DeepCopyInto(out *ArgoProjectSpec)

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

func (ArgoProjectSpec) OpenAPIModelName added in v4.7.0

func (in ArgoProjectSpec) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type ArgoProjectSpecMetadata

type ArgoProjectSpecMetadata struct {
	// ExtraAnnotations are optional annotations that can be attached to the project in ArgoCD.
	// +optional
	ExtraAnnotations map[string]string `json:"extraAnnotations,omitempty"`
	// ExtraLabels are optional labels that can be attached to the project in ArgoCD.
	// +optional
	ExtraLabels map[string]string `json:"extraLabels,omitempty"`
	// Description to add to the ArgoCD project.
	// +optional
	Description string `json:"description,omitempty"`
}

func (*ArgoProjectSpecMetadata) DeepCopy

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

func (*ArgoProjectSpecMetadata) DeepCopyInto

func (in *ArgoProjectSpecMetadata) DeepCopyInto(out *ArgoProjectSpecMetadata)

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

func (ArgoProjectSpecMetadata) OpenAPIModelName added in v4.7.0

func (in ArgoProjectSpecMetadata) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type ArgoSSOSpec

type ArgoSSOSpec struct {
	// Enabled indicates if the ArgoCD SSO Integration is enabled for this project. Enabling this
	// will cause Loft to configure SSO authentication via Loft in ArgoCD. If Projects are *not*
	// enabled, all users associated with this Project will be assigned either the 'read-only'
	// (default) role, *or* the roles set under the AssignedRoles field.
	// +optional
	Enabled bool `json:"enabled,omitempty"`
	// Host defines the ArgoCD host address that will be used for OIDC authentication between loft
	// and ArgoCD. If not specified OIDC integration will be skipped, but vclusters/spaces will
	// still be synced to ArgoCD.
	// +optional
	Host string `json:"host,omitempty"`
	// AssignedRoles is a list of roles to assign for users who authenticate via Loft -- by default
	// this will be the `read-only` role. If any roles are provided this will override the default
	// setting.
	// +optional
	AssignedRoles []string `json:"assignedRoles,omitempty"`
}

func (*ArgoSSOSpec) DeepCopy

func (in *ArgoSSOSpec) DeepCopy() *ArgoSSOSpec

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

func (*ArgoSSOSpec) DeepCopyInto

func (in *ArgoSSOSpec) DeepCopyInto(out *ArgoSSOSpec)

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

func (ArgoSSOSpec) OpenAPIModelName added in v4.7.0

func (in ArgoSSOSpec) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type Authentication added in v4.11.0

type Authentication struct {
	Connector `json:",inline"`

	// Password holds password authentication relevant information
	// +optional
	Password *AuthenticationPassword `json:"password,omitempty"`

	// Connectors are optional additional connectors for Loft.
	// +optional
	Connectors []ConnectorWithName `json:"connectors,omitempty"`

	// Prevents from team creation for the new groups associated with the user at the time of logging in through sso,
	// Default behaviour is false, this means that teams will be created for new groups.
	// +optional
	DisableTeamCreation bool `json:"disableTeamCreation,omitempty"`

	// DisableUserCreation prevents the SSO connectors from creating a new user on a users initial signin through sso.
	// Default behaviour is false, this means that a new user object will be created once a user without
	// a Kubernetes user object logs in.
	// +optional
	DisableUserCreation bool `json:"disableUserCreation,omitempty"`

	// AccessKeyMaxTTLSeconds is the global maximum lifespan of an accesskey in seconds.
	// Leaving it 0 or unspecified will disable it.
	// Specifying 2592000 will mean all keys have a Time-To-Live of 30 days.
	// +optional
	AccessKeyMaxTTLSeconds int64 `json:"accessKeyMaxTTLSeconds,omitempty"`

	// LoginAccessKeyTTLSeconds is the time in seconds an access key is kept
	// until it is deleted.
	// Leaving it unspecified will default to 20 days.
	// Setting it to zero will disable the ttl.
	// Specifying 2592000 will mean all keys have a  default Time-To-Live of 30 days.
	// +optional
	LoginAccessKeyTTLSeconds *int64 `json:"loginAccessKeyTTLSeconds,omitempty"`

	// CustomHttpHeaders are additional headers that should be set for the authentication endpoints
	// +optional
	CustomHttpHeaders map[string]string `json:"customHttpHeaders,omitempty"`

	// GroupsFilters is a regex expression to only save matching sso groups into the user resource
	GroupsFilters []string `json:"groupsFilters,omitempty"`
}

Authentication holds authentication relevant information

func (*Authentication) DeepCopy added in v4.11.0

func (in *Authentication) DeepCopy() *Authentication

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

func (*Authentication) DeepCopyInto added in v4.11.0

func (in *Authentication) DeepCopyInto(out *Authentication)

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

func (Authentication) OpenAPIModelName added in v4.11.0

func (in Authentication) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type AuthenticationGithub added in v4.11.0

type AuthenticationGithub struct {
	// ClientID holds the github client id
	ClientID string `json:"clientId,omitempty"`

	// ClientID holds the github client secret
	ClientSecret string `json:"clientSecret"`

	// RedirectURI holds the redirect URI. Should be https://loft.domain.tld/auth/github/callback
	RedirectURI string `json:"redirectURI"`

	// Loft queries the following organizations for group information.
	// Group claims are formatted as "(org):(team)".
	// For example if a user is part of the "engineering" team of the "coreos"
	// org, the group claim would include "coreos:engineering".
	//
	// If orgs are specified in the config then user MUST be a member of at least one of the specified orgs to
	// authenticate with loft.
	// +optional
	Orgs []AuthenticationGithubOrg `json:"orgs,omitempty"`

	// Required ONLY for GitHub Enterprise.
	// This is the Hostname of the GitHub Enterprise account listed on the
	// management console. Ensure this domain is routable on your network.
	// +optional
	HostName string `json:"hostName,omitempty"`

	// ONLY for GitHub Enterprise. Optional field.
	// Used to support self-signed or untrusted CA root certificates.
	// +optional
	RootCA string `json:"rootCA,omitempty"`
}

func (*AuthenticationGithub) DeepCopy added in v4.11.0

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

func (*AuthenticationGithub) DeepCopyInto added in v4.11.0

func (in *AuthenticationGithub) DeepCopyInto(out *AuthenticationGithub)

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

func (AuthenticationGithub) OpenAPIModelName added in v4.11.0

func (in AuthenticationGithub) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type AuthenticationGithubOrg added in v4.11.0

type AuthenticationGithubOrg struct {
	// Organization name in github (not slug, full name). Only users in this github
	// organization can authenticate.
	// +optional
	Name string `json:"name"`

	// Names of teams in a github organization. A user will be able to
	// authenticate if they are members of at least one of these teams. Users
	// in the organization can authenticate if this field is omitted from the
	// config file.
	// +optional
	Teams []string `json:"teams,omitempty"`
}

AuthenticationGithubOrg holds org-team filters, in which teams are optional.

func (*AuthenticationGithubOrg) DeepCopy added in v4.11.0

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

func (*AuthenticationGithubOrg) DeepCopyInto added in v4.11.0

func (in *AuthenticationGithubOrg) DeepCopyInto(out *AuthenticationGithubOrg)

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

func (AuthenticationGithubOrg) OpenAPIModelName added in v4.11.0

func (in AuthenticationGithubOrg) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type AuthenticationGitlab added in v4.11.0

type AuthenticationGitlab struct {
	// Gitlab client id
	ClientID string `json:"clientId"`

	// Gitlab client secret
	ClientSecret string `json:"clientSecret"`

	// Redirect URI
	RedirectURI string `json:"redirectURI"`

	// BaseURL is optional, default = https://gitlab.com
	// +optional
	BaseURL string `json:"baseURL,omitempty"`

	// Optional groups whitelist, communicated through the "groups" scope.
	// If `groups` is omitted, all of the user's GitLab groups are returned.
	// If `groups` is provided, this acts as a whitelist - only the user's GitLab groups that are in the configured `groups` below will go into the groups claim. Conversely, if the user is not in any of the configured `groups`, the user will not be authenticated.
	// +optional
	Groups []string `json:"groups,omitempty"`
}

func (*AuthenticationGitlab) DeepCopy added in v4.11.0

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

func (*AuthenticationGitlab) DeepCopyInto added in v4.11.0

func (in *AuthenticationGitlab) DeepCopyInto(out *AuthenticationGitlab)

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

func (AuthenticationGitlab) OpenAPIModelName added in v4.11.0

func (in AuthenticationGitlab) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type AuthenticationGoogle added in v4.11.0

type AuthenticationGoogle struct {
	// Google client id
	ClientID string `json:"clientId"`

	// Google client secret
	ClientSecret string `json:"clientSecret"`

	// loft redirect uri. E.g. https://loft.my.domain/auth/google/callback
	RedirectURI string `json:"redirectURI"`

	// defaults to "profile" and "email"
	// +optional
	Scopes []string `json:"scopes,omitempty"`

	// Optional list of whitelisted domains
	// If this field is nonempty, only users from a listed domain will be allowed to log in
	// +optional
	HostedDomains []string `json:"hostedDomains,omitempty"`

	// Optional list of whitelisted groups
	// If this field is nonempty, only users from a listed group will be allowed to log in
	// +optional
	Groups []string `json:"groups,omitempty"`

	// Optional path to service account json
	// If nonempty, and groups claim is made, will use authentication from file to
	// check groups with the admin directory api
	// +optional
	ServiceAccountFilePath string `json:"serviceAccountFilePath,omitempty"`

	// Required if ServiceAccountFilePath
	// The email of a GSuite super user which the service account will impersonate
	// when listing groups
	// +optional
	AdminEmail string `json:"adminEmail,omitempty"`
}

func (*AuthenticationGoogle) DeepCopy added in v4.11.0

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

func (*AuthenticationGoogle) DeepCopyInto added in v4.11.0

func (in *AuthenticationGoogle) DeepCopyInto(out *AuthenticationGoogle)

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

func (AuthenticationGoogle) OpenAPIModelName added in v4.11.0

func (in AuthenticationGoogle) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type AuthenticationMicrosoft added in v4.11.0

type AuthenticationMicrosoft struct {
	// Microsoft client id
	ClientID string `json:"clientId"`

	// Microsoft client secret
	ClientSecret string `json:"clientSecret"`

	// loft redirect uri. Usually https://loft.my.domain/auth/microsoft/callback
	RedirectURI string `json:"redirectURI"`

	// tenant configuration parameter controls what kinds of accounts may be authenticated in loft.
	// By default, all types of Microsoft accounts (consumers and organizations) can authenticate in loft via Microsoft.
	// To change this, set the tenant parameter to one of the following:
	//
	// common - both personal and business/school accounts can authenticate in loft via Microsoft (default)
	// consumers - only personal accounts can authenticate in loft
	// organizations - only business/school accounts can authenticate in loft
	// tenant uuid or tenant name - only accounts belonging to specific tenant identified by either tenant uuid or tenant name can authenticate in loft
	// +optional
	Tenant string `json:"tenant,omitempty"`

	// It is possible to require a user to be a member of a particular group in order to be successfully authenticated in loft.
	// +optional
	Groups []string `json:"groups,omitempty"`

	// configuration option restricts the list to include only security groups. By default all groups (security, Office 365, mailing lists) are included.
	// +optional
	OnlySecurityGroups bool `json:"onlySecurityGroups,omitempty"`

	// Restrict the groups claims to include only the user’s groups that are in the configured groups
	// +optional
	UseGroupsAsWhitelist bool `json:"useGroupsAsWhitelist,omitempty"`
}

func (*AuthenticationMicrosoft) DeepCopy added in v4.11.0

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

func (*AuthenticationMicrosoft) DeepCopyInto added in v4.11.0

func (in *AuthenticationMicrosoft) DeepCopyInto(out *AuthenticationMicrosoft)

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

func (AuthenticationMicrosoft) OpenAPIModelName added in v4.11.0

func (in AuthenticationMicrosoft) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type AuthenticationOIDC added in v4.11.0

type AuthenticationOIDC struct {
	// IssuerURL is the URL the provider signs ID Tokens as. This will be the "iss"
	// field of all tokens produced by the provider and is used for configuration
	// discovery.
	//
	// The URL is usually the provider's URL without a path, for example
	// "https://accounts.google.com" or "https://login.salesforce.com".
	//
	// The provider must implement configuration discovery.
	// See: https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderConfig
	IssuerURL string `json:"issuerUrl,omitempty"`

	// ClientID the JWT must be issued for, the "sub" field. This plugin only trusts a single
	// client to ensure the plugin can be used with public providers.
	//
	// The plugin supports the "authorized party" OpenID Connect claim, which allows
	// specialized providers to issue tokens to a client for a different client.
	// See: https://openid.net/specs/openid-connect-core-1_0.html#IDToken
	ClientID string `json:"clientId,omitempty"`

	// ClientSecret to issue tokens from the OIDC provider
	ClientSecret string `json:"clientSecret,omitempty"`

	// loft redirect uri. E.g. https://loft.my.domain/auth/oidc/callback
	RedirectURI string `json:"redirectURI,omitempty"`

	// Loft URI to be redirected to after successful logout by OIDC Provider
	// +optional
	PostLogoutRedirectURI string `json:"postLogoutRedirectURI,omitempty"`

	// Path to a PEM encoded root certificate of the provider. Optional
	// +optional
	CAFile string `json:"caFile,omitempty"`

	// Specify whether to communicate without validating SSL certificates
	// +optional
	InsecureCA bool `json:"insecureCa,omitempty"`

	// Configurable key which contains the preferred username claims
	// +optional
	PreferredUsernameClaim string `json:"preferredUsername,omitempty"`

	// LoftUsernameClaim is the JWT field to use as the user's username.
	// +optional
	LoftUsernameClaim string `json:"loftUsernameClaim,omitempty"`

	// UsernameClaim is the JWT field to use as the user's id.
	// +optional
	UsernameClaim string `json:"usernameClaim,omitempty"`

	// EmailClaim is the JWT field to use as the user's email.
	// +optional
	EmailClaim string `json:"emailClaim,omitempty"`

	// AllowedExtraClaims are claims of interest that are not part of User by default but may be provided by the OIDC provider.
	// +optional
	AllowedExtraClaims []string `json:"allowedExtraClaims,omitempty"`

	// UsernamePrefix, if specified, causes claims mapping to username to be prefix with
	// the provided value. A value "oidc:" would result in usernames like "oidc:john".
	// +optional
	UsernamePrefix string `json:"usernamePrefix,omitempty"`

	// GroupsClaim, if specified, causes the OIDCAuthenticator to try to populate the user's
	// groups with an ID Token field. If the GroupsClaim field is present in an ID Token the value
	// must be a string or list of strings.
	// +optional
	GroupsClaim string `json:"groupsClaim,omitempty"`

	// If required groups is non empty, access is denied if the user is not part of at least one
	// of the specified groups.
	// +optional
	Groups []string `json:"groups,omitempty"`

	// Scopes that should be sent to the server. If empty, defaults to "email" and "profile".
	// +optional
	Scopes []string `json:"scopes,omitempty"`

	// GetUserInfo, if specified, tells the OIDCAuthenticator to try to populate the user's
	// information from the UserInfo.
	// +optional
	GetUserInfo bool `json:"getUserInfo,omitempty"`

	// GroupsPrefix, if specified, causes claims mapping to group names to be prefixed with the
	// value. A value "oidc:" would result in groups like "oidc:engineering" and "oidc:marketing".
	// +optional
	GroupsPrefix string `json:"groupsPrefix,omitempty"`

	// Type of the OIDC to show in the UI. Only for displaying purposes
	// +optional
	Type string `json:"type,omitempty"`

	// Resource, if specified, is the value that is set for the "resource" URL parameter when making a request to the /token endpoint of the
	// OIDC provider.
	// +optional
	Resource string `json:"resource,omitempty"`
}

func (*AuthenticationOIDC) DeepCopy added in v4.11.0

func (in *AuthenticationOIDC) DeepCopy() *AuthenticationOIDC

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

func (*AuthenticationOIDC) DeepCopyInto added in v4.11.0

func (in *AuthenticationOIDC) DeepCopyInto(out *AuthenticationOIDC)

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

func (AuthenticationOIDC) OpenAPIModelName added in v4.11.0

func (in AuthenticationOIDC) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type AuthenticationPassword added in v4.11.0

type AuthenticationPassword struct {
	// If true login via password is disabled
	Disabled bool `json:"disabled,omitempty"`
}

func (*AuthenticationPassword) DeepCopy added in v4.11.0

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

func (*AuthenticationPassword) DeepCopyInto added in v4.11.0

func (in *AuthenticationPassword) DeepCopyInto(out *AuthenticationPassword)

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

func (AuthenticationPassword) OpenAPIModelName added in v4.11.0

func (in AuthenticationPassword) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type AuthenticationSAML added in v4.11.0

type AuthenticationSAML struct {
	// If the response assertion status value contains a Destination element, it
	// must match this value exactly.
	// Usually looks like https://your-loft-domain/auth/saml/callback
	RedirectURI string `json:"redirectURI,omitempty"`
	// SSO URL used for POST value.
	SSOURL string `json:"ssoURL,omitempty"`
	// CAData is a base64 encoded string that holds the ca certificate for validating the signature of the SAML response.
	// Either CAData, CA or InsecureSkipSignatureValidation needs to be defined.
	// +optional
	CAData []byte `json:"caData,omitempty"`

	// Name of attribute in the returned assertions to map to username
	UsernameAttr string `json:"usernameAttr,omitempty"`
	// Name of attribute in the returned assertions to map to email
	EmailAttr string `json:"emailAttr,omitempty"`
	// Name of attribute in the returned assertions to map to groups
	// +optional
	GroupsAttr string `json:"groupsAttr,omitempty"`

	// CA to use when validating the signature of the SAML response.
	// +optional
	CA string `json:"ca,omitempty"`
	// Ignore the ca cert
	// +optional
	InsecureSkipSignatureValidation bool `json:"insecureSkipSignatureValidation,omitempty"`

	// When provided Loft will include this as the Issuer value during AuthnRequest.
	// It will also override the redirectURI as the required audience when evaluating
	// AudienceRestriction elements in the response.
	// +optional
	EntityIssuer string `json:"entityIssuer,omitempty"`
	// Issuer value expected in the SAML response. Optional.
	// +optional
	SSOIssuer string `json:"ssoIssuer,omitempty"`

	// If GroupsDelim is supplied the connector assumes groups are returned as a
	// single string instead of multiple attribute values. This delimiter will be
	// used split the groups string.
	// +optional
	GroupsDelim string `json:"groupsDelim,omitempty"`
	// List of groups to filter access based on membership
	// +optional
	AllowedGroups []string `json:"allowedGroups,omitempty"`
	// If used with allowed groups, only forwards the allowed groups and not all
	// groups specified.
	// +optional
	FilterGroups bool `json:"filterGroups,omitempty"`

	// Requested format of the NameID. The NameID value is is mapped to the ID Token
	// 'sub' claim.
	//
	// This can be an abbreviated form of the full URI with just the last component. For
	// example, if this value is set to "emailAddress" the format will resolve to:
	//
	//		urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress
	//
	// If no value is specified, this value defaults to:
	//
	//		urn:oasis:names:tc:SAML:2.0:nameid-format:persistent
	//
	// +optional
	NameIDPolicyFormat string `json:"nameIDPolicyFormat,omitempty"`
}

func (*AuthenticationSAML) DeepCopy added in v4.11.0

func (in *AuthenticationSAML) DeepCopy() *AuthenticationSAML

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

func (*AuthenticationSAML) DeepCopyInto added in v4.11.0

func (in *AuthenticationSAML) DeepCopyInto(out *AuthenticationSAML)

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

func (AuthenticationSAML) OpenAPIModelName added in v4.11.0

func (in AuthenticationSAML) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type BCMNodeTypeSpec added in v4.4.0

type BCMNodeTypeSpec struct {
	NamedNodeTypeSpec `json:",inline"`

	// Nodes specifies nodes.
	Nodes []string `json:"nodes,omitempty"`

	// NodeGroups is the name of the node groups to use for this provider.
	NodeGroups []string `json:"nodeGroups,omitempty"`
}

func (*BCMNodeTypeSpec) DeepCopy added in v4.4.0

func (in *BCMNodeTypeSpec) DeepCopy() *BCMNodeTypeSpec

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

func (*BCMNodeTypeSpec) DeepCopyInto added in v4.4.0

func (in *BCMNodeTypeSpec) DeepCopyInto(out *BCMNodeTypeSpec)

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

func (BCMNodeTypeSpec) OpenAPIModelName added in v4.7.0

func (in BCMNodeTypeSpec) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type Bash added in v4.12.0

type Bash struct {
	// Script is the script to execute.
	// +optional
	Script string `json:"script,omitempty"`

	// Image is the image to use for this app
	// +optional
	Image string `json:"image,omitempty"`

	// ClusterRole is the cluster role to use for this job
	// +optional
	ClusterRole string `json:"clusterRole,omitempty"`

	// PodSecurityContext for the bash pod.
	// +optional
	PodSecurityContext *corev1.PodSecurityContext `json:"podSecurityContext,omitempty"`

	// SecurityContext for the bash container.
	// +optional
	SecurityContext *corev1.SecurityContext `json:"securityContext,omitempty"`
}

func (*Bash) DeepCopy added in v4.12.0

func (in *Bash) DeepCopy() *Bash

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

func (*Bash) DeepCopyInto added in v4.12.0

func (in *Bash) DeepCopyInto(out *Bash)

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

func (Bash) OpenAPIModelName added in v4.12.0

func (in Bash) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

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.

func (Chart) OpenAPIModelName added in v4.7.0

func (in Chart) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type ChartSecretRef added in v4.12.0

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

func (*ChartSecretRef) DeepCopy added in v4.12.0

func (in *ChartSecretRef) DeepCopy() *ChartSecretRef

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

func (*ChartSecretRef) DeepCopyInto added in v4.12.0

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

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

func (ChartSecretRef) OpenAPIModelName added in v4.12.0

func (in ChartSecretRef) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

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.

func (ChartStatus) OpenAPIModelName added in v4.7.0

func (in ChartStatus) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type Cluster

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

	Spec   ClusterSpec   `json:"spec,omitempty"`
	Status ClusterStatus `json:"status,omitempty"`
}

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

func (*Cluster) DeepCopy

func (in *Cluster) DeepCopy() *Cluster

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

func (*Cluster) DeepCopyInto

func (in *Cluster) DeepCopyInto(out *Cluster)

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

func (*Cluster) DeepCopyObject

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

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

func (*Cluster) GetAccess

func (a *Cluster) GetAccess() []Access

func (*Cluster) GetConditions added in v4.2.0

func (a *Cluster) GetConditions() agentstoragev1.Conditions

func (*Cluster) GetOwner

func (a *Cluster) GetOwner() *UserOrTeam

func (Cluster) OpenAPIModelName added in v4.7.0

func (in Cluster) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

func (*Cluster) SetAccess

func (a *Cluster) SetAccess(access []Access)

func (*Cluster) SetConditions added in v4.2.0

func (a *Cluster) SetConditions(conditions agentstoragev1.Conditions)

func (*Cluster) SetOwner

func (a *Cluster) SetOwner(userOrTeam *UserOrTeam)

type ClusterAPINodeTypeSpec added in v4.5.0

type ClusterAPINodeTypeSpec struct {
	NamedNodeTypeSpec `json:",inline"`
	ClusterAPIObjects `json:",inline"`

	// MergeInfrastructureMachineTemplate will be merged into base InfrastructureMachine template for this NodeProvider.
	// This allows overwriting of specific fields from top level template by individual NodeTypes
	// This is mutually exclusive with InfrastructureMachineTemplate
	MergeInfrastructureMachineTemplate *runtime.RawExtension `json:"mergeInfrastructureMachineTemplate,omitempty"`

	// MergeBootstrapConfigTemplate will be merged into base BootstrapConfig template for this NodeProvider.
	// This allows overwriting of specific fields from top level template by individual NodeTypes
	// This is mutually exclusive with BootstrapConfigTemplate
	MergeBootstrapConfigTemplate *runtime.RawExtension `json:"mergeBootstrapConfigTemplate,omitempty"`

	// MaxCapacity is the maximum number of nodes that can be created for this NodeType.
	MaxCapacity int `json:"maxCapacity,omitempty"`
}

func (*ClusterAPINodeTypeSpec) DeepCopy added in v4.5.0

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

func (*ClusterAPINodeTypeSpec) DeepCopyInto added in v4.5.0

func (in *ClusterAPINodeTypeSpec) DeepCopyInto(out *ClusterAPINodeTypeSpec)

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

func (ClusterAPINodeTypeSpec) OpenAPIModelName added in v4.7.0

func (in ClusterAPINodeTypeSpec) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type ClusterAPIObjects added in v4.5.0

type ClusterAPIObjects struct {
	// InfrastructureMachineTemplate is a template for the infrastructure machine, e.g. AWSMachine
	InfrastructureMachineTemplate *runtime.RawExtension `json:"infrastructureMachineTemplate,omitempty"`

	// BootstrapConfigTemplate is a template for the bootstrap config. Currently only KubeadmConfig is supported.
	BootstrapConfigTemplate *runtime.RawExtension `json:"bootstrapConfigTemplate,omitempty"`
}

func (*ClusterAPIObjects) DeepCopy added in v4.5.0

func (in *ClusterAPIObjects) DeepCopy() *ClusterAPIObjects

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

func (*ClusterAPIObjects) DeepCopyInto added in v4.5.0

func (in *ClusterAPIObjects) DeepCopyInto(out *ClusterAPIObjects)

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

func (ClusterAPIObjects) OpenAPIModelName added in v4.7.0

func (in ClusterAPIObjects) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type ClusterAccess

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

	Spec   ClusterAccessSpec   `json:"spec,omitempty"`
	Status ClusterAccessStatus `json:"status,omitempty"`
}

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

func (*ClusterAccess) DeepCopy

func (in *ClusterAccess) DeepCopy() *ClusterAccess

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

func (*ClusterAccess) DeepCopyInto

func (in *ClusterAccess) DeepCopyInto(out *ClusterAccess)

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

func (*ClusterAccess) DeepCopyObject

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

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

func (*ClusterAccess) GetAccess

func (a *ClusterAccess) GetAccess() []Access

func (*ClusterAccess) GetOwner

func (a *ClusterAccess) GetOwner() *UserOrTeam

func (ClusterAccess) OpenAPIModelName added in v4.7.0

func (in ClusterAccess) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

func (*ClusterAccess) SetAccess

func (a *ClusterAccess) SetAccess(access []Access)

func (*ClusterAccess) SetOwner

func (a *ClusterAccess) SetOwner(userOrTeam *UserOrTeam)

type ClusterAccessList

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

ClusterAccessList contains a list of ClusterAccess objects

func (*ClusterAccessList) DeepCopy

func (in *ClusterAccessList) DeepCopy() *ClusterAccessList

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

func (*ClusterAccessList) DeepCopyInto

func (in *ClusterAccessList) DeepCopyInto(out *ClusterAccessList)

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

func (*ClusterAccessList) DeepCopyObject

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

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

func (ClusterAccessList) OpenAPIModelName added in v4.7.0

func (in ClusterAccessList) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type ClusterAccessSpec

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

	// Description describes a cluster access object
	// +optional
	Description string `json:"description,omitempty"`

	// Owner holds the owner of this object
	// +optional
	Owner *UserOrTeam `json:"owner,omitempty"`

	// Clusters are the clusters this template should be applied on.
	// +optional
	Clusters []string `json:"clusters,omitempty"`

	// Access holds the access rights for users and teams
	// +optional
	Access []Access `json:"access,omitempty"`

	// LocalClusterAccessTemplate holds the cluster access template
	// +omitempty
	LocalClusterAccessTemplate LocalClusterAccessTemplate `json:"localClusterAccessTemplate,omitempty"`
}

func (*ClusterAccessSpec) DeepCopy

func (in *ClusterAccessSpec) DeepCopy() *ClusterAccessSpec

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

func (*ClusterAccessSpec) DeepCopyInto

func (in *ClusterAccessSpec) DeepCopyInto(out *ClusterAccessSpec)

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

func (ClusterAccessSpec) OpenAPIModelName added in v4.7.0

func (in ClusterAccessSpec) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type ClusterAccessStatus

type ClusterAccessStatus struct {
}

ClusterAccessStatus holds the status of a user access

func (*ClusterAccessStatus) DeepCopy

func (in *ClusterAccessStatus) DeepCopy() *ClusterAccessStatus

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

func (*ClusterAccessStatus) DeepCopyInto

func (in *ClusterAccessStatus) DeepCopyInto(out *ClusterAccessStatus)

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

func (ClusterAccessStatus) OpenAPIModelName added in v4.7.0

func (in ClusterAccessStatus) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type ClusterList

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

ClusterList contains a list of Cluster

func (*ClusterList) DeepCopy

func (in *ClusterList) DeepCopy() *ClusterList

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

func (*ClusterList) DeepCopyInto

func (in *ClusterList) DeepCopyInto(out *ClusterList)

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

func (*ClusterList) DeepCopyObject

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

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

func (ClusterList) OpenAPIModelName added in v4.7.0

func (in ClusterList) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type ClusterRef

type ClusterRef struct {
	// Cluster is the connected cluster the space will be created in
	// +optional
	Cluster string `json:"cluster,omitempty"`

	// Namespace is the namespace inside the connected cluster holding the space
	// +optional
	Namespace string `json:"namespace,omitempty"`
}

func (*ClusterRef) DeepCopy

func (in *ClusterRef) DeepCopy() *ClusterRef

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

func (*ClusterRef) DeepCopyInto

func (in *ClusterRef) DeepCopyInto(out *ClusterRef)

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

func (ClusterRef) OpenAPIModelName added in v4.7.0

func (in ClusterRef) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

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.

func (ClusterRoleRef) OpenAPIModelName added in v4.7.0

func (in ClusterRoleRef) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type ClusterRoleTemplate

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

	Spec   ClusterRoleTemplateSpec   `json:"spec,omitempty"`
	Status ClusterRoleTemplateStatus `json:"status,omitempty"`
}

ClusterRoleTemplate holds the global role template information +k8s:openapi-gen=true

func (*ClusterRoleTemplate) DeepCopy

func (in *ClusterRoleTemplate) DeepCopy() *ClusterRoleTemplate

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

func (*ClusterRoleTemplate) DeepCopyInto

func (in *ClusterRoleTemplate) DeepCopyInto(out *ClusterRoleTemplate)

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

func (*ClusterRoleTemplate) DeepCopyObject

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

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

func (*ClusterRoleTemplate) GetAccess

func (a *ClusterRoleTemplate) GetAccess() []Access

func (*ClusterRoleTemplate) GetOwner

func (a *ClusterRoleTemplate) GetOwner() *UserOrTeam

func (ClusterRoleTemplate) OpenAPIModelName added in v4.7.0

func (in ClusterRoleTemplate) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

func (*ClusterRoleTemplate) SetAccess

func (a *ClusterRoleTemplate) SetAccess(access []Access)

func (*ClusterRoleTemplate) SetOwner

func (a *ClusterRoleTemplate) SetOwner(userOrTeam *UserOrTeam)

type ClusterRoleTemplateList

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

ClusterRoleTemplateList contains a list of ClusterRoleTemplate objects

func (*ClusterRoleTemplateList) DeepCopy

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

func (*ClusterRoleTemplateList) DeepCopyInto

func (in *ClusterRoleTemplateList) DeepCopyInto(out *ClusterRoleTemplateList)

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

func (*ClusterRoleTemplateList) DeepCopyObject

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

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

func (ClusterRoleTemplateList) OpenAPIModelName added in v4.7.0

func (in ClusterRoleTemplateList) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type ClusterRoleTemplateSpec

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

	// Description describes a cluster role template object
	// +optional
	Description string `json:"description,omitempty"`

	// Owner holds the owner of this object
	// +optional
	Owner *UserOrTeam `json:"owner,omitempty"`

	// Clusters are the clusters this template should be applied on.
	// +optional
	Clusters []string `json:"clusters,omitempty"`

	// Management defines if this cluster role should be created in the management instance.
	// +optional
	Management bool `json:"management,omitempty"`

	// Access holds the access rights for users and teams
	// +optional
	Access []Access `json:"access,omitempty"`

	// ClusterRoleTemplate holds the cluster role template
	// +optional
	ClusterRoleTemplate ClusterRoleTemplateTemplate `json:"clusterRoleTemplate,omitempty"`

	// DEPRECATED: Use ClusterRoleTemplate instead
	// LocalClusterRoleTemplate holds the cluster role template
	// +omitempty
	LocalClusterRoleTemplate *LocalClusterRoleTemplate `json:"localClusterRoleTemplate,omitempty"`
}

func (*ClusterRoleTemplateSpec) DeepCopy

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

func (*ClusterRoleTemplateSpec) DeepCopyInto

func (in *ClusterRoleTemplateSpec) DeepCopyInto(out *ClusterRoleTemplateSpec)

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

func (ClusterRoleTemplateSpec) OpenAPIModelName added in v4.7.0

func (in ClusterRoleTemplateSpec) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type ClusterRoleTemplateStatus

type ClusterRoleTemplateStatus struct {
}

ClusterRoleTemplateStatus holds the status of a user access

func (*ClusterRoleTemplateStatus) DeepCopy

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

func (*ClusterRoleTemplateStatus) DeepCopyInto

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

func (ClusterRoleTemplateStatus) OpenAPIModelName added in v4.7.0

func (in ClusterRoleTemplateStatus) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type ClusterRoleTemplateTemplate

type ClusterRoleTemplateTemplate struct {
	// Standard object's metadata.
	// +kubebuilder:pruning:PreserveUnknownFields
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`

	// Rules holds all the PolicyRules for this ClusterRole
	// +optional
	Rules []rbacv1.PolicyRule `json:"rules" protobuf:"bytes,2,rep,name=rules"`

	// AggregationRule is an optional field that describes how to build the Rules for this ClusterRole.
	// If AggregationRule is set, then the Rules are controller managed and direct changes to Rules will be
	// stomped by the controller.
	// +optional
	AggregationRule *rbacv1.AggregationRule `json:"aggregationRule,omitempty" protobuf:"bytes,3,opt,name=aggregationRule"`
}

func (*ClusterRoleTemplateTemplate) DeepCopy

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

func (*ClusterRoleTemplateTemplate) DeepCopyInto

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

func (ClusterRoleTemplateTemplate) OpenAPIModelName added in v4.7.0

func (in ClusterRoleTemplateTemplate) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type ClusterSpec

type ClusterSpec struct {
	// If specified this name is displayed in the UI instead of the metadata name
	// +optional
	DisplayName string `json:"displayName,omitempty"`

	// Description describes a cluster access object
	// +optional
	Description string `json:"description,omitempty"`

	// Owner holds the owner of this object
	// +optional
	Owner *UserOrTeam `json:"owner,omitempty"`

	// Holds a reference to a secret that holds the kube config to access this cluster
	// +optional
	Config SecretRef `json:"config,omitempty"`

	// Local specifies if it is the local cluster that should be connected, when this is specified, config is optional
	// +optional
	Local bool `json:"local,omitempty"`

	// NetworkPeer specifies if the cluster is connected via tailscale, when this is specified, config is optional
	// +optional
	NetworkPeer bool `json:"networkPeer,omitempty"`

	// The namespace where the cluster components will be installed in
	// +optional
	ManagementNamespace string `json:"managementNamespace,omitempty"`

	// If unusable is true, no spaces or tenant clusters can be scheduled on this cluster.
	// +optional
	Unusable bool `json:"unusable,omitempty"`

	// Access holds the access rights for users and teams
	// +optional
	Access []Access `json:"access,omitempty"`

	// Metrics holds the cluster's metrics backend configuration
	Metrics *Metrics `json:"metrics,omitempty"`

	// OpenCost holds the cluster's OpenCost backend configuration
	OpenCost *OpenCost `json:"opencost,omitempty"`

	// ArgoCD holds the cluster's argo cd configuration
	// +optional
	ArgoCD *ArgoCD `json:"argoCD,omitempty"`
}

ClusterSpec holds the cluster specification

func (*ClusterSpec) DeepCopy

func (in *ClusterSpec) DeepCopy() *ClusterSpec

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

func (*ClusterSpec) DeepCopyInto

func (in *ClusterSpec) DeepCopyInto(out *ClusterSpec)

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

func (ClusterSpec) OpenAPIModelName added in v4.7.0

func (in ClusterSpec) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type ClusterStatus

type ClusterStatus struct {
	// +optional
	Phase ClusterStatusPhase `json:"phase,omitempty"`

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

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

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

ClusterStatus holds the user status

func (*ClusterStatus) DeepCopy

func (in *ClusterStatus) DeepCopy() *ClusterStatus

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

func (*ClusterStatus) DeepCopyInto

func (in *ClusterStatus) DeepCopyInto(out *ClusterStatus)

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

func (ClusterStatus) OpenAPIModelName added in v4.7.0

func (in ClusterStatus) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type ClusterStatusPhase

type ClusterStatusPhase string

ClusterStatusPhase describes the phase of a cluster

const (
	ClusterStatusPhaseInitializing ClusterStatusPhase = ""
	ClusterStatusPhaseInitialized  ClusterStatusPhase = "Initialized"
	ClusterStatusPhaseFailed       ClusterStatusPhase = "Failed"
)

These are the valid admin account types

type Connector added in v4.11.0

type Connector struct {
	// OIDC holds oidc authentication configuration
	// +optional
	OIDC *AuthenticationOIDC `json:"oidc,omitempty"`

	// Github holds github authentication configuration
	// +optional
	Github *AuthenticationGithub `json:"github,omitempty"`

	// Gitlab holds gitlab authentication configuration
	// +optional
	Gitlab *AuthenticationGitlab `json:"gitlab,omitempty"`

	// Google holds google authentication configuration
	// +optional
	Google *AuthenticationGoogle `json:"google,omitempty"`

	// Microsoft holds microsoft authentication configuration
	// +optional
	Microsoft *AuthenticationMicrosoft `json:"microsoft,omitempty"`

	// SAML holds saml authentication configuration
	// +optional
	SAML *AuthenticationSAML `json:"saml,omitempty"`
}

func (*Connector) DeepCopy added in v4.11.0

func (in *Connector) DeepCopy() *Connector

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

func (*Connector) DeepCopyInto added in v4.11.0

func (in *Connector) DeepCopyInto(out *Connector)

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

func (Connector) OpenAPIModelName added in v4.11.0

func (in Connector) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type ConnectorWithName added in v4.11.0

type ConnectorWithName struct {
	// ID is the id that should show up in the url
	// +optional
	ID string `json:"id,omitempty"`

	// DisplayName is the name that should show up in the ui
	// +optional
	DisplayName string `json:"displayName,omitempty"`

	Connector `json:",inline"`
}

func (*ConnectorWithName) DeepCopy added in v4.11.0

func (in *ConnectorWithName) DeepCopy() *ConnectorWithName

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

func (*ConnectorWithName) DeepCopyInto added in v4.11.0

func (in *ConnectorWithName) DeepCopyInto(out *ConnectorWithName)

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

func (ConnectorWithName) OpenAPIModelName added in v4.11.0

func (in ConnectorWithName) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type DHCPDeployment added in v4.8.0

type DHCPDeployment struct {
	// Enabled controls whether the DHCP server is deployed into the cluster.
	Enabled bool `json:"enabled"`

	// ChartRepo overrides the Helm chart repository used to install the DHCP server.
	// +optional
	ChartRepo string `json:"chartRepo,omitempty"`

	// Chart overrides the Helm chart name used to install the DHCP server.
	// +optional
	Chart string `json:"chart,omitempty"`

	// Version overrides the Helm chart version used to install the DHCP server.
	// +optional
	Version string `json:"version,omitempty"`

	// HelmValues is raw YAML that will be passed as values to the DHCP Helm chart.
	// +optional
	HelmValues string `json:"helmValues,omitempty"`
}

func (*DHCPDeployment) DeepCopy added in v4.8.0

func (in *DHCPDeployment) DeepCopy() *DHCPDeployment

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

func (*DHCPDeployment) DeepCopyInto added in v4.8.0

func (in *DHCPDeployment) DeepCopyInto(out *DHCPDeployment)

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

func (DHCPDeployment) OpenAPIModelName added in v4.8.0

func (in DHCPDeployment) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type EntityInfo

type EntityInfo struct {
	// Name is the kubernetes name of the object
	Name string `json:"name,omitempty"`

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

	// Icon is the icon of the user / team
	// +optional
	Icon string `json:"icon,omitempty"`

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

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

	// The user subject
	// +optional
	Subject string `json:"subject,omitempty"`
}

func (*EntityInfo) DeepCopy

func (in *EntityInfo) DeepCopy() *EntityInfo

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

func (*EntityInfo) DeepCopyInto

func (in *EntityInfo) DeepCopyInto(out *EntityInfo)

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

func (EntityInfo) OpenAPIModelName added in v4.7.0

func (in EntityInfo) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type ForwardTokenMode added in v4.11.0

type ForwardTokenMode string

ForwardTokenMode controls how the proxy forwards the caller's token to the virtual cluster.

const (
	// ForwardTokenModeOff signals the proxy to not forward the caller's token.
	ForwardTokenModeOff ForwardTokenMode = "Off"
	// ForwardTokenModeTokenReview signals the proxy to do a TokenReview against the virtual cluster
	// and proxy the request using impersonation headers for the resulting user.
	ForwardTokenModeTokenReview ForwardTokenMode = "TokenReview"
	// ForwardTokenModePassthrough signals the proxy to forward the raw bearer token directly to the
	// virtual cluster api server without a TokenReview and without impersonation headers.
	ForwardTokenModePassthrough ForwardTokenMode = "Passthrough"
)

type GroupResources

type GroupResources struct {
	// Group is the name of the API group that contains the resources.
	// The empty string represents the core API group.
	// +optional
	Group string `json:"group,omitempty" protobuf:"bytes,1,opt,name=group"`
	// Resources is a list of resources this rule applies to.
	//
	// For example:
	// 'pods' matches pods.
	// 'pods/log' matches the log subresource of pods.
	// '*' matches all resources and their subresources.
	// 'pods/*' matches all subresources of pods.
	// '*/scale' matches all scale subresources.
	//
	// If wildcard is present, the validation rule will ensure resources do not
	// overlap with each other.
	//
	// An empty list implies all resources and subresources in this API groups apply.
	// +optional
	Resources []string `json:"resources,omitempty" protobuf:"bytes,2,rep,name=resources"`
	// ResourceNames is a list of resource instance names that the policy matches.
	// Using this field requires Resources to be specified.
	// An empty list implies that every instance of the resource is matched.
	// +optional
	ResourceNames []string `json:"resourceNames,omitempty" protobuf:"bytes,3,rep,name=resourceNames"`
}

GroupResources represents resource kinds in an API group.

func (*GroupResources) DeepCopy

func (in *GroupResources) DeepCopy() *GroupResources

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

func (*GroupResources) DeepCopyInto

func (in *GroupResources) DeepCopyInto(out *GroupResources)

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

func (GroupResources) OpenAPIModelName added in v4.7.0

func (in GroupResources) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type HelmChart

type HelmChart struct {
	// Metadata provides information about a chart
	// +optional
	Metadata Metadata `json:"metadata,omitempty"`

	// Versions holds all chart versions
	// +optional
	Versions []string `json:"versions,omitempty"`

	// Repository is the repository name of this chart
	// +optional
	Repository HelmChartRepository `json:"repository,omitempty"`
}

func (*HelmChart) DeepCopy

func (in *HelmChart) DeepCopy() *HelmChart

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

func (*HelmChart) DeepCopyInto

func (in *HelmChart) DeepCopyInto(out *HelmChart)

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

func (HelmChart) OpenAPIModelName added in v4.7.0

func (in HelmChart) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type HelmChartRepository

type HelmChartRepository struct {
	// Name is the name of the repository
	// +optional
	Name string `json:"name,omitempty"`

	// URL is the repository url
	// +optional
	URL string `json:"url,omitempty"`

	// Username of the repository
	// +optional
	Username string `json:"username,omitempty"`

	// Password of the repository
	// +optional
	Password string `json:"password,omitempty"`

	// Insecure specifies if the chart should be retrieved without TLS
	// verification
	// +optional
	Insecure bool `json:"insecure,omitempty"`
}

func (*HelmChartRepository) DeepCopy

func (in *HelmChartRepository) DeepCopy() *HelmChartRepository

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

func (*HelmChartRepository) DeepCopyInto

func (in *HelmChartRepository) DeepCopyInto(out *HelmChartRepository)

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

func (HelmChartRepository) OpenAPIModelName added in v4.7.0

func (in HelmChartRepository) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type HelmConfiguration

type HelmConfiguration struct {
	// Name of the chart to deploy
	Name string `json:"name"`

	// The additional helm values to use. Expected block string
	// +optional
	Values string `json:"values,omitempty"`

	// Version is the version of the chart to deploy
	// +optional
	Version string `json:"version,omitempty"`

	// The repo url to use
	// +optional
	RepoURL string `json:"repoUrl,omitempty"`

	// The username to use for the selected repository
	// +optional
	Username string `json:"username,omitempty"`

	// The password to use for the selected repository
	// +optional
	Password string `json:"password,omitempty"`

	// Determines if the remote location uses an insecure
	// TLS certificate.
	// +optional
	Insecure bool `json:"insecure,omitempty"`
}

HelmConfiguration holds the helm configuration

func (*HelmConfiguration) DeepCopy

func (in *HelmConfiguration) DeepCopy() *HelmConfiguration

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

func (*HelmConfiguration) DeepCopyInto

func (in *HelmConfiguration) DeepCopyInto(out *HelmConfiguration)

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

func (HelmConfiguration) OpenAPIModelName added in v4.7.0

func (in HelmConfiguration) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type HelmReleaseConfig added in v4.12.0

type HelmReleaseConfig struct {
	// Chart holds information about a chart that should get deployed
	// +optional
	Chart Chart `json:"chart,omitempty"`

	// Manifests holds kube manifests that will be deployed as a chart
	// +optional
	Manifests string `json:"manifests,omitempty"`

	// Bash holds the bash script to execute in a container in the target
	// +optional
	Bash *Bash `json:"bash,omitempty"`

	// Values is the set of extra Values added to the chart.
	// These values merge with the default values inside of the chart.
	// You can use golang templating in here with values from parameters.
	// +optional
	Values string `json:"values,omitempty"`

	// Parameters are additional helm chart values that will get merged
	// with config and are then used to deploy the helm chart.
	// +optional
	Parameters string `json:"parameters,omitempty"`

	// Annotations are extra annotations for this helm release
	// +optional
	Annotations map[string]string `json:"annotations,omitempty"`
}

func (*HelmReleaseConfig) DeepCopy added in v4.12.0

func (in *HelmReleaseConfig) DeepCopy() *HelmReleaseConfig

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

func (*HelmReleaseConfig) DeepCopyInto added in v4.12.0

func (in *HelmReleaseConfig) DeepCopyInto(out *HelmReleaseConfig)

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

func (HelmReleaseConfig) OpenAPIModelName added in v4.12.0

func (in HelmReleaseConfig) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

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

func (InstanceAccess) OpenAPIModelName added in v4.7.0

func (in InstanceAccess) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

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.

func (InstanceAccessRule) OpenAPIModelName added in v4.7.0

func (in InstanceAccessRule) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type InstanceDeployedAppPhase

type InstanceDeployedAppPhase string

type InstanceDeployedAppStatus

type InstanceDeployedAppStatus struct {
	// Name of the app that should get deployed
	// +optional
	Name string `json:"name,omitempty"`

	// Namespace specifies in which target namespace the app should
	// get deployed in. Only used for tenant cluster apps.
	// +optional
	Namespace string `json:"namespace,omitempty"`

	// ReleaseName of the target app
	// +optional
	ReleaseName string `json:"releaseName,omitempty"`

	// Version of the app that should get deployed
	// +optional
	Version string `json:"version,omitempty"`

	// Phase describes the current phase the app deployment is in
	// +optional
	Phase InstanceDeployedAppPhase `json:"phase,omitempty"`

	// Reason describes the reason in machine-readable form
	// +optional
	Reason string `json:"reason,omitempty"`

	// Message describes the reason in human-readable form
	// +optional
	Message string `json:"message,omitempty"`
}

func (*InstanceDeployedAppStatus) DeepCopy

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

func (*InstanceDeployedAppStatus) DeepCopyInto

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

func (InstanceDeployedAppStatus) OpenAPIModelName added in v4.7.0

func (in InstanceDeployedAppStatus) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type InstancePhase

type InstancePhase string
var (
	InstanceReady    InstancePhase = "Ready"
	InstanceSleeping InstancePhase = "Sleeping"
	InstanceFailed   InstancePhase = "Failed"
	InstancePending  InstancePhase = "Pending"
)

type KindSecretRef

type KindSecretRef struct {
	// APIGroup is the api group of the secret
	APIGroup string `json:"apiGroup,omitempty"`
	// Kind is the kind of the secret
	Kind string `json:"kind,omitempty"`
	// +optional
	SecretName string `json:"secretName,omitempty"`
	// +optional
	SecretNamespace string `json:"secretNamespace,omitempty"`
	// +optional
	Key string `json:"key,omitempty"`
}

KindSecretRef is the reference to a secret containing the user password

func (*KindSecretRef) DeepCopy

func (in *KindSecretRef) DeepCopy() *KindSecretRef

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

func (*KindSecretRef) DeepCopyInto

func (in *KindSecretRef) DeepCopyInto(out *KindSecretRef)

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

func (KindSecretRef) OpenAPIModelName added in v4.7.0

func (in KindSecretRef) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type KubeVirtDeployment added in v4.10.0

type KubeVirtDeployment struct {
	// Enabled controls whether the KubeVirt operator is deployed into the cluster.
	Enabled bool `json:"enabled"`

	// ChartRepo overrides the Helm chart repository used to install the KubeVirt operator.
	// +optional
	ChartRepo string `json:"chartRepo,omitempty"`

	// Chart overrides the Helm chart name used to install the KubeVirt operator.
	// +optional
	Chart string `json:"chart,omitempty"`

	// Version overrides the Helm chart version used to install the KubeVirt operator.
	// +optional
	Version string `json:"version,omitempty"`

	// HelmValues is raw YAML that will be passed as values to the KubeVirt Helm chart.
	// +optional
	HelmValues string `json:"helmValues,omitempty"`
}

func (*KubeVirtDeployment) DeepCopy added in v4.10.0

func (in *KubeVirtDeployment) DeepCopy() *KubeVirtDeployment

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

func (*KubeVirtDeployment) DeepCopyInto added in v4.10.0

func (in *KubeVirtDeployment) DeepCopyInto(out *KubeVirtDeployment)

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

func (KubeVirtDeployment) OpenAPIModelName added in v4.10.0

func (in KubeVirtDeployment) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type KubeVirtNamespaceStrategy added in v4.12.0

type KubeVirtNamespaceStrategy string

KubeVirtNamespaceStrategy determines in which namespace of the connected cluster the VirtualMachines for a NodeClaim are created.

const (
	// KubeVirtNamespaceStrategyProvider creates all VirtualMachines in the namespace
	// referenced by the node provider's clusterRef. This is the default.
	KubeVirtNamespaceStrategyProvider KubeVirtNamespaceStrategy = "Provider"

	// KubeVirtNamespaceStrategyVirtualCluster creates the VirtualMachines in the
	// namespace of the tenant cluster the NodeClaim belongs to.
	KubeVirtNamespaceStrategyVirtualCluster KubeVirtNamespaceStrategy = "VirtualCluster"
)

type KubeVirtNodeTypeSpec added in v4.4.0

type KubeVirtNodeTypeSpec struct {
	NamedNodeTypeSpec `json:",inline"`

	// VirtualMachineTemplate is a full KubeVirt VirtualMachine template to use for this NodeType.
	// This is mutually exclusive with MergeVirtualMachineTemplate
	VirtualMachineTemplate *runtime.RawExtension `json:"virtualMachineTemplate,omitempty"`

	// MergeVirtualMachineTemplate will be merged into base VirtualMachine template for this NodeProvider.
	// This allows overwriting of specific fields from top level template by individual NodeTypes
	// This is mutually exclusive with VirtualMachineTemplate
	MergeVirtualMachineTemplate *runtime.RawExtension `json:"mergeVirtualMachineTemplate,omitempty"`

	// MaxCapacity is the maximum number of nodes that can be created for this NodeType.
	MaxCapacity int `json:"maxCapacity,omitempty"`
}

KubeVirtNodeTypeSpec defines single NodeType spec for KubeVirt provider type.

func (*KubeVirtNodeTypeSpec) DeepCopy added in v4.4.0

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

func (*KubeVirtNodeTypeSpec) DeepCopyInto added in v4.4.0

func (in *KubeVirtNodeTypeSpec) DeepCopyInto(out *KubeVirtNodeTypeSpec)

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

func (KubeVirtNodeTypeSpec) OpenAPIModelName added in v4.7.0

func (in KubeVirtNodeTypeSpec) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type KubeVirtProviderDeployment added in v4.10.0

type KubeVirtProviderDeployment struct {
	// KubeVirt configures the KubeVirt operator deployment.
	// +optional
	KubeVirt KubeVirtDeployment `json:"kubevirt,omitempty"`

	// VClusterDeviceOperator configures the vCluster device operator deployment.
	// +optional
	VClusterDeviceOperator *VClusterDeviceOperatorDeployment `json:"vClusterDeviceOperator,omitempty"`
}

func (*KubeVirtProviderDeployment) DeepCopy added in v4.10.0

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

func (*KubeVirtProviderDeployment) DeepCopyInto added in v4.10.0

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

func (KubeVirtProviderDeployment) OpenAPIModelName added in v4.10.0

func (in KubeVirtProviderDeployment) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

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

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.

func (LocalClusterAccessSpec) OpenAPIModelName added in v4.7.0

func (in LocalClusterAccessSpec) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type LocalClusterAccessTemplate

type LocalClusterAccessTemplate struct {
	// Metadata is the metadata of the cluster access object
	// +kubebuilder:pruning:PreserveUnknownFields
	// +optional
	Metadata metav1.ObjectMeta `json:"metadata,omitempty"`

	// LocalClusterAccessSpec holds the spec of the cluster access in the cluster
	// +optional
	LocalClusterAccessSpec LocalClusterAccessSpec `json:"spec,omitempty"`
}

func (*LocalClusterAccessTemplate) DeepCopy

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

func (*LocalClusterAccessTemplate) DeepCopyInto

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

func (LocalClusterAccessTemplate) OpenAPIModelName added in v4.7.0

func (in LocalClusterAccessTemplate) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type LocalClusterRoleTemplate

type LocalClusterRoleTemplate struct {
	// Metadata is the metadata of the cluster role template object
	// +kubebuilder:pruning:PreserveUnknownFields
	// +optional
	Metadata metav1.ObjectMeta `json:"metadata,omitempty"`

	// LocalClusterRoleTemplateSpec holds the spec of the cluster role template in the cluster
	// +optional
	LocalClusterRoleTemplateSpec LocalClusterRoleTemplateSpec `json:"spec,omitempty"`
}

func (*LocalClusterRoleTemplate) DeepCopy

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

func (*LocalClusterRoleTemplate) DeepCopyInto

func (in *LocalClusterRoleTemplate) DeepCopyInto(out *LocalClusterRoleTemplate)

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

func (LocalClusterRoleTemplate) OpenAPIModelName added in v4.7.0

func (in LocalClusterRoleTemplate) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type LocalClusterRoleTemplateSpec

type LocalClusterRoleTemplateSpec 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"`

	// ClusterRoleTemplate holds the cluster role template
	// +optional
	ClusterRoleTemplate ClusterRoleTemplateTemplate `json:"clusterRoleTemplate,omitempty"`
}

func (*LocalClusterRoleTemplateSpec) DeepCopy

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

func (*LocalClusterRoleTemplateSpec) DeepCopyInto

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

func (LocalClusterRoleTemplateSpec) OpenAPIModelName added in v4.7.0

func (in LocalClusterRoleTemplateSpec) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type MachineConfigTemplate added in v4.10.0

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

	Spec   MachineConfigTemplateSpec   `json:"spec,omitempty"`
	Status MachineConfigTemplateStatus `json:"status,omitempty"`
}

MachineConfigTemplate holds the machine config template for vCluster. +k8s:openapi-gen=true

func (*MachineConfigTemplate) DeepCopy added in v4.10.0

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

func (*MachineConfigTemplate) DeepCopyInto added in v4.10.0

func (in *MachineConfigTemplate) DeepCopyInto(out *MachineConfigTemplate)

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

func (*MachineConfigTemplate) DeepCopyObject added in v4.10.0

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

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

func (*MachineConfigTemplate) GetAccess added in v4.10.0

func (a *MachineConfigTemplate) GetAccess() []Access

func (*MachineConfigTemplate) GetOwner added in v4.10.0

func (a *MachineConfigTemplate) GetOwner() *UserOrTeam

func (MachineConfigTemplate) OpenAPIModelName added in v4.10.0

func (in MachineConfigTemplate) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

func (*MachineConfigTemplate) SetAccess added in v4.10.0

func (a *MachineConfigTemplate) SetAccess(access []Access)

func (*MachineConfigTemplate) SetOwner added in v4.10.0

func (a *MachineConfigTemplate) SetOwner(userOrTeam *UserOrTeam)

type MachineConfigTemplateList added in v4.10.0

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

MachineConfigTemplateList contains a list of MachineConfigTemplate

func (*MachineConfigTemplateList) DeepCopy added in v4.10.0

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

func (*MachineConfigTemplateList) DeepCopyInto added in v4.10.0

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

func (*MachineConfigTemplateList) DeepCopyObject added in v4.10.0

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

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

func (MachineConfigTemplateList) OpenAPIModelName added in v4.10.0

func (in MachineConfigTemplateList) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type MachineConfigTemplateSpec added in v4.10.0

type MachineConfigTemplateSpec struct {
	// DisplayName is the name of the NodeClaim that is displayed in the UI.
	// +optional
	DisplayName string `json:"displayName,omitempty"`

	// Owner holds the owner of this object
	// +optional
	Owner *UserOrTeam `json:"owner,omitempty"`

	// Access holds the access rights for users and teams
	// +optional
	Access []Access `json:"access,omitempty"`

	// CloudInitTemplate is the cloud init template to use for the machine config.
	// +optional
	CloudInitTemplate string `json:"cloudInitTemplate,omitempty"`

	// NetworkDataTemplate is the network data template to use for the machine config.
	// +optional
	NetworkDataTemplate string `json:"networkDataTemplate,omitempty"`
}

MachineConfigTemplateSpec defines spec of machine config template.

func (*MachineConfigTemplateSpec) DeepCopy added in v4.10.0

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

func (*MachineConfigTemplateSpec) DeepCopyInto added in v4.10.0

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

func (MachineConfigTemplateSpec) OpenAPIModelName added in v4.10.0

func (in MachineConfigTemplateSpec) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type MachineConfigTemplateStatus added in v4.10.0

type MachineConfigTemplateStatus struct{}

func (*MachineConfigTemplateStatus) DeepCopy added in v4.10.0

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

func (*MachineConfigTemplateStatus) DeepCopyInto added in v4.10.0

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

func (MachineConfigTemplateStatus) OpenAPIModelName added in v4.10.0

func (in MachineConfigTemplateStatus) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type Maintainer added in v4.12.0

type Maintainer struct {
	// Name is a user name or organization name
	// +optional
	Name string `json:"name,omitempty"`
	// Email is an optional email address to contact the named maintainer
	// +optional
	Email string `json:"email,omitempty"`
	// URL is an optional URL to an address for the named maintainer
	// +optional
	URL string `json:"url,omitempty"`
}

Maintainer describes a Chart maintainer.

func (*Maintainer) DeepCopy added in v4.12.0

func (in *Maintainer) DeepCopy() *Maintainer

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

func (*Maintainer) DeepCopyInto added in v4.12.0

func (in *Maintainer) DeepCopyInto(out *Maintainer)

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

func (Maintainer) OpenAPIModelName added in v4.12.0

func (in Maintainer) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type ManagedNodeTypeObjectMeta added in v4.4.0

type ManagedNodeTypeObjectMeta struct {
	// Labels holds labels to add to this managed NodeType.
	Labels map[string]string `json:"labels,omitempty"`

	// Annotations holds annotations to add to this managed NodeType.
	Annotations map[string]string `json:"annotations,omitempty"`
}

func (*ManagedNodeTypeObjectMeta) DeepCopy added in v4.4.0

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

func (*ManagedNodeTypeObjectMeta) DeepCopyInto added in v4.4.0

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

func (ManagedNodeTypeObjectMeta) OpenAPIModelName added in v4.7.0

func (in ManagedNodeTypeObjectMeta) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type Member

type Member struct {
	// Kind is the kind of the member. Currently either User or Team
	// +optional
	Kind string `json:"kind,omitempty"`

	// Group of the member. Currently only supports storage.loft.sh
	// +optional
	Group string `json:"group,omitempty"`

	// Name of the member
	// +optional
	Name string `json:"name,omitempty"`

	// ClusterRole is the assigned role for the above member
	ClusterRole string `json:"clusterRole"`
}

func (*Member) DeepCopy

func (in *Member) DeepCopy() *Member

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

func (*Member) DeepCopyInto

func (in *Member) DeepCopyInto(out *Member)

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

func (Member) OpenAPIModelName added in v4.7.0

func (in Member) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type Metadata added in v4.12.0

type Metadata struct {
	// The name of the chart
	// +optional
	Name string `json:"name,omitempty"`
	// The URL to a relevant project page, git repo, or contact person
	// +optional
	Home string `json:"home,omitempty"`
	// Source is the URL to the source code of this chart
	// +optional
	Sources []string `json:"sources,omitempty"`
	// A SemVer 2 conformant version string of the chart
	// +optional
	Version string `json:"version,omitempty"`
	// A one-sentence description of the chart
	// +optional
	Description string `json:"description,omitempty"`
	// A list of string keywords
	// +optional
	Keywords []string `json:"keywords,omitempty"`
	// A list of name and URL/email address combinations for the maintainer(s)
	// +optional
	Maintainers []*Maintainer `json:"maintainers,omitempty"`
	// The URL to an icon file.
	// +optional
	Icon string `json:"icon,omitempty"`
	// The API Version of this chart.
	// +optional
	APIVersion string `json:"apiVersion,omitempty"`
	// The condition to check to enable chart
	// +optional
	Condition string `json:"condition,omitempty"`
	// The tags to check to enable chart
	// +optional
	Tags string `json:"tags,omitempty"`
	// The version of the application enclosed inside of this chart.
	// +optional
	AppVersion string `json:"appVersion,omitempty"`
	// Whether or not this chart is deprecated
	// +optional
	Deprecated bool `json:"deprecated,omitempty"`
	// Annotations are additional mappings uninterpreted by Helm,
	// made available for inspection by other applications.
	// +optional
	Annotations map[string]string `json:"annotations,omitempty"`
	// KubeVersion is a SemVer constraint specifying the version of Kubernetes required.
	// +optional
	KubeVersion string `json:"kubeVersion,omitempty"`
	// Specifies the chart type: application or library
	// +optional
	Type string `json:"type,omitempty"`
	// Urls where to find the chart contents
	// +optional
	Urls []string `json:"urls,omitempty"`
}

Metadata for a Chart file. This models the structure of a Chart.yaml file.

func (*Metadata) DeepCopy added in v4.12.0

func (in *Metadata) DeepCopy() *Metadata

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

func (*Metadata) DeepCopyInto added in v4.12.0

func (in *Metadata) DeepCopyInto(out *Metadata)

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

func (Metadata) OpenAPIModelName added in v4.12.0

func (in Metadata) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type Metal3BareMetalHosts added in v4.8.0

type Metal3BareMetalHosts struct {
	// Selector is a label selector to select the BareMetalHosts to use for this NodeType.
	// +optional
	Selector *metav1.LabelSelector `json:"selector,omitempty"`
}

func (*Metal3BareMetalHosts) DeepCopy added in v4.8.0

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

func (*Metal3BareMetalHosts) DeepCopyInto added in v4.8.0

func (in *Metal3BareMetalHosts) DeepCopyInto(out *Metal3BareMetalHosts)

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

func (Metal3BareMetalHosts) OpenAPIModelName added in v4.8.0

func (in Metal3BareMetalHosts) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type Metal3Deployment added in v4.8.0

type Metal3Deployment struct {
	// Enabled controls whether Metal3 and Ironic are deployed into the cluster.
	Enabled bool `json:"enabled"`

	// ChartRepo overrides the Helm chart repository used to install Metal3.
	// +optional
	ChartRepo string `json:"chartRepo,omitempty"`

	// Chart overrides the Helm chart name used to install Metal3.
	// +optional
	Chart string `json:"chart,omitempty"`

	// Version overrides the Helm chart version used to install Metal3.
	// +optional
	Version string `json:"version,omitempty"`

	// HelmValues is raw YAML that will be passed as values to the Metal3 Helm chart.
	// +optional
	HelmValues string `json:"helmValues,omitempty"`
}

func (*Metal3Deployment) DeepCopy added in v4.8.0

func (in *Metal3Deployment) DeepCopy() *Metal3Deployment

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

func (*Metal3Deployment) DeepCopyInto added in v4.8.0

func (in *Metal3Deployment) DeepCopyInto(out *Metal3Deployment)

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

func (Metal3Deployment) OpenAPIModelName added in v4.8.0

func (in Metal3Deployment) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type Metal3NodeTypeSpec added in v4.8.0

type Metal3NodeTypeSpec struct {
	NamedNodeTypeSpec `json:",inline"`

	// BareMetalHosts is a list of BareMetalHosts to use for this NodeType.
	// +optional
	BareMetalHosts Metal3BareMetalHosts `json:"bareMetalHosts,omitempty"`
}

func (*Metal3NodeTypeSpec) DeepCopy added in v4.8.0

func (in *Metal3NodeTypeSpec) DeepCopy() *Metal3NodeTypeSpec

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

func (*Metal3NodeTypeSpec) DeepCopyInto added in v4.8.0

func (in *Metal3NodeTypeSpec) DeepCopyInto(out *Metal3NodeTypeSpec)

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

func (Metal3NodeTypeSpec) OpenAPIModelName added in v4.8.0

func (in Metal3NodeTypeSpec) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type Metal3ProviderDeployment added in v4.8.0

type Metal3ProviderDeployment struct {
	// Multus configures the Multus CNI deployment.
	// +optional
	Multus MultusDeployment `json:"multus,omitempty"`

	// DHCP configures the DHCP server deployment.
	// +optional
	DHCP DHCPDeployment `json:"dhcp,omitempty"`

	// Metal3 configures the Metal3/Ironic deployment.
	// +optional
	Metal3 Metal3Deployment `json:"metal3,omitempty"`
}

func (*Metal3ProviderDeployment) DeepCopy added in v4.8.0

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

func (*Metal3ProviderDeployment) DeepCopyInto added in v4.8.0

func (in *Metal3ProviderDeployment) DeepCopyInto(out *Metal3ProviderDeployment)

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

func (Metal3ProviderDeployment) OpenAPIModelName added in v4.8.0

func (in Metal3ProviderDeployment) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type Metrics added in v4.2.0

type Metrics struct {
	// Replicas is the number of desired replicas.
	Replicas *int32 `json:"replicas,omitempty"`

	// Resources are compute resource required by the metrics backend
	Resources *corev1.ResourceRequirements `json:"resources,omitempty"`

	// Retention is the metrics data retention period. Default is 1y
	Retention string `json:"retention,omitempty"`

	// Storage contains settings related to the metrics backend's persistent volume configuration
	Storage `json:"storage,omitempty"`
}

func (*Metrics) DeepCopy added in v4.2.0

func (in *Metrics) DeepCopy() *Metrics

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

func (*Metrics) DeepCopyInto added in v4.2.0

func (in *Metrics) DeepCopyInto(out *Metrics)

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

func (Metrics) OpenAPIModelName added in v4.7.0

func (in Metrics) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type MultusDeployment added in v4.8.0

type MultusDeployment struct {
	// Enabled controls whether Multus CNI is deployed into the cluster.
	Enabled bool `json:"enabled"`

	// HelmValues is raw YAML that will be passed as values to the Multus Helm chart.
	// +optional
	HelmValues string `json:"helmValues,omitempty"`
}

func (*MultusDeployment) DeepCopy added in v4.8.0

func (in *MultusDeployment) DeepCopy() *MultusDeployment

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

func (*MultusDeployment) DeepCopyInto added in v4.8.0

func (in *MultusDeployment) DeepCopyInto(out *MultusDeployment)

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

func (MultusDeployment) OpenAPIModelName added in v4.8.0

func (in MultusDeployment) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type NamedNodeTypeSpec added in v4.4.0

type NamedNodeTypeSpec struct {
	NodeTypeSpec `json:",inline"`

	// Name is the name of this node type.
	Name string `json:"name"`

	// Metadata holds metadata to add to this managed NodeType.
	Metadata ManagedNodeTypeObjectMeta `json:"metadata,omitempty"`
}

func (*NamedNodeTypeSpec) DeepCopy added in v4.4.0

func (in *NamedNodeTypeSpec) DeepCopy() *NamedNodeTypeSpec

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

func (*NamedNodeTypeSpec) DeepCopyInto added in v4.4.0

func (in *NamedNodeTypeSpec) DeepCopyInto(out *NamedNodeTypeSpec)

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

func (NamedNodeTypeSpec) OpenAPIModelName added in v4.7.0

func (in NamedNodeTypeSpec) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type NamespacePattern

type NamespacePattern struct {
	// Space holds the namespace pattern to use for space instances
	// +optional
	Space string `json:"space,omitempty"`

	// VirtualCluster holds the namespace pattern to use for tenant cluster instances
	// +optional
	VirtualCluster string `json:"virtualCluster,omitempty"`
}

func (*NamespacePattern) DeepCopy

func (in *NamespacePattern) DeepCopy() *NamespacePattern

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

func (*NamespacePattern) DeepCopyInto

func (in *NamespacePattern) DeepCopyInto(out *NamespacePattern)

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

func (NamespacePattern) OpenAPIModelName added in v4.7.0

func (in NamespacePattern) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type NamespacedRef added in v4.4.0

type NamespacedRef struct {
	// Name is the name of this resource
	Name string `json:"name"`
	// Namespace is the namespace of this resource
	Namespace string `json:"namespace"`
}

func (*NamespacedRef) DeepCopy added in v4.4.0

func (in *NamespacedRef) DeepCopy() *NamespacedRef

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

func (*NamespacedRef) DeepCopyInto added in v4.4.0

func (in *NamespacedRef) DeepCopyInto(out *NamespacedRef)

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

func (NamespacedRef) OpenAPIModelName added in v4.7.0

func (in NamespacedRef) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type NetworkPeer

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

	Spec   NetworkPeerSpec   `json:"spec,omitempty"`
	Status NetworkPeerStatus `json:"status,omitempty"`
}

NetworkPeer hols the information of network peers +k8s:openapi-gen=true

func (*NetworkPeer) DeepCopy

func (in *NetworkPeer) DeepCopy() *NetworkPeer

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

func (*NetworkPeer) DeepCopyInto

func (in *NetworkPeer) DeepCopyInto(out *NetworkPeer)

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

func (*NetworkPeer) DeepCopyObject

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

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

func (NetworkPeer) OpenAPIModelName added in v4.7.0

func (in NetworkPeer) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type NetworkPeerList

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

NetworkPeerList contains a list of NetworkPeers

func (*NetworkPeerList) DeepCopy

func (in *NetworkPeerList) DeepCopy() *NetworkPeerList

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

func (*NetworkPeerList) DeepCopyInto

func (in *NetworkPeerList) DeepCopyInto(out *NetworkPeerList)

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

func (*NetworkPeerList) DeepCopyObject

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

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

func (NetworkPeerList) OpenAPIModelName added in v4.7.0

func (in NetworkPeerList) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type NetworkPeerSpec

type NetworkPeerSpec struct {
	// DiscoKey is a key used for DERP discovery
	DiscoKey string `json:"discoKey,omitempty"`
	// MachineKey is used to identify a network peer
	MachineKey string `json:"machineKey,omitempty"`
	// NodeKey is used to identify a session
	NodeKey string `json:"nodeKey,omitempty"`
	// Addresses is a list of IP addresses of this Node directly.
	Addresses []string `json:"addresses,omitempty"`
	// AllowedIPs is a range of IP addresses to route to this node.
	AllowedIPs []string `json:"allowedIPs,omitempty"`
	// Endpoints is a list of IP+port (public via STUN, and local LANs) where
	// this node can be reached.
	Endpoints []string `json:"endpoints,omitempty"`
}

func (*NetworkPeerSpec) DeepCopy

func (in *NetworkPeerSpec) DeepCopy() *NetworkPeerSpec

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

func (*NetworkPeerSpec) DeepCopyInto

func (in *NetworkPeerSpec) DeepCopyInto(out *NetworkPeerSpec)

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

func (NetworkPeerSpec) OpenAPIModelName added in v4.7.0

func (in NetworkPeerSpec) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type NetworkPeerStatus

type NetworkPeerStatus struct {
	// LastSeen is when the network peer was last online. It is not updated when
	// Online is true.
	LastSeen string `json:"lastSeen,omitempty"`
	// HomeDerpRegion is the currently preferred DERP region by the network peer
	HomeDerpRegion int `json:"homeDerpRegion,omitempty"`
	// Online is whether the node is currently connected to the coordination
	// server.
	Online bool `json:"online,omitempty"`
}

func (*NetworkPeerStatus) DeepCopy

func (in *NetworkPeerStatus) DeepCopy() *NetworkPeerStatus

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

func (*NetworkPeerStatus) DeepCopyInto

func (in *NetworkPeerStatus) DeepCopyInto(out *NetworkPeerStatus)

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

func (NetworkPeerStatus) OpenAPIModelName added in v4.7.0

func (in NetworkPeerStatus) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type NodeClaim added in v4.4.0

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

	Spec   NodeClaimSpec   `json:"spec,omitempty"`
	Status NodeClaimStatus `json:"status,omitempty"`
}

NodeClaim holds the node claim for vCluster. +k8s:openapi-gen=true

func (*NodeClaim) DeepCopy added in v4.4.0

func (in *NodeClaim) DeepCopy() *NodeClaim

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

func (*NodeClaim) DeepCopyInto added in v4.4.0

func (in *NodeClaim) DeepCopyInto(out *NodeClaim)

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

func (*NodeClaim) DeepCopyObject added in v4.4.0

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

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

func (*NodeClaim) GetAccess added in v4.8.0

func (a *NodeClaim) GetAccess() []Access

func (*NodeClaim) GetConditions added in v4.4.0

func (a *NodeClaim) GetConditions() agentstoragev1.Conditions

func (*NodeClaim) GetOwner added in v4.8.0

func (a *NodeClaim) GetOwner() *UserOrTeam

func (NodeClaim) OpenAPIModelName added in v4.7.0

func (in NodeClaim) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

func (*NodeClaim) SetAccess added in v4.8.0

func (a *NodeClaim) SetAccess(access []Access)

func (*NodeClaim) SetConditions added in v4.4.0

func (a *NodeClaim) SetConditions(conditions agentstoragev1.Conditions)

func (*NodeClaim) SetOwner added in v4.8.0

func (a *NodeClaim) SetOwner(userOrTeam *UserOrTeam)

type NodeClaimList added in v4.4.0

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

NodeClaimList contains a list of NodeClaim

func (*NodeClaimList) DeepCopy added in v4.4.0

func (in *NodeClaimList) DeepCopy() *NodeClaimList

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

func (*NodeClaimList) DeepCopyInto added in v4.4.0

func (in *NodeClaimList) DeepCopyInto(out *NodeClaimList)

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

func (*NodeClaimList) DeepCopyObject added in v4.4.0

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

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

func (NodeClaimList) OpenAPIModelName added in v4.7.0

func (in NodeClaimList) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type NodeClaimPhase added in v4.4.0

type NodeClaimPhase string

NodeClaimPhase defines the phase of the NodeClaim

const (
	// NodeClaimPhasePending is the initial state of a NodeClaim.
	NodeClaimPhasePending NodeClaimPhase = "Pending"
	// NodeClaimPhaseAvailable means the underlying node has been successfully provisioned.
	NodeClaimPhaseAvailable NodeClaimPhase = "Available"
	// NodeClaimPhaseFailed means the provisioning process has failed.
	NodeClaimPhaseFailed NodeClaimPhase = "Failed"
)

type NodeClaimPower added in v4.10.0

type NodeClaimPower struct {
	// State is the power state.
	//
	// In spec, only "On" and "Off" are meaningful; an empty value is treated
	// as "On".
	//
	// In status, "On" and "Off" indicate the observed state is stable.
	// Providers may also surface their native intermediate state (e.g.
	// "Starting", "Stopping", "Migrating", ...) as a passthrough. An empty
	// value means the state could not be determined.
	// +optional
	State NodeClaimPowerState `json:"state,omitempty"`
}

func (*NodeClaimPower) DeepCopy added in v4.10.0

func (in *NodeClaimPower) DeepCopy() *NodeClaimPower

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

func (*NodeClaimPower) DeepCopyInto added in v4.10.0

func (in *NodeClaimPower) DeepCopyInto(out *NodeClaimPower)

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

func (NodeClaimPower) OpenAPIModelName added in v4.10.0

func (in NodeClaimPower) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type NodeClaimPowerState added in v4.10.0

type NodeClaimPowerState string

NodeClaimPowerState is the power state of a machine.

const (
	NodeClaimPowerStateOn  NodeClaimPowerState = "On"
	NodeClaimPowerStateOff NodeClaimPowerState = "Off"
)

type NodeClaimSpec added in v4.4.0

type NodeClaimSpec struct {
	// DisplayName is the name of the NodeClaim that is displayed in the UI.
	// +optional
	DisplayName string `json:"displayName,omitempty"`

	// Owner holds the owner of this object
	// +optional
	Owner *UserOrTeam `json:"owner,omitempty"`

	// Access holds the access rights for users and teams
	// +optional
	Access []Access `json:"access,omitempty"`

	// ProviderRef is the name of the NodeProvider that this NodeClaim is based on.
	ProviderRef string `json:"providerRef"`

	// TypeRef is the full name of the NodeType that this NodeClaim is based on.
	// +optional
	TypeRef string `json:"typeRef,omitempty"`

	// EnvironmentRef is the name of the NodeEnvironment that this NodeClaim is based on.
	// +optional
	EnvironmentRef string `json:"environmentRef,omitempty"`

	// Properties are extra properties for the NodeClaim.
	// +optional
	Properties map[string]string `json:"properties,omitempty"`

	// VClusterRef references source vCluster.
	// +optional
	VClusterRef string `json:"vClusterRef,omitempty"`

	// ControlPlane indicates if the node claim is for a control plane node. This is intentionally not omitempty as
	// we want to ensure that the control plane is always set for easier checking in for example terraform templates.
	// +optional
	ControlPlane bool `json:"controlPlane"`

	// Taints will be applied to the NodeClaim's node.
	// +optional
	Taints []corev1.Taint `json:"taints,omitempty"`

	// StartupTaints are taints that are applied to nodes upon startup which are expected to be removed automatically
	// within a short period of time, typically by a DaemonSet that tolerates the taint. These are commonly used by
	// daemonsets to allow initialization and enforce startup ordering.  StartupTaints are ignored for provisioning
	// purposes in that pods are not required to tolerate a StartupTaint in order to have nodes provisioned for them.
	// +optional
	StartupTaints []corev1.Taint `json:"startupTaints,omitempty"`

	// KubeletArgs are additional arguments to pass to the kubelet.
	// +optional
	KubeletArgs map[string]string `json:"kubeletArgs,omitempty"`

	// ProfileRef is the name of a NodeProfile in the catalog to apply to the
	// resulting node. The referenced profile must exist and must be permitted
	// by the owning project's allowedNodeProfiles. Optional.
	// +optional
	ProfileRef string `json:"profileRef,omitempty"`

	// DesiredCapacity specifies the resources requested by the NodeClaim.
	DesiredCapacity corev1.ResourceList `json:"desiredCapacity,omitempty"`

	// Requirements are the requirements for the NodeClaim.
	Requirements []corev1.NodeSelectorRequirement `json:"requirements,omitempty"`

	// Power describes the desired power state of the machine.
	// +optional
	// +kubebuilder:validation:XValidation:rule="!has(self.state) || self.state == ” || self.state == 'On' || self.state == 'Off'",message="state must be On or Off"
	Power *NodeClaimPower `json:"power,omitempty"`
}

NodeClaimSpec defines spec of node claim.

func (*NodeClaimSpec) DeepCopy added in v4.4.0

func (in *NodeClaimSpec) DeepCopy() *NodeClaimSpec

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

func (*NodeClaimSpec) DeepCopyInto added in v4.4.0

func (in *NodeClaimSpec) DeepCopyInto(out *NodeClaimSpec)

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

func (NodeClaimSpec) OpenAPIModelName added in v4.7.0

func (in NodeClaimSpec) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type NodeClaimStatus added in v4.4.0

type NodeClaimStatus struct {
	// Phase is the current lifecycle phase of the NodeClaim.
	// +optional
	Phase NodeClaimPhase `json:"phase,omitempty"`

	// Reason describes the reason in machine-readable form
	// +optional
	Reason string `json:"reason,omitempty"`

	// Message describes the reason in human-readable form
	// +optional
	Message string `json:"message,omitempty"`

	// Conditions describe the current state of the platform NodeClaim.
	// +optional
	Conditions agentstoragev1.Conditions `json:"conditions,omitempty"`

	// Power describes the observed power state of the machine.
	// +optional
	Power *NodeClaimPower `json:"power,omitempty"`
}

func (*NodeClaimStatus) DeepCopy added in v4.4.0

func (in *NodeClaimStatus) DeepCopy() *NodeClaimStatus

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

func (*NodeClaimStatus) DeepCopyInto added in v4.4.0

func (in *NodeClaimStatus) DeepCopyInto(out *NodeClaimStatus)

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

func (NodeClaimStatus) OpenAPIModelName added in v4.7.0

func (in NodeClaimStatus) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type NodeEnvironment added in v4.4.0

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

	Spec   NodeEnvironmentSpec   `json:"spec,omitempty"`
	Status NodeEnvironmentStatus `json:"status,omitempty"`
}

NodeEnvironment holds the node environment for vCluster. +k8s:openapi-gen=true

func (*NodeEnvironment) DeepCopy added in v4.4.0

func (in *NodeEnvironment) DeepCopy() *NodeEnvironment

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

func (*NodeEnvironment) DeepCopyInto added in v4.4.0

func (in *NodeEnvironment) DeepCopyInto(out *NodeEnvironment)

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

func (*NodeEnvironment) DeepCopyObject added in v4.4.0

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

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

func (*NodeEnvironment) GetAccess added in v4.8.0

func (a *NodeEnvironment) GetAccess() []Access

func (*NodeEnvironment) GetConditions added in v4.4.0

func (a *NodeEnvironment) GetConditions() agentstoragev1.Conditions

func (*NodeEnvironment) GetOwner added in v4.8.0

func (a *NodeEnvironment) GetOwner() *UserOrTeam

func (NodeEnvironment) OpenAPIModelName added in v4.7.0

func (in NodeEnvironment) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

func (*NodeEnvironment) SetAccess added in v4.8.0

func (a *NodeEnvironment) SetAccess(access []Access)

func (*NodeEnvironment) SetConditions added in v4.4.0

func (a *NodeEnvironment) SetConditions(conditions agentstoragev1.Conditions)

func (*NodeEnvironment) SetOwner added in v4.8.0

func (a *NodeEnvironment) SetOwner(userOrTeam *UserOrTeam)

type NodeEnvironmentList added in v4.4.0

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

NodeEnvironmentList contains a list of NodeEnvironment

func (*NodeEnvironmentList) DeepCopy added in v4.4.0

func (in *NodeEnvironmentList) DeepCopy() *NodeEnvironmentList

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

func (*NodeEnvironmentList) DeepCopyInto added in v4.4.0

func (in *NodeEnvironmentList) DeepCopyInto(out *NodeEnvironmentList)

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

func (*NodeEnvironmentList) DeepCopyObject added in v4.4.0

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

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

func (NodeEnvironmentList) OpenAPIModelName added in v4.7.0

func (in NodeEnvironmentList) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type NodeEnvironmentPhase added in v4.4.0

type NodeEnvironmentPhase string

NodeEnvironmentPhase defines the phase of the NodeEnvironment

const (
	// NodeEnvironmentPhasePending is the initial state of a NodeEnvironment.
	NodeEnvironmentPhasePending NodeEnvironmentPhase = "Pending"
	// NodeEnvironmentPhaseAvailable means the underlying node environment has been successfully provisioned.
	NodeEnvironmentPhaseAvailable NodeEnvironmentPhase = "Available"
	// NodeEnvironmentPhaseFailed means the provisioning process has failed.
	NodeEnvironmentPhaseFailed NodeEnvironmentPhase = "Failed"
)

type NodeEnvironmentSpec added in v4.4.0

type NodeEnvironmentSpec struct {
	// DisplayName is the name of the NodeClaim that is displayed in the UI.
	// +optional
	DisplayName string `json:"displayName,omitempty"`

	// Owner holds the owner of this object
	// +optional
	Owner *UserOrTeam `json:"owner,omitempty"`

	// Access holds the access rights for users and teams
	// +optional
	Access []Access `json:"access,omitempty"`

	// Properties are the properties for the NodeEnvironment.
	// +optional
	Properties map[string]string `json:"properties"`

	// ProviderRef is the name of the NodeProvider that this NodeEnvironment is based on.
	// +optional
	ProviderRef string `json:"providerRef,omitempty"`

	// VClusterRef references source vCluster.
	// +optional
	VClusterRef string `json:"vClusterRef,omitempty"`

	// ControlPlane indicates if the node environment is a control plane environment. This is intentionally not omitempty as
	// we want to ensure that the control plane is always set for easier checking in for example terraform templates.
	// +optional
	ControlPlane bool `json:"controlPlane"`
}

NodeEnvironmentSpec defines spec of node environment.

func (*NodeEnvironmentSpec) DeepCopy added in v4.4.0

func (in *NodeEnvironmentSpec) DeepCopy() *NodeEnvironmentSpec

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

func (*NodeEnvironmentSpec) DeepCopyInto added in v4.4.0

func (in *NodeEnvironmentSpec) DeepCopyInto(out *NodeEnvironmentSpec)

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

func (NodeEnvironmentSpec) OpenAPIModelName added in v4.7.0

func (in NodeEnvironmentSpec) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type NodeEnvironmentStatus added in v4.4.0

type NodeEnvironmentStatus struct {
	// Phase is the current lifecycle phase of the NodeEnvironment.
	// +optional
	Phase NodeEnvironmentPhase `json:"phase,omitempty"`

	// Reason describes the reason in machine-readable form
	// +optional
	Reason string `json:"reason,omitempty"`

	// Message describes the reason in human-readable form
	// +optional
	Message string `json:"message,omitempty"`

	// Conditions describe the current state of the platform NodeClaim.
	// +optional
	Conditions agentstoragev1.Conditions `json:"conditions,omitempty"`
}

func (*NodeEnvironmentStatus) DeepCopy added in v4.4.0

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

func (*NodeEnvironmentStatus) DeepCopyInto added in v4.4.0

func (in *NodeEnvironmentStatus) DeepCopyInto(out *NodeEnvironmentStatus)

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

func (NodeEnvironmentStatus) OpenAPIModelName added in v4.7.0

func (in NodeEnvironmentStatus) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type NodeProfile added in v4.11.0

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

	Spec   NodeProfileSpec   `json:"spec,omitempty"`
	Status NodeProfileStatus `json:"status,omitempty"`
}

NodeProfile holds reusable node runtime configuration that can be referenced by manual joins, auto nodes, and platform NodeClaims. +k8s:openapi-gen=true

func (*NodeProfile) DeepCopy added in v4.11.0

func (in *NodeProfile) DeepCopy() *NodeProfile

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

func (*NodeProfile) DeepCopyInto added in v4.11.0

func (in *NodeProfile) DeepCopyInto(out *NodeProfile)

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

func (*NodeProfile) DeepCopyObject added in v4.11.0

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

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

func (NodeProfile) OpenAPIModelName added in v4.11.0

func (in NodeProfile) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type NodeProfileList added in v4.11.0

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

NodeProfileList contains a list of NodeProfile.

func (*NodeProfileList) DeepCopy added in v4.11.0

func (in *NodeProfileList) DeepCopy() *NodeProfileList

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

func (*NodeProfileList) DeepCopyInto added in v4.11.0

func (in *NodeProfileList) DeepCopyInto(out *NodeProfileList)

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

func (*NodeProfileList) DeepCopyObject added in v4.11.0

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

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

func (NodeProfileList) OpenAPIModelName added in v4.11.0

func (in NodeProfileList) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type NodeProfileSpec added in v4.11.0

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

	// Description describes what the profile is intended for.
	// +optional
	Description string `json:"description,omitempty"`

	// Taints are taints that should be applied to the joined node.
	// +optional
	Taints []corev1.Taint `json:"taints,omitempty"`

	// StartupTaints are temporary taints applied while the node initializes.
	// +optional
	StartupTaints []corev1.Taint `json:"startupTaints,omitempty"`

	// NodeLabels are labels that should be applied to the joined node.
	// +optional
	NodeLabels map[string]string `json:"nodeLabels,omitempty"`

	// NodeAnnotations are annotations that should be applied to the joined node.
	// +optional
	NodeAnnotations map[string]string `json:"nodeAnnotations,omitempty"`
}

NodeProfileSpec defines reusable node settings.

func (*NodeProfileSpec) DeepCopy added in v4.11.0

func (in *NodeProfileSpec) DeepCopy() *NodeProfileSpec

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

func (*NodeProfileSpec) DeepCopyInto added in v4.11.0

func (in *NodeProfileSpec) DeepCopyInto(out *NodeProfileSpec)

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

func (NodeProfileSpec) OpenAPIModelName added in v4.11.0

func (in NodeProfileSpec) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type NodeProfileStatus added in v4.11.0

type NodeProfileStatus struct{}

func (*NodeProfileStatus) DeepCopy added in v4.11.0

func (in *NodeProfileStatus) DeepCopy() *NodeProfileStatus

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

func (*NodeProfileStatus) DeepCopyInto added in v4.11.0

func (in *NodeProfileStatus) DeepCopyInto(out *NodeProfileStatus)

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

func (NodeProfileStatus) OpenAPIModelName added in v4.11.0

func (in NodeProfileStatus) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type NodeProvider added in v4.4.0

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

	Spec   NodeProviderSpec   `json:"spec,omitempty"`
	Status NodeProviderStatus `json:"status,omitempty"`
}

NodeProvider holds the information of a node provider config. This resource defines various ways a node can be provisioned or configured. +k8s:openapi-gen=true

func (*NodeProvider) DeepCopy added in v4.4.0

func (in *NodeProvider) DeepCopy() *NodeProvider

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

func (*NodeProvider) DeepCopyInto added in v4.4.0

func (in *NodeProvider) DeepCopyInto(out *NodeProvider)

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

func (*NodeProvider) DeepCopyObject added in v4.4.0

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

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

func (*NodeProvider) GetConditions added in v4.4.0

func (a *NodeProvider) GetConditions() agentstoragev1.Conditions

func (NodeProvider) OpenAPIModelName added in v4.7.0

func (in NodeProvider) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

func (*NodeProvider) SetConditions added in v4.4.0

func (a *NodeProvider) SetConditions(conditions agentstoragev1.Conditions)

type NodeProviderBCM added in v4.4.0

type NodeProviderBCM struct {
	// SecretRef is a reference to secret with keys for BCM auth.
	SecretRef *NamespacedRef `json:"secretRef"`

	// Endpoint is an address for head node.
	Endpoint string `json:"endpoint"`

	// NodeTypes define NodeTypes that should be automatically created for this provider.
	NodeTypes []BCMNodeTypeSpec `json:"nodeTypes,omitempty"`
}

NodeProviderBCMSpec defines the configuration for a BCM node provider.

func (*NodeProviderBCM) DeepCopy added in v4.4.0

func (in *NodeProviderBCM) DeepCopy() *NodeProviderBCM

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

func (*NodeProviderBCM) DeepCopyInto added in v4.4.0

func (in *NodeProviderBCM) DeepCopyInto(out *NodeProviderBCM)

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

func (NodeProviderBCM) OpenAPIModelName added in v4.7.0

func (in NodeProviderBCM) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type NodeProviderClusterAPI added in v4.5.0

type NodeProviderClusterAPI struct {
	ClusterAPIObjects `json:",inline"`

	// ClusterRef is a reference to connected control plane cluster in which KubeVirt operator is running
	ClusterRef NodeProviderClusterRef `json:"clusterRef,omitempty"`

	// NodeTypes define NodeTypes that should be automatically created for this provider.
	NodeTypes []ClusterAPINodeTypeSpec `json:"nodeTypes,omitempty"`
}

func (*NodeProviderClusterAPI) DeepCopy added in v4.5.0

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

func (*NodeProviderClusterAPI) DeepCopyInto added in v4.5.0

func (in *NodeProviderClusterAPI) DeepCopyInto(out *NodeProviderClusterAPI)

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

func (NodeProviderClusterAPI) OpenAPIModelName added in v4.7.0

func (in NodeProviderClusterAPI) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type NodeProviderClusterRef added in v4.5.0

type NodeProviderClusterRef struct {
	// Cluster is the connected cluster the VMs will be created in
	Cluster string `json:"cluster"`

	// Namespace is the namespace inside the connected cluster holding VMs
	Namespace string `json:"namespace,omitempty"`
}

func (*NodeProviderClusterRef) DeepCopy added in v4.5.0

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

func (*NodeProviderClusterRef) DeepCopyInto added in v4.5.0

func (in *NodeProviderClusterRef) DeepCopyInto(out *NodeProviderClusterRef)

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

func (NodeProviderClusterRef) OpenAPIModelName added in v4.7.0

func (in NodeProviderClusterRef) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type NodeProviderKubeVirt added in v4.4.0

type NodeProviderKubeVirt struct {
	// ClusterRef is a reference to connected control plane cluster in which KubeVirt operator is running
	ClusterRef NodeProviderClusterRef `json:"clusterRef,omitempty"`

	// NamespaceStrategy determines in which namespace of the connected cluster the
	// VirtualMachines are created.
	// "Provider" (default) creates all VirtualMachines in clusterRef.namespace.
	// "VirtualCluster" creates the VirtualMachines in the namespace of the tenant
	// cluster the NodeClaim belongs to. If the NodeClaim cannot be traced back to a
	// tenant cluster namespace within clusterRef.cluster, clusterRef.namespace is
	// used instead.
	// +kubebuilder:validation:Enum=Provider;VirtualCluster
	// +optional
	NamespaceStrategy KubeVirtNamespaceStrategy `json:"namespaceStrategy,omitempty"`

	// Deploy configures components deployed into the connected control plane cluster.
	// +optional
	Deploy KubeVirtProviderDeployment `json:"deploy,omitempty"`

	// VirtualMachineTemplate is a KubeVirt VirtualMachine template to use by NodeTypes managed by this NodeProvider
	VirtualMachineTemplate *runtime.RawExtension `json:"virtualMachineTemplate,omitempty"`

	// NodeTypes define NodeTypes that should be automatically created for this provider.
	NodeTypes []KubeVirtNodeTypeSpec `json:"nodeTypes"`
}

NodeProviderKubeVirt defines the configuration for a KubeVirt node provider.

func (*NodeProviderKubeVirt) DeepCopy added in v4.4.0

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

func (*NodeProviderKubeVirt) DeepCopyInto added in v4.4.0

func (in *NodeProviderKubeVirt) DeepCopyInto(out *NodeProviderKubeVirt)

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

func (NodeProviderKubeVirt) OpenAPIModelName added in v4.7.0

func (in NodeProviderKubeVirt) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type NodeProviderList added in v4.4.0

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

NodeProviderList contains a list of NodeProvider

func (*NodeProviderList) DeepCopy added in v4.4.0

func (in *NodeProviderList) DeepCopy() *NodeProviderList

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

func (*NodeProviderList) DeepCopyInto added in v4.4.0

func (in *NodeProviderList) DeepCopyInto(out *NodeProviderList)

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

func (*NodeProviderList) DeepCopyObject added in v4.4.0

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

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

func (NodeProviderList) OpenAPIModelName added in v4.7.0

func (in NodeProviderList) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type NodeProviderMetal3 added in v4.8.0

type NodeProviderMetal3 struct {
	// ClusterRef is a reference to connected control plane cluster in which KubeVirt operator is running
	ClusterRef NodeProviderClusterRef `json:"clusterRef,omitempty"`

	Deploy Metal3ProviderDeployment `json:"deploy,omitempty"`

	// NodeTypes define NodeTypes that should be automatically created for this provider.
	NodeTypes []Metal3NodeTypeSpec `json:"nodeTypes,omitempty"`

	// NeutronEnabled turns on the neutron network shim for this provider: BareMetalHost network
	// attachments are allocated by the platform and reconciled through ConfigMaps instead of
	// being written directly as DHCP annotations.
	// +optional
	NeutronEnabled bool `json:"neutronEnabled,omitempty"`

	// Netris attaches BareMetalHosts to a Netris server cluster on provisioning.
	// +optional
	Netris *NodeProviderMetal3Netris `json:"netris,omitempty"`
}

func (*NodeProviderMetal3) DeepCopy added in v4.8.0

func (in *NodeProviderMetal3) DeepCopy() *NodeProviderMetal3

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

func (*NodeProviderMetal3) DeepCopyInto added in v4.8.0

func (in *NodeProviderMetal3) DeepCopyInto(out *NodeProviderMetal3)

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

func (NodeProviderMetal3) OpenAPIModelName added in v4.8.0

func (in NodeProviderMetal3) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type NodeProviderMetal3Netris added in v4.12.0

type NodeProviderMetal3Netris struct {
	// SecretRef references a Secret with keys url, username and password for the Netris API.
	SecretRef *NamespacedRef `json:"secretRef"`
}

func (*NodeProviderMetal3Netris) DeepCopy added in v4.12.0

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

func (*NodeProviderMetal3Netris) DeepCopyInto added in v4.12.0

func (in *NodeProviderMetal3Netris) DeepCopyInto(out *NodeProviderMetal3Netris)

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

func (NodeProviderMetal3Netris) OpenAPIModelName added in v4.12.0

func (in NodeProviderMetal3Netris) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type NodeProviderPhase added in v4.4.0

type NodeProviderPhase string

NodeProviderPhase defines the phase of the NodeProvider

type NodeProviderSpec added in v4.4.0

type NodeProviderSpec struct {
	// Properties are global properties that are applied to all node claims and environments managed by this provider.
	// +optional
	Properties map[string]string `json:"properties,omitempty"`

	// BCM configures a node provider for BCM Bare Metal Cloud environments.
	// +optional
	BCM *NodeProviderBCM `json:"bcm,omitempty"`

	// Kubevirt configures a node provider using KubeVirt, enabling virtual machines
	// to be provisioned as nodes within a vCluster.
	// +optional
	KubeVirt *NodeProviderKubeVirt `json:"kubeVirt,omitempty"`

	// Terraform configures a node provider using Terraform, enabling nodes to be provisioned using Terraform.
	// +optional
	Terraform *NodeProviderTerraform `json:"terraform,omitempty"`

	// ClusterAPI configures a node provider using Cluster API, enabling nodes to be provisioned using Cluster API.
	// This requires the vCluster to be deployed with Cluster API as well.
	// +optional
	ClusterAPI *NodeProviderClusterAPI `json:"clusterAPI,omitempty"`

	// Metal3 configures a node provider using metal3.io BareMetalHost resources.
	// +optional
	Metal3 *NodeProviderMetal3 `json:"metal3,omitempty"`

	// DisplayName is the name that should be displayed in the UI
	// +optional
	DisplayName string `json:"displayName,omitempty"`
}

NodeProviderSpec defines the desired state of NodeProvider. Only one of the provider types (Pods, BCM, Kubevirt) should be specified at a time.

func (*NodeProviderSpec) DeepCopy added in v4.4.0

func (in *NodeProviderSpec) DeepCopy() *NodeProviderSpec

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

func (*NodeProviderSpec) DeepCopyInto added in v4.4.0

func (in *NodeProviderSpec) DeepCopyInto(out *NodeProviderSpec)

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

func (NodeProviderSpec) OpenAPIModelName added in v4.7.0

func (in NodeProviderSpec) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type NodeProviderStatus added in v4.4.0

type NodeProviderStatus struct {
	// Conditions describe the current state of the platform NodeProvider.
	// +optional
	Conditions agentstoragev1.Conditions `json:"conditions,omitempty"`

	// Reason describes the reason in machine-readable form
	// +optional
	Reason string `json:"reason,omitempty"`

	// Phase is the current lifecycle phase of the NodeProvider.
	// +optional
	Phase NodeProviderPhase `json:"phase,omitempty"`

	// Message is a human-readable message indicating details about why the NodeProvider is in its current state.
	// +optional
	Message string `json:"message,omitempty"`
}

NodeProviderStatus defines the observed state of NodeProvider.

func (*NodeProviderStatus) DeepCopy added in v4.4.0

func (in *NodeProviderStatus) DeepCopy() *NodeProviderStatus

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

func (*NodeProviderStatus) DeepCopyInto added in v4.4.0

func (in *NodeProviderStatus) DeepCopyInto(out *NodeProviderStatus)

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

func (NodeProviderStatus) OpenAPIModelName added in v4.7.0

func (in NodeProviderStatus) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type NodeProviderTerraform added in v4.4.0

type NodeProviderTerraform struct {
	// NodeTemplate is the template to use for this node provider.
	NodeTemplate *TerraformTemplate `json:"nodeTemplate,omitempty"`

	// NodeEnvironmentTemplate is the template to use for this node environment.
	NodeEnvironmentTemplate *TerraformNodeEnvironmentTemplate `json:"nodeEnvironmentTemplate,omitempty"`

	// NodeTypes define NodeTypes that should be automatically created for this provider.
	NodeTypes []TerraformNodeTypeSpec `json:"nodeTypes,omitempty"`
}

func (*NodeProviderTerraform) DeepCopy added in v4.4.0

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

func (*NodeProviderTerraform) DeepCopyInto added in v4.4.0

func (in *NodeProviderTerraform) DeepCopyInto(out *NodeProviderTerraform)

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

func (NodeProviderTerraform) OpenAPIModelName added in v4.7.0

func (in NodeProviderTerraform) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type NodeType added in v4.4.0

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

	Spec   NodeTypeSpec   `json:"spec,omitempty"`
	Status NodeTypeStatus `json:"status,omitempty"`
}

NodeType holds the information of a node type. +k8s:openapi-gen=true

func (*NodeType) DeepCopy added in v4.4.0

func (in *NodeType) DeepCopy() *NodeType

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

func (*NodeType) DeepCopyInto added in v4.4.0

func (in *NodeType) DeepCopyInto(out *NodeType)

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

func (*NodeType) DeepCopyObject added in v4.4.0

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

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

func (*NodeType) GetConditions added in v4.4.0

func (a *NodeType) GetConditions() agentstoragev1.Conditions

func (NodeType) OpenAPIModelName added in v4.7.0

func (in NodeType) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

func (*NodeType) SetConditions added in v4.4.0

func (a *NodeType) SetConditions(conditions agentstoragev1.Conditions)

type NodeTypeCapacity added in v4.4.0

type NodeTypeCapacity struct {
	// Total is the total number of nodes of this type
	Total int `json:"total"`

	// Claimed is the number of already claimed nodes of this type
	Claimed int `json:"claimed"`
}

IMPORTANT: DO NOT use omitempty for values in NodeTypeCapacity. The values are used in NodePool calculations and for UI.

func (*NodeTypeCapacity) DeepCopy added in v4.4.0

func (in *NodeTypeCapacity) DeepCopy() *NodeTypeCapacity

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

func (*NodeTypeCapacity) DeepCopyInto added in v4.4.0

func (in *NodeTypeCapacity) DeepCopyInto(out *NodeTypeCapacity)

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

func (NodeTypeCapacity) OpenAPIModelName added in v4.7.0

func (in NodeTypeCapacity) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type NodeTypeList added in v4.4.0

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

NodeTypeList contains a list of NodeType

func (*NodeTypeList) DeepCopy added in v4.4.0

func (in *NodeTypeList) DeepCopy() *NodeTypeList

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

func (*NodeTypeList) DeepCopyInto added in v4.4.0

func (in *NodeTypeList) DeepCopyInto(out *NodeTypeList)

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

func (*NodeTypeList) DeepCopyObject added in v4.4.0

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

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

func (NodeTypeList) OpenAPIModelName added in v4.7.0

func (in NodeTypeList) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type NodeTypeOverhead added in v4.4.0

type NodeTypeOverhead struct {
	// KubeReserved is the resource overhead for kubelet and other Kubernetes system daemons.
	// +optional
	KubeReserved corev1.ResourceList `json:"kubeReserved,omitempty"`
}

NodeTypeOverhead defines the resource overhead for a node type.

func (*NodeTypeOverhead) DeepCopy added in v4.4.0

func (in *NodeTypeOverhead) DeepCopy() *NodeTypeOverhead

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

func (*NodeTypeOverhead) DeepCopyInto added in v4.4.0

func (in *NodeTypeOverhead) DeepCopyInto(out *NodeTypeOverhead)

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

func (NodeTypeOverhead) OpenAPIModelName added in v4.7.0

func (in NodeTypeOverhead) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type NodeTypePhase added in v4.4.0

type NodeTypePhase string

NodeTypePhase defines the phase of the NodeType

const (
	// PhasePending is the initial state of a NodeType.
	NodeTypePhasePending NodeTypePhase = "Pending"
	// NodeTypePhaseAvailable means the provisioning process has failed.
	NodeTypePhaseAvailable NodeTypePhase = "Available"
	// NodeTypePhaseFailed means the provisioning process has failed.
	NodeTypePhaseFailed NodeTypePhase = "Failed"
)

type NodeTypeSpec added in v4.4.0

type NodeTypeSpec struct {
	// ProviderRef is the node provider to use for this node type.
	// +optional
	ProviderRef string `json:"providerRef,omitempty"`

	// Properties returns a flexible set of properties that may be selected for scheduling.
	Properties map[string]string `json:"properties,omitempty"`

	// Resources lists the full resources for a single node.
	Resources corev1.ResourceList `json:"resources,omitempty"`

	// Overhead defines the resource overhead for this node type.
	// +optional
	Overhead *NodeTypeOverhead `json:"overhead,omitempty"`

	// Cost is the instance cost. The higher the cost, the less likely it is to be selected. If empty, cost is automatically calculated
	// from the resources specified.
	// +optional
	Cost int64 `json:"cost,omitempty"`

	// DisplayName is the name that should be displayed in the UI
	// +optional
	DisplayName string `json:"displayName,omitempty"`
}

func (*NodeTypeSpec) DeepCopy added in v4.4.0

func (in *NodeTypeSpec) DeepCopy() *NodeTypeSpec

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

func (*NodeTypeSpec) DeepCopyInto added in v4.4.0

func (in *NodeTypeSpec) DeepCopyInto(out *NodeTypeSpec)

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

func (NodeTypeSpec) OpenAPIModelName added in v4.7.0

func (in NodeTypeSpec) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type NodeTypeStatus added in v4.4.0

type NodeTypeStatus struct {
	// Phase is the current lifecycle phase of the NodeType.
	// +optional
	Phase NodeTypePhase `json:"phase,omitempty"`

	// Reason describes the reason in machine-readable form
	// +optional
	Reason string `json:"reason,omitempty"`

	// Message describes the reason in human-readable form
	// +optional
	Message string `json:"message,omitempty"`

	// Cost is the calculated instance cost from the resources specified or the price specified from spec. The higher the cost, the less likely it is to be selected.
	// +optional
	Cost int64 `json:"cost,omitempty"`

	// Capacity is the capacity of the node type.
	// +optional
	Capacity NodeTypeCapacity `json:"capacity,omitempty"`

	// Requirements is the calculated requirements based of the properties for the node type.
	// +optional
	Requirements []corev1.NodeSelectorRequirement `json:"requirements,omitempty"`

	// Conditions holds several conditions the node type might be in
	// +optional
	Conditions agentstoragev1.Conditions `json:"conditions,omitempty"`
}

NodeTypeStatus holds the status of a node type

func (*NodeTypeStatus) DeepCopy added in v4.4.0

func (in *NodeTypeStatus) DeepCopy() *NodeTypeStatus

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

func (*NodeTypeStatus) DeepCopyInto added in v4.4.0

func (in *NodeTypeStatus) DeepCopyInto(out *NodeTypeStatus)

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

func (NodeTypeStatus) OpenAPIModelName added in v4.7.0

func (in NodeTypeStatus) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type OSImage added in v4.8.0

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

	Spec   OSImageSpec   `json:"spec,omitempty"`
	Status OSImageStatus `json:"status,omitempty"`
}

OSImage holds the information of machine networks +k8s:openapi-gen=true

func (*OSImage) DeepCopy added in v4.8.0

func (in *OSImage) DeepCopy() *OSImage

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

func (*OSImage) DeepCopyInto added in v4.8.0

func (in *OSImage) DeepCopyInto(out *OSImage)

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

func (*OSImage) DeepCopyObject added in v4.8.0

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

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

func (*OSImage) GetAccess added in v4.8.0

func (a *OSImage) GetAccess() []Access

func (*OSImage) GetOwner added in v4.8.0

func (a *OSImage) GetOwner() *UserOrTeam

func (OSImage) OpenAPIModelName added in v4.8.0

func (in OSImage) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

func (*OSImage) SetAccess added in v4.8.0

func (a *OSImage) SetAccess(access []Access)

func (*OSImage) SetOwner added in v4.8.0

func (a *OSImage) SetOwner(userOrTeam *UserOrTeam)

type OSImageList added in v4.8.0

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

OSImageList contains a list of OSImages

func (*OSImageList) DeepCopy added in v4.8.0

func (in *OSImageList) DeepCopy() *OSImageList

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

func (*OSImageList) DeepCopyInto added in v4.8.0

func (in *OSImageList) DeepCopyInto(out *OSImageList)

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

func (*OSImageList) DeepCopyObject added in v4.8.0

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

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

func (OSImageList) OpenAPIModelName added in v4.8.0

func (in OSImageList) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type OSImageSpec added in v4.8.0

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

	// Description describes an OS image
	// +optional
	Description string `json:"description,omitempty"`

	// Owner holds the owner of this object
	// +optional
	Owner *UserOrTeam `json:"owner,omitempty"`

	// Access holds the access rights for users and teams
	// +optional
	Access []Access `json:"access,omitempty"`

	// Properties is the configuration for the OS image
	// +optional
	Properties map[string]string `json:"properties,omitempty"`
}

func (*OSImageSpec) DeepCopy added in v4.8.0

func (in *OSImageSpec) DeepCopy() *OSImageSpec

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

func (*OSImageSpec) DeepCopyInto added in v4.8.0

func (in *OSImageSpec) DeepCopyInto(out *OSImageSpec)

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

func (OSImageSpec) OpenAPIModelName added in v4.8.0

func (in OSImageSpec) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type OSImageStatus added in v4.8.0

type OSImageStatus struct{}

func (*OSImageStatus) DeepCopy added in v4.8.0

func (in *OSImageStatus) DeepCopy() *OSImageStatus

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

func (*OSImageStatus) DeepCopyInto added in v4.8.0

func (in *OSImageStatus) DeepCopyInto(out *OSImageStatus)

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

func (OSImageStatus) OpenAPIModelName added in v4.8.0

func (in OSImageStatus) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

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.

func (ObjectsStatus) OpenAPIModelName added in v4.7.0

func (in ObjectsStatus) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type OpenCost added in v4.2.0

type OpenCost struct {
	// Replicas is the number of desired replicas.
	Replicas *int32 `json:"replicas,omitempty"`

	// Resources are compute resource required by the OpenCost backend
	Resources *corev1.ResourceRequirements `json:"resources,omitempty"`
}

func (*OpenCost) DeepCopy added in v4.2.0

func (in *OpenCost) DeepCopy() *OpenCost

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

func (*OpenCost) DeepCopyInto added in v4.2.0

func (in *OpenCost) DeepCopyInto(out *OpenCost)

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

func (OpenCost) OpenAPIModelName added in v4.7.0

func (in OpenCost) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type PodSelector

type PodSelector struct {
	// A label selector to select the tenant 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.

func (PodSelector) OpenAPIModelName added in v4.7.0

func (in PodSelector) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type Project

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

	Spec   ProjectSpec   `json:"spec,omitempty"`
	Status ProjectStatus `json:"status,omitempty"`
}

Project +k8s:openapi-gen=true

func (*Project) DeepCopy

func (in *Project) DeepCopy() *Project

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

func (*Project) DeepCopyInto

func (in *Project) DeepCopyInto(out *Project)

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

func (*Project) DeepCopyObject

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

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

func (*Project) GetAccess

func (a *Project) GetAccess() []Access

func (*Project) GetConditions

func (a *Project) GetConditions() agentstoragev1.Conditions

func (*Project) GetOwner

func (a *Project) GetOwner() *UserOrTeam

func (Project) OpenAPIModelName added in v4.7.0

func (in Project) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

func (*Project) SetAccess

func (a *Project) SetAccess(access []Access)

func (*Project) SetConditions

func (a *Project) SetConditions(conditions agentstoragev1.Conditions)

func (*Project) SetOwner

func (a *Project) SetOwner(userOrTeam *UserOrTeam)

type ProjectList

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

ProjectList contains a list of Project objects

func (*ProjectList) DeepCopy

func (in *ProjectList) DeepCopy() *ProjectList

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

func (*ProjectList) DeepCopyInto

func (in *ProjectList) DeepCopyInto(out *ProjectList)

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

func (*ProjectList) DeepCopyObject

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

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

func (ProjectList) OpenAPIModelName added in v4.7.0

func (in ProjectList) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type ProjectNamespaceTemplate added in v4.8.0

type ProjectNamespaceTemplate struct {
	// The namespace metadata
	// +optional
	TemplateMetadata `json:"metadata,omitempty"`
}

ProjectNamespaceTemplate defines metadata to apply to the auto-created project namespace.

func (*ProjectNamespaceTemplate) DeepCopy added in v4.8.0

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

func (*ProjectNamespaceTemplate) DeepCopyInto added in v4.8.0

func (in *ProjectNamespaceTemplate) DeepCopyInto(out *ProjectNamespaceTemplate)

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

func (ProjectNamespaceTemplate) OpenAPIModelName added in v4.8.0

func (in ProjectNamespaceTemplate) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type ProjectSecretRef added in v4.12.0

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 added in v4.12.0

func (in *ProjectSecretRef) DeepCopy() *ProjectSecretRef

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

func (*ProjectSecretRef) DeepCopyInto added in v4.12.0

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

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

func (ProjectSecretRef) OpenAPIModelName added in v4.12.0

func (in ProjectSecretRef) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type ProjectSpec

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

	// Description describes an app
	// +optional
	Description string `json:"description,omitempty"`

	// Owner holds the owner of this object
	// +optional
	Owner *UserOrTeam `json:"owner,omitempty"`

	// Quotas define the quotas inside the project
	// +optional
	Quotas Quotas `json:"quotas,omitempty"`

	// AllowedClusters are target clusters that are allowed to target with
	// environments.
	// +optional
	AllowedClusters []AllowedCluster `json:"allowedClusters,omitempty"`

	// AllowedRunners are target runners that are allowed to target with
	// +optional
	AllowedRunners []AllowedRunner `json:"allowedRunners,omitempty"`

	// AllowedTemplates are the templates that are allowed to use in this
	// project.
	// +optional
	AllowedTemplates []AllowedTemplate `json:"allowedTemplates,omitempty"`

	// AllowedNodeTypes restricts which NodeTypes can be referenced by
	// NodeClaims in this project. An entry can be an exact name
	// ("aws.large") or a provider wildcard ("aws.*"). If unset (nil),
	// all NodeTypes are allowed; an empty list disallows all NodeTypes.
	// +optional
	AllowedNodeTypes []AllowedNodeType `json:"allowedNodeTypes" jsonschema:"nullable"`

	// AllowedNodeProfiles restricts which NodeProfiles can be referenced
	// by NodeClaims and joinscript requests in this project. An entry can
	// be an exact name ("platform.gpu-training") or an owner wildcard
	// ("platform.*"). If unset (nil), all NodeProfiles are allowed; an
	// empty list disallows all NodeProfiles.
	// +optional
	AllowedNodeProfiles []AllowedNodeProfile `json:"allowedNodeProfiles" jsonschema:"nullable"`

	// DefaultNodeProfile is the default NodeProfile applied to nodes in this
	// project when none is selected explicitly. It is overridden by the
	// vCluster-level privateNodes.defaultProfile and by per-node/per-pool
	// selection, and is validated against allowedNodeProfiles.
	// +optional
	DefaultNodeProfile string `json:"defaultNodeProfile,omitempty"`

	// RequireTemplate configures if a template is required for instance creation.
	// +optional
	RequireTemplate RequireTemplate `json:"requireTemplate,omitempty"`

	// RequirePreset configures if a preset is required for instance creation.
	// +optional
	RequirePreset RequirePreset `json:"requirePreset,omitempty"`

	// Members are the users and teams that are part of this project
	// +optional
	Members []Member `json:"members,omitempty"`

	// Access holds the access rights for users and teams
	// +optional
	Access []Access `json:"access,omitempty"`

	// NamespaceTemplate defines metadata that should be applied to the project's namespace on creation.
	// This is useful for environments where admission controllers (e.g., Kyverno)
	// require specific labels or annotations on namespaces.
	// +optional
	NamespaceTemplate *ProjectNamespaceTemplate `json:"namespaceTemplate,omitempty"`

	// NamespacePattern specifies template patterns to use for creating each space or tenant cluster's namespace
	// +optional
	NamespacePattern *NamespacePattern `json:"namespacePattern,omitempty"`

	// ArgoIntegration holds information about ArgoCD Integration
	// +optional
	ArgoIntegration *ArgoIntegrationSpec `json:"argoCD,omitempty"`

	// VaultIntegration holds information about Vault Integration
	// +optional
	VaultIntegration *VaultIntegrationSpec `json:"vault,omitempty"`
}

func (*ProjectSpec) DeepCopy

func (in *ProjectSpec) DeepCopy() *ProjectSpec

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

func (*ProjectSpec) DeepCopyInto

func (in *ProjectSpec) DeepCopyInto(out *ProjectSpec)

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

func (ProjectSpec) IsNodeProfileAllowed added in v4.11.0

func (s ProjectSpec) IsNodeProfileAllowed(name string) bool

IsNodeProfileAllowed reports whether name is permitted by AllowedNodeProfiles. A nil list means all NodeProfiles are allowed; an empty list means none are.

func (ProjectSpec) OpenAPIModelName added in v4.7.0

func (in ProjectSpec) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type ProjectStatus

type ProjectStatus struct {
	// Quotas holds the quota status
	// +optional
	Quotas *QuotaStatus `json:"quotas,omitempty"`

	// Conditions holds several conditions the project might be in
	// +optional
	Conditions agentstoragev1.Conditions `json:"conditions,omitempty"`
}

func (*ProjectStatus) DeepCopy

func (in *ProjectStatus) DeepCopy() *ProjectStatus

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

func (*ProjectStatus) DeepCopyInto

func (in *ProjectStatus) DeepCopyInto(out *ProjectStatus)

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

func (ProjectStatus) OpenAPIModelName added in v4.7.0

func (in ProjectStatus) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type QuotaStatus

type QuotaStatus struct {
	// Project is the quota status for the whole project
	// +optional
	Project *QuotaStatusProject `json:"project,omitempty"`

	// User is the quota status for each user / team. An example status
	// could look like this:
	// status:
	//   quotas:
	//     user:
	//       limit:
	//         pods: "10"
	//         spaces: "5"
	//       users:
	//         admin:
	//           used:
	//             spaces: "3"  # <- calculated in our apiserver
	//             pods: "8"    # <- the sum calculated from clusters
	//       clusters:
	//         cluster-1:  # <- populated by agent from cluster-1
	//           users:
	//             admin:
	//               pods: "3"
	//         cluster-2:
	//           users:
	//             admin:
	//               pods: "5"
	// +optional
	User *QuotaStatusUser `json:"user,omitempty"`
}

func (*QuotaStatus) DeepCopy

func (in *QuotaStatus) DeepCopy() *QuotaStatus

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

func (*QuotaStatus) DeepCopyInto

func (in *QuotaStatus) DeepCopyInto(out *QuotaStatus)

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

func (QuotaStatus) OpenAPIModelName added in v4.7.0

func (in QuotaStatus) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type QuotaStatusProject

type QuotaStatusProject struct {
	// Limit is the amount limited, copied from spec.quotas.project
	// +optional
	Limit map[string]string `json:"limit,omitempty"`

	// Used is the amount currently used across all clusters
	// +optional
	Used map[string]string `json:"used,omitempty"`

	// Clusters holds the used amount per cluster. Maps cluster name to used resources
	// +optional
	Clusters map[string]QuotaStatusProjectCluster `json:"clusters,omitempty"`
}

func (*QuotaStatusProject) DeepCopy

func (in *QuotaStatusProject) DeepCopy() *QuotaStatusProject

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

func (*QuotaStatusProject) DeepCopyInto

func (in *QuotaStatusProject) DeepCopyInto(out *QuotaStatusProject)

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

func (QuotaStatusProject) OpenAPIModelName added in v4.7.0

func (in QuotaStatusProject) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type QuotaStatusProjectCluster

type QuotaStatusProjectCluster struct {
	// Used is the amount currently used. Maps resource name, such as pods, to their
	// used amount.
	// +optional
	Used map[string]string `json:"used,omitempty"`
}

func (*QuotaStatusProjectCluster) DeepCopy

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

func (*QuotaStatusProjectCluster) DeepCopyInto

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

func (QuotaStatusProjectCluster) OpenAPIModelName added in v4.7.0

func (in QuotaStatusProjectCluster) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type QuotaStatusUser

type QuotaStatusUser struct {
	// Limit is the amount limited per user / team
	// +optional
	Limit map[string]string `json:"limit,omitempty"`

	// Used is the used amount per user / team
	// +optional
	Used QuotaStatusUserUsed `json:"used,omitempty"`

	// Clusters holds the used amount per cluster. Maps cluster name to used resources
	// +optional
	Clusters map[string]QuotaStatusUserUsed `json:"clusters,omitempty"`
}

func (*QuotaStatusUser) DeepCopy

func (in *QuotaStatusUser) DeepCopy() *QuotaStatusUser

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

func (*QuotaStatusUser) DeepCopyInto

func (in *QuotaStatusUser) DeepCopyInto(out *QuotaStatusUser)

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

func (QuotaStatusUser) OpenAPIModelName added in v4.7.0

func (in QuotaStatusUser) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type QuotaStatusUserUsed

type QuotaStatusUserUsed struct {
	// Users is a mapping of users to used resources
	// +optional
	Users map[string]map[string]string `json:"users,omitempty"`

	// Teams is a mapping of teams to used resources
	// +optional
	Teams map[string]map[string]string `json:"teams,omitempty"`
}

func (*QuotaStatusUserUsed) DeepCopy

func (in *QuotaStatusUserUsed) DeepCopy() *QuotaStatusUserUsed

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

func (*QuotaStatusUserUsed) DeepCopyInto

func (in *QuotaStatusUserUsed) DeepCopyInto(out *QuotaStatusUserUsed)

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

func (QuotaStatusUserUsed) OpenAPIModelName added in v4.7.0

func (in QuotaStatusUserUsed) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type Quotas

type Quotas struct {
	// Project holds the quotas for the whole project
	// +optional
	Project map[string]string `json:"project,omitempty"`

	// User holds the quotas per user / team
	User map[string]string `json:"user,omitempty"`
}

func (*Quotas) DeepCopy

func (in *Quotas) DeepCopy() *Quotas

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

func (*Quotas) DeepCopyInto

func (in *Quotas) DeepCopyInto(out *Quotas)

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

func (Quotas) OpenAPIModelName added in v4.7.0

func (in Quotas) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type RecommendedApp

type RecommendedApp string

RecommendedApp describes where an app can be displayed as recommended app

const (
	// RecommendedAppCluster indicates that an app should be displayed as recommended app in the cluster view
	RecommendedAppCluster RecommendedApp = "cluster"
	// RecommendedAppSpace indicates that an app should be displayed as recommended app in the space view
	RecommendedAppSpace RecommendedApp = "space"
	// RecommendedAppVirtualCluster indicates that an app should be displayed as recommended app in the tenant cluster view
	RecommendedAppVirtualCluster RecommendedApp = "virtualcluster"
)

Describe the status of a release NOTE: Make sure to update cmd/helm/status.go when adding or modifying any of these statuses.

func (RecommendedApp) String

func (x RecommendedApp) String() string

type RequestTarget

type RequestTarget string

RequestTarget defines the target of an incoming request

const (
	// RequestTargetManagement specifies a loft management api request
	RequestTargetManagement RequestTarget = "Management"
	// RequestTargetCluster specifies a connected kubernetes cluster request
	RequestTargetCluster RequestTarget = "Cluster"
	// RequestTargetProjectSpace specifies a project space cluster request
	RequestTargetProjectSpace RequestTarget = "ProjectSpace"
	// RequestTargetProjectVirtualCluster specifies a project virtual kubernetes cluster request
	RequestTargetProjectVirtualCluster RequestTarget = "ProjectVirtualCluster"
)

Valid request targets

type RequirePreset added in v4.2.0

type RequirePreset struct {
	// If true, all users within the project will not be allowed to create a new instance without a preset.
	// By default, all users are allowed to create a new instance without a preset.
	// +optional
	Enabled bool `json:"disabled,omitempty"`
}

func (*RequirePreset) DeepCopy added in v4.2.0

func (in *RequirePreset) DeepCopy() *RequirePreset

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

func (*RequirePreset) DeepCopyInto added in v4.2.0

func (in *RequirePreset) DeepCopyInto(out *RequirePreset)

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

func (RequirePreset) OpenAPIModelName added in v4.7.0

func (in RequirePreset) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type RequireTemplate

type RequireTemplate struct {
	// If true, all users within the project will be allowed to create a new instance without a template.
	// By default, only admins are allowed to create a new instance without a template.
	// +optional
	Disabled bool `json:"disabled,omitempty"`
}

func (*RequireTemplate) DeepCopy

func (in *RequireTemplate) DeepCopy() *RequireTemplate

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

func (*RequireTemplate) DeepCopyInto

func (in *RequireTemplate) DeepCopyInto(out *RequireTemplate)

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

func (RequireTemplate) OpenAPIModelName added in v4.7.0

func (in RequireTemplate) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type SSHKey added in v4.8.0

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

	Spec   SSHKeySpec   `json:"spec,omitempty"`
	Status SSHKeyStatus `json:"status,omitempty"`
}

SSHKey holds the information of SSH keys +k8s:openapi-gen=true

func (*SSHKey) DeepCopy added in v4.8.0

func (in *SSHKey) DeepCopy() *SSHKey

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

func (*SSHKey) DeepCopyInto added in v4.8.0

func (in *SSHKey) DeepCopyInto(out *SSHKey)

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

func (*SSHKey) DeepCopyObject added in v4.8.0

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

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

func (*SSHKey) GetAccess added in v4.8.0

func (a *SSHKey) GetAccess() []Access

func (*SSHKey) GetOwner added in v4.8.0

func (a *SSHKey) GetOwner() *UserOrTeam

func (SSHKey) OpenAPIModelName added in v4.8.0

func (in SSHKey) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

func (*SSHKey) SetAccess added in v4.8.0

func (a *SSHKey) SetAccess(access []Access)

func (*SSHKey) SetOwner added in v4.8.0

func (a *SSHKey) SetOwner(userOrTeam *UserOrTeam)

type SSHKeyList added in v4.8.0

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

SSHKeyList contains a list of SSHKeys

func (*SSHKeyList) DeepCopy added in v4.8.0

func (in *SSHKeyList) DeepCopy() *SSHKeyList

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

func (*SSHKeyList) DeepCopyInto added in v4.8.0

func (in *SSHKeyList) DeepCopyInto(out *SSHKeyList)

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

func (*SSHKeyList) DeepCopyObject added in v4.8.0

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

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

func (SSHKeyList) OpenAPIModelName added in v4.8.0

func (in SSHKeyList) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type SSHKeySpec added in v4.8.0

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

	// Description describes an SSH key
	// +optional
	Description string `json:"description,omitempty"`

	// Owner holds the owner of this object
	// +optional
	Owner *UserOrTeam `json:"owner,omitempty"`

	// Access holds the access rights for users and teams
	// +optional
	Access []Access `json:"access,omitempty"`

	// PublicKey is the public SSH key
	PublicKey string `json:"publicKey,omitempty"`
}

func (*SSHKeySpec) DeepCopy added in v4.8.0

func (in *SSHKeySpec) DeepCopy() *SSHKeySpec

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

func (*SSHKeySpec) DeepCopyInto added in v4.8.0

func (in *SSHKeySpec) DeepCopyInto(out *SSHKeySpec)

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

func (SSHKeySpec) OpenAPIModelName added in v4.8.0

func (in SSHKeySpec) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type SSHKeyStatus added in v4.8.0

type SSHKeyStatus struct{}

func (*SSHKeyStatus) DeepCopy added in v4.8.0

func (in *SSHKeyStatus) DeepCopy() *SSHKeyStatus

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

func (*SSHKeyStatus) DeepCopyInto added in v4.8.0

func (in *SSHKeyStatus) DeepCopyInto(out *SSHKeyStatus)

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

func (SSHKeyStatus) OpenAPIModelName added in v4.8.0

func (in SSHKeyStatus) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type SSOIdentity added in v4.3.0

type SSOIdentity struct {
	// The subject of the user
	// +optional
	UserID string `json:"userId,omitempty"`

	// The username
	// +optional
	Username string `json:"username,omitempty"`

	// The preferred username / display name
	// +optional
	PreferredUsername string `json:"preferredUsername,omitempty"`

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

	// If the user email was verified
	// +optional
	EmailVerified bool `json:"emailVerified,omitempty"`

	// ExtraClaims are claims that are not otherwise contained in this struct but may be provided by the OIDC
	// provider. Only extra claims that are allowed by the auth config are included.
	// +optional
	ExtraClaims map[string]string `json:"extraClaims,omitempty"`

	// The groups from the identity provider
	// +optional
	Groups []string `json:"groups,omitempty"`

	// Connector is the name of the connector this access key was created from
	// +optional
	Connector string `json:"connector,omitempty"`

	// ConnectorData holds data used by the connector for subsequent requests after initial
	// authentication, such as access tokens for upstream providers.
	//
	// This data is never shared with end users, OAuth clients, or through the API.
	// +optional
	ConnectorData []byte `json:"connectorData,omitempty"`
}

func (*SSOIdentity) DeepCopy added in v4.3.0

func (in *SSOIdentity) DeepCopy() *SSOIdentity

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

func (*SSOIdentity) DeepCopyInto added in v4.3.0

func (in *SSOIdentity) DeepCopyInto(out *SSOIdentity)

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

func (SSOIdentity) OpenAPIModelName added in v4.7.0

func (in SSOIdentity) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

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.

func (SecretRef) OpenAPIModelName added in v4.7.0

func (in SecretRef) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type SharedSecret

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

	Spec   SharedSecretSpec   `json:"spec,omitempty"`
	Status SharedSecretStatus `json:"status,omitempty"`
}

SharedSecret holds the secret information +k8s:openapi-gen=true

func (*SharedSecret) DeepCopy

func (in *SharedSecret) DeepCopy() *SharedSecret

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

func (*SharedSecret) DeepCopyInto

func (in *SharedSecret) DeepCopyInto(out *SharedSecret)

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

func (*SharedSecret) DeepCopyObject

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

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

func (*SharedSecret) GetAccess

func (a *SharedSecret) GetAccess() []Access

func (*SharedSecret) GetConditions

func (a *SharedSecret) GetConditions() agentstoragev1.Conditions

GetConditions implements conditions.Setter

func (*SharedSecret) GetOwner

func (a *SharedSecret) GetOwner() *UserOrTeam

func (SharedSecret) OpenAPIModelName added in v4.7.0

func (in SharedSecret) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

func (*SharedSecret) SetAccess

func (a *SharedSecret) SetAccess(access []Access)

func (*SharedSecret) SetConditions

func (a *SharedSecret) SetConditions(conditions agentstoragev1.Conditions)

SetConditions implements conditions.Setter

func (*SharedSecret) SetOwner

func (a *SharedSecret) SetOwner(userOrTeam *UserOrTeam)

type SharedSecretList

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

SharedSecretList contains a list of SharedSecret

func (*SharedSecretList) DeepCopy

func (in *SharedSecretList) DeepCopy() *SharedSecretList

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

func (*SharedSecretList) DeepCopyInto

func (in *SharedSecretList) DeepCopyInto(out *SharedSecretList)

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

func (*SharedSecretList) DeepCopyObject

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

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

func (SharedSecretList) OpenAPIModelName added in v4.7.0

func (in SharedSecretList) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type SharedSecretSpec

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

	// Description describes a shared secret
	// +optional
	Description string `json:"description,omitempty"`

	// Owner holds the owner of this object
	// +optional
	Owner *UserOrTeam `json:"owner,omitempty"`

	// Data contains the secret data. Each key must consist of alphanumeric
	// characters, '-', '_' or '.'. The serialized form of the secret data is a
	// base64 encoded string, representing the arbitrary (possibly non-string)
	// data value here. Described in https://tools.ietf.org/html/rfc4648#section-4
	// +optional
	Data map[string][]byte `json:"data,omitempty"`

	// Access holds the access rights for users and teams which will be transformed
	// to Roles and RoleBindings
	// +optional
	Access []Access `json:"access,omitempty"`
}

SharedSecretSpec holds the specification

func (*SharedSecretSpec) DeepCopy

func (in *SharedSecretSpec) DeepCopy() *SharedSecretSpec

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

func (*SharedSecretSpec) DeepCopyInto

func (in *SharedSecretSpec) DeepCopyInto(out *SharedSecretSpec)

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

func (SharedSecretSpec) OpenAPIModelName added in v4.7.0

func (in SharedSecretSpec) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type SharedSecretStatus

type SharedSecretStatus struct {
	// Conditions holds several conditions the project might be in
	// +optional
	Conditions agentstoragev1.Conditions `json:"conditions,omitempty"`
}

SharedSecretStatus holds the status

func (*SharedSecretStatus) DeepCopy

func (in *SharedSecretStatus) DeepCopy() *SharedSecretStatus

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

func (*SharedSecretStatus) DeepCopyInto

func (in *SharedSecretStatus) DeepCopyInto(out *SharedSecretStatus)

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

func (SharedSecretStatus) OpenAPIModelName added in v4.7.0

func (in SharedSecretStatus) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type SpaceInstance

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

	Spec   SpaceInstanceSpec   `json:"spec,omitempty"`
	Status SpaceInstanceStatus `json:"status,omitempty"`
}

SpaceInstance +k8s:openapi-gen=true

func (*SpaceInstance) DeepCopy

func (in *SpaceInstance) DeepCopy() *SpaceInstance

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

func (*SpaceInstance) DeepCopyInto

func (in *SpaceInstance) DeepCopyInto(out *SpaceInstance)

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

func (*SpaceInstance) DeepCopyObject

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

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

func (*SpaceInstance) GetAccess

func (a *SpaceInstance) GetAccess() []Access

func (*SpaceInstance) GetConditions

func (a *SpaceInstance) GetConditions() agentstoragev1.Conditions

func (*SpaceInstance) GetOwner

func (a *SpaceInstance) GetOwner() *UserOrTeam

func (SpaceInstance) OpenAPIModelName added in v4.7.0

func (in SpaceInstance) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

func (*SpaceInstance) SetAccess

func (a *SpaceInstance) SetAccess(access []Access)

func (*SpaceInstance) SetConditions

func (a *SpaceInstance) SetConditions(conditions agentstoragev1.Conditions)

func (*SpaceInstance) SetOwner

func (a *SpaceInstance) SetOwner(userOrTeam *UserOrTeam)

type SpaceInstanceList

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

SpaceInstanceList contains a list of SpaceInstance objects

func (*SpaceInstanceList) DeepCopy

func (in *SpaceInstanceList) DeepCopy() *SpaceInstanceList

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

func (*SpaceInstanceList) DeepCopyInto

func (in *SpaceInstanceList) DeepCopyInto(out *SpaceInstanceList)

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

func (*SpaceInstanceList) DeepCopyObject

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

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

func (SpaceInstanceList) OpenAPIModelName added in v4.7.0

func (in SpaceInstanceList) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type SpaceInstanceSpec

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

	// Description describes a space instance
	// +optional
	Description string `json:"description,omitempty"`

	// Owner holds the owner of this object
	// +optional
	Owner *UserOrTeam `json:"owner,omitempty"`

	// TemplateRef holds the space template reference
	// +optional
	TemplateRef *TemplateRef `json:"templateRef,omitempty"`

	// Template is the inline template to use for space creation. This is mutually
	// exclusive with templateRef.
	// +optional
	Template *SpaceTemplateDefinition `json:"template,omitempty"`

	// ClusterRef is the reference to the connected cluster holding
	// this space
	// +optional
	ClusterRef ClusterRef `json:"clusterRef,omitempty"`

	// Parameters are values to pass to the template.
	// The values should be encoded as YAML string where each parameter is represented as a top-level field key.
	// +optional
	Parameters string `json:"parameters,omitempty"`

	// ExtraAccessRules defines extra rules which users and teams should have which access to the tenant
	// cluster.
	// +optional
	ExtraAccessRules []InstanceAccessRule `json:"extraAccessRules,omitempty"`

	// Access holds the access rights for users and teams
	// +optional
	Access []Access `json:"access,omitempty"`
}

func (*SpaceInstanceSpec) DeepCopy

func (in *SpaceInstanceSpec) DeepCopy() *SpaceInstanceSpec

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

func (*SpaceInstanceSpec) DeepCopyInto

func (in *SpaceInstanceSpec) DeepCopyInto(out *SpaceInstanceSpec)

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

func (SpaceInstanceSpec) OpenAPIModelName added in v4.7.0

func (in SpaceInstanceSpec) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type SpaceInstanceStatus

type SpaceInstanceStatus struct {
	// Phase describes the current phase the space instance is in
	// +optional
	Phase InstancePhase `json:"phase,omitempty"`

	// Reason describes the reason in machine-readable form
	// +optional
	Reason string `json:"reason,omitempty"`

	// Message describes the reason in human-readable form
	// +optional
	Message string `json:"message,omitempty"`

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

	// SpaceObjects are the objects that were applied within the tenant cluster space
	// +optional
	SpaceObjects *ObjectsStatus `json:"spaceObjects,omitempty"`

	// Space is the template rendered with all the parameters
	// +optional
	Space *SpaceTemplateDefinition `json:"space,omitempty"`

	// IgnoreReconciliation tells the controller to ignore reconciliation for this instance -- this
	// is primarily used when migrating tenant cluster instances from project to project; this
	// prevents a situation where there are two tenant cluster instances representing the same
	// tenant cluster which could cause issues with concurrent reconciliations of the same object.
	// Once the tenant cluster instance has been cloned and placed into the new project, this
	// (the "old") tenant cluster instance can safely be deleted.
	IgnoreReconciliation bool `json:"ignoreReconciliation,omitempty"`
}

func (*SpaceInstanceStatus) DeepCopy

func (in *SpaceInstanceStatus) DeepCopy() *SpaceInstanceStatus

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

func (*SpaceInstanceStatus) DeepCopyInto

func (in *SpaceInstanceStatus) DeepCopyInto(out *SpaceInstanceStatus)

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

func (SpaceInstanceStatus) OpenAPIModelName added in v4.7.0

func (in SpaceInstanceStatus) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type SpaceInstanceTemplateDefinition

type SpaceInstanceTemplateDefinition struct {
	// The space instance metadata
	// +kubebuilder:pruning:PreserveUnknownFields
	// +optional
	TemplateMetadata `json:"metadata,omitempty"`
}

SpaceInstanceTemplateDefinition holds the space instance template

func (*SpaceInstanceTemplateDefinition) DeepCopy

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

func (*SpaceInstanceTemplateDefinition) DeepCopyInto

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

func (SpaceInstanceTemplateDefinition) OpenAPIModelName added in v4.7.0

func (in SpaceInstanceTemplateDefinition) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type SpaceTemplate

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

	Spec   SpaceTemplateSpec   `json:"spec,omitempty"`
	Status SpaceTemplateStatus `json:"status,omitempty"`
}

SpaceTemplate holds the space template information +k8s:openapi-gen=true

func (*SpaceTemplate) DeepCopy

func (in *SpaceTemplate) DeepCopy() *SpaceTemplate

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

func (*SpaceTemplate) DeepCopyInto

func (in *SpaceTemplate) DeepCopyInto(out *SpaceTemplate)

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

func (*SpaceTemplate) DeepCopyObject

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

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

func (*SpaceTemplate) GetAccess

func (a *SpaceTemplate) GetAccess() []Access

func (*SpaceTemplate) GetOwner

func (a *SpaceTemplate) GetOwner() *UserOrTeam

func (*SpaceTemplate) GetVersions

func (a *SpaceTemplate) GetVersions() []VersionAccessor

func (SpaceTemplate) OpenAPIModelName added in v4.7.0

func (in SpaceTemplate) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

func (*SpaceTemplate) SetAccess

func (a *SpaceTemplate) SetAccess(access []Access)

func (*SpaceTemplate) SetOwner

func (a *SpaceTemplate) SetOwner(userOrTeam *UserOrTeam)

type SpaceTemplateDefinition

type SpaceTemplateDefinition struct {
	// The space metadata
	// +kubebuilder:pruning:PreserveUnknownFields
	// +optional
	TemplateMetadata `json:"metadata,omitempty"`

	// InstanceTemplate holds the space instance template
	// +optional
	InstanceTemplate SpaceInstanceTemplateDefinition `json:"instanceTemplate,omitempty"`

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

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

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

	// The space access
	// +optional
	Access *InstanceAccess `json:"access,omitempty"`
}

func (*SpaceTemplateDefinition) DeepCopy

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

func (*SpaceTemplateDefinition) DeepCopyInto

func (in *SpaceTemplateDefinition) DeepCopyInto(out *SpaceTemplateDefinition)

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

func (SpaceTemplateDefinition) OpenAPIModelName added in v4.7.0

func (in SpaceTemplateDefinition) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type SpaceTemplateList

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

SpaceTemplateList contains a list of SpaceTemplate

func (*SpaceTemplateList) DeepCopy

func (in *SpaceTemplateList) DeepCopy() *SpaceTemplateList

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

func (*SpaceTemplateList) DeepCopyInto

func (in *SpaceTemplateList) DeepCopyInto(out *SpaceTemplateList)

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

func (*SpaceTemplateList) DeepCopyObject

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

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

func (SpaceTemplateList) OpenAPIModelName added in v4.7.0

func (in SpaceTemplateList) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type SpaceTemplateSpec

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

	// Description describes the space template
	// +optional
	Description string `json:"description,omitempty"`

	// Owner holds the owner of this object
	// +optional
	Owner *UserOrTeam `json:"owner,omitempty"`

	// Template holds the space template
	// +optional
	Template SpaceTemplateDefinition `json:"template,omitempty"`

	// Parameters define additional app parameters that will set helm values
	// +optional
	Parameters []AppParameter `json:"parameters,omitempty"`

	// Versions are different space template versions that can be referenced as well
	// +optional
	Versions []SpaceTemplateVersion `json:"versions,omitempty"`

	// Access holds the access rights for users and teams
	// +optional
	Access []Access `json:"access,omitempty"`
}

SpaceTemplateSpec holds the specification

func (*SpaceTemplateSpec) DeepCopy

func (in *SpaceTemplateSpec) DeepCopy() *SpaceTemplateSpec

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

func (*SpaceTemplateSpec) DeepCopyInto

func (in *SpaceTemplateSpec) DeepCopyInto(out *SpaceTemplateSpec)

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

func (SpaceTemplateSpec) OpenAPIModelName added in v4.7.0

func (in SpaceTemplateSpec) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type SpaceTemplateStatus

type SpaceTemplateStatus struct {
}

SpaceTemplateStatus holds the status

func (*SpaceTemplateStatus) DeepCopy

func (in *SpaceTemplateStatus) DeepCopy() *SpaceTemplateStatus

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

func (*SpaceTemplateStatus) DeepCopyInto

func (in *SpaceTemplateStatus) DeepCopyInto(out *SpaceTemplateStatus)

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

func (SpaceTemplateStatus) OpenAPIModelName added in v4.7.0

func (in SpaceTemplateStatus) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type SpaceTemplateVersion

type SpaceTemplateVersion struct {
	// Template holds the space template
	// +optional
	Template SpaceTemplateDefinition `json:"template,omitempty"`

	// Parameters define additional app parameters that will set helm values
	// +optional
	Parameters []AppParameter `json:"parameters,omitempty"`

	// Version is the version. Needs to be in X.X.X format.
	// +optional
	Version string `json:"version,omitempty"`
}

func (*SpaceTemplateVersion) DeepCopy

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

func (*SpaceTemplateVersion) DeepCopyInto

func (in *SpaceTemplateVersion) DeepCopyInto(out *SpaceTemplateVersion)

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

func (*SpaceTemplateVersion) GetVersion

func (a *SpaceTemplateVersion) GetVersion() string

func (SpaceTemplateVersion) OpenAPIModelName added in v4.7.0

func (in SpaceTemplateVersion) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type StackAppSpec added in v4.12.0

type StackAppSpec struct {
	// DisplayName is the name shown for the app instance in the UI.
	// +optional
	DisplayName string `json:"displayName,omitempty"`

	// Description describes the app instance.
	// +optional
	Description string `json:"description,omitempty"`

	// ReleaseName is the helm release name for the app instance. If empty, it defaults to the
	// generated child name.
	// +optional
	ReleaseName string `json:"releaseName,omitempty"`

	// AppConfig is the inline chart, values, and deploy options.
	AppConfig `json:",inline"`
}

StackAppSpec is the part of an app instance an app task owns: a few instance fields plus an inlined AppConfig (chart, values, deploy options). Destination, owner, and access come from the stack, and the referenced-app fields live on the AppTask templateRef arm, so none appear here.

func (*StackAppSpec) DeepCopy added in v4.12.0

func (in *StackAppSpec) DeepCopy() *StackAppSpec

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

func (*StackAppSpec) DeepCopyInto added in v4.12.0

func (in *StackAppSpec) DeepCopyInto(out *StackAppSpec)

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

func (StackAppSpec) OpenAPIModelName added in v4.12.0

func (in StackAppSpec) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type StackAppTask added in v4.12.0

type StackAppTask struct {
	// Template is an inline app definition. Exactly one of Template or TemplateRef
	// must be set per task (validated at admission).
	// +optional
	Template *StackAppTemplate `json:"template,omitempty"`

	// TemplateRef references a named app by name and version. Exactly one of Template or
	// TemplateRef must be set per task (validated at admission).
	// +optional
	TemplateRef *AppInstanceTemplateRef `json:"templateRef,omitempty"`

	// Parameters are passed to the referenced app. Only valid with TemplateRef; admission
	// rejects the field on a task with an inline Template, whose values belong in the
	// definition itself.
	// +optional
	Parameters *runtime.RawExtension `json:"parameters,omitempty"`
}

StackAppTask is the AppInstance payload of a StackTask.

func (*StackAppTask) DeepCopy added in v4.12.0

func (in *StackAppTask) DeepCopy() *StackAppTask

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

func (*StackAppTask) DeepCopyInto added in v4.12.0

func (in *StackAppTask) DeepCopyInto(out *StackAppTask)

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

func (StackAppTask) OpenAPIModelName added in v4.12.0

func (in StackAppTask) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type StackAppTemplate added in v4.12.0

type StackAppTemplate struct {
	// Metadata holds the labels and annotations for the child app instance.
	// +optional
	TemplateMetadata `json:"metadata,omitempty"`

	// Spec is the app definition of the child app instance.
	// +optional
	Spec StackAppSpec `json:"spec,omitempty"`
}

StackAppTemplate is the inline definition of the app an app task deploys. Like the other task templates it is a metadata/spec pair, but its spec is a small StackAppSpec: a chart plus a few instance fields. Where the app runs, as whom, and who can see it come from the stack instead.

func (*StackAppTemplate) DeepCopy added in v4.12.0

func (in *StackAppTemplate) DeepCopy() *StackAppTemplate

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

func (*StackAppTemplate) DeepCopyInto added in v4.12.0

func (in *StackAppTemplate) DeepCopyInto(out *StackAppTemplate)

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

func (StackAppTemplate) OpenAPIModelName added in v4.12.0

func (in StackAppTemplate) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type StackArgoCDApplicationTask added in v4.12.0

type StackArgoCDApplicationTask struct {
	// Template is an inline ArgoCD application template definition. Exactly one of
	// Template or TemplateRef must be set per task (validated at admission).
	// +optional
	Template *ArgoCDApplicationTemplateDefinition `json:"template,omitempty"`

	// TemplateRef references an ArgoCDApplicationTemplate (per-application blueprint).
	// Exactly one of Template or TemplateRef must be set per task (validated at admission).
	// +optional
	TemplateRef *ArgoCDApplicationTemplateRef `json:"templateRef,omitempty"`

	// Parameters are rendered as part of the task, then passed to the referenced
	// ArgoCDApplicationTemplate. Only valid with TemplateRef; admission rejects the field
	// on a task with an inline Template, whose values belong in the definition itself.
	// +optional
	Parameters *runtime.RawExtension `json:"parameters,omitempty"`
}

StackArgoCDApplicationTask is the Argo CD payload of a StackTask.

func (*StackArgoCDApplicationTask) DeepCopy added in v4.12.0

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

func (*StackArgoCDApplicationTask) DeepCopyInto added in v4.12.0

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

func (StackArgoCDApplicationTask) OpenAPIModelName added in v4.12.0

func (in StackArgoCDApplicationTask) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type StackDefaults added in v4.12.0

type StackDefaults struct {
	// TaskTimeout is the default per-task timeout. The empty value is treated as 10m.
	// +optional
	TaskTimeout *metav1.Duration `json:"taskTimeout,omitempty"`
}

func (*StackDefaults) DeepCopy added in v4.12.0

func (in *StackDefaults) DeepCopy() *StackDefaults

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

func (*StackDefaults) DeepCopyInto added in v4.12.0

func (in *StackDefaults) DeepCopyInto(out *StackDefaults)

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

func (StackDefaults) OpenAPIModelName added in v4.12.0

func (in StackDefaults) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type StackDestination added in v4.12.0

type StackDestination struct {
	// VirtualCluster names the tenant cluster to deploy into. Mutually exclusive with Cluster.
	// +optional
	VirtualCluster *StackDestinationVirtualCluster `json:"virtualCluster,omitempty"`

	// Cluster names the connected cluster to deploy into. Mutually exclusive with VirtualCluster.
	// +optional
	Cluster *StackDestinationCluster `json:"cluster,omitempty"`
}

StackDestination is where a stack's applications deploy: a tenant cluster or a control plane cluster.

func (*StackDestination) DeepCopy added in v4.12.0

func (in *StackDestination) DeepCopy() *StackDestination

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

func (*StackDestination) DeepCopyInto added in v4.12.0

func (in *StackDestination) DeepCopyInto(out *StackDestination)

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

func (StackDestination) OpenAPIModelName added in v4.12.0

func (in StackDestination) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type StackDestinationCluster added in v4.12.0

type StackDestinationCluster struct {
	// Name of the connected cluster.
	// +optional
	Name string `json:"name,omitempty"`
}

StackDestinationCluster selects a connected cluster to deploy into.

func (*StackDestinationCluster) DeepCopy added in v4.12.0

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

func (*StackDestinationCluster) DeepCopyInto added in v4.12.0

func (in *StackDestinationCluster) DeepCopyInto(out *StackDestinationCluster)

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

func (StackDestinationCluster) OpenAPIModelName added in v4.12.0

func (in StackDestinationCluster) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type StackDestinationVirtualCluster added in v4.12.0

type StackDestinationVirtualCluster struct {
	// Name of the tenant cluster.
	// +optional
	Name string `json:"name,omitempty"`
}

StackDestinationVirtualCluster selects a tenant cluster to deploy into.

func (*StackDestinationVirtualCluster) DeepCopy added in v4.12.0

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

func (*StackDestinationVirtualCluster) DeepCopyInto added in v4.12.0

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

func (StackDestinationVirtualCluster) OpenAPIModelName added in v4.12.0

func (in StackDestinationVirtualCluster) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type StackInstance added in v4.12.0

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

	Spec   StackInstanceSpec   `json:"spec,omitempty"`
	Status StackInstanceStatus `json:"status,omitempty"`
}

StackInstance orchestrates a dependency-ordered bundle of applications for a single destination. +k8s:openapi-gen=true

func (*StackInstance) DeepCopy added in v4.12.0

func (in *StackInstance) DeepCopy() *StackInstance

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

func (*StackInstance) DeepCopyInto added in v4.12.0

func (in *StackInstance) DeepCopyInto(out *StackInstance)

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

func (*StackInstance) DeepCopyObject added in v4.12.0

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

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

func (*StackInstance) GetAccess added in v4.12.0

func (a *StackInstance) GetAccess() []Access

func (*StackInstance) GetConditions added in v4.12.0

func (a *StackInstance) GetConditions() agentstoragev1.Conditions

func (*StackInstance) GetOwner added in v4.12.0

func (a *StackInstance) GetOwner() *UserOrTeam

func (StackInstance) OpenAPIModelName added in v4.12.0

func (in StackInstance) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

func (*StackInstance) SetAccess added in v4.12.0

func (a *StackInstance) SetAccess(access []Access)

func (*StackInstance) SetConditions added in v4.12.0

func (a *StackInstance) SetConditions(conditions agentstoragev1.Conditions)

func (*StackInstance) SetOwner added in v4.12.0

func (a *StackInstance) SetOwner(userOrTeam *UserOrTeam)

type StackInstanceList added in v4.12.0

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

StackInstanceList contains a list of StackInstances

func (*StackInstanceList) DeepCopy added in v4.12.0

func (in *StackInstanceList) DeepCopy() *StackInstanceList

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

func (*StackInstanceList) DeepCopyInto added in v4.12.0

func (in *StackInstanceList) DeepCopyInto(out *StackInstanceList)

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

func (*StackInstanceList) DeepCopyObject added in v4.12.0

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

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

func (StackInstanceList) OpenAPIModelName added in v4.12.0

func (in StackInstanceList) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type StackInstancePhase added in v4.12.0

type StackInstancePhase string

StackInstancePhase is the aggregate phase of a StackInstance.

const (
	StackInstancePhasePending     StackInstancePhase = "Pending"     // a prerequisite is missing and needs manual intervention
	StackInstancePhaseProgressing StackInstancePhase = "Progressing" // >=1 task still rolling out
	StackInstancePhaseHealthy     StackInstancePhase = "Healthy"     // every task reached readiness
	StackInstancePhaseDegraded    StackInstancePhase = "Degraded"    // >=1 task Failed
	StackInstancePhaseDeleting    StackInstancePhase = "Deleting"
)

type StackInstanceSpec added in v4.12.0

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

	// Description describes the stack instance
	// +optional
	Description string `json:"description,omitempty"`

	// Destination is where every materialized application is deployed: a tenant cluster or a
	// control plane cluster. Immutable after creation.
	Destination StackDestination `json:"destination,omitempty"`

	// Template defines the stack inline. It has the same shape as a StackTemplate's
	// parameters and tasks, so a template's payload can be copy-pasted here and back.
	// Exactly one of Template or TemplateRef must be set (validated at admission).
	// +optional
	Template *StackTemplateDefinition `json:"template,omitempty"`

	// TemplateRef references a cluster-scoped StackTemplate, resolved live each reconcile.
	// Exactly one of Template or TemplateRef must be set (validated at admission).
	// +optional
	TemplateRef *StackTemplateRef `json:"templateRef,omitempty"`

	// Parameters are the values the template's tasks reference as .Values.<name>, the same way
	// an app reads its parameters. Declarations provide defaults and validation but are not a
	// whitelist: values without a matching declaration are passed through and may be
	// referenced too.
	// +optional
	Parameters *runtime.RawExtension `json:"parameters,omitempty"`

	// Defaults are applied to all tasks unless overridden per-task.
	// +optional
	Defaults *StackDefaults `json:"defaults,omitempty"`

	// PrunePolicy controls what happens to an owned application whose task is removed
	// from the resolved task set. Leaving it out is treated as Retain.
	// +optional
	// +kubebuilder:validation:XValidation:rule="self == 'Retain' || self == 'Prune'",message="prunePolicy must be Retain or Prune"
	PrunePolicy StackPrunePolicy `json:"prunePolicy,omitempty"`

	// Owner holds the owner of this object
	// +optional
	Owner *UserOrTeam `json:"owner,omitempty"`

	// Access holds the access rights for users and teams
	// +optional
	Access []Access `json:"access,omitempty"`
}

func (*StackInstanceSpec) DeepCopy added in v4.12.0

func (in *StackInstanceSpec) DeepCopy() *StackInstanceSpec

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

func (*StackInstanceSpec) DeepCopyInto added in v4.12.0

func (in *StackInstanceSpec) DeepCopyInto(out *StackInstanceSpec)

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

func (StackInstanceSpec) OpenAPIModelName added in v4.12.0

func (in StackInstanceSpec) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type StackInstanceStatus added in v4.12.0

type StackInstanceStatus struct {
	// Phase is the aggregate phase of the StackInstance. Consumers must tolerate unknown values.
	// +optional
	Phase StackInstancePhase `json:"phase,omitempty"`

	// Conditions holds several conditions the StackInstance might be in.
	// +optional
	Conditions agentstoragev1.Conditions `json:"conditions,omitempty"`

	// Tasks is the denormalized per-task status, including not-yet-materialized tasks. It is empty
	// when the instance stopped before it could work out its task set, such as a missing
	// destination or a template that does not resolve.
	// +optional
	Tasks []StackTaskStatus `json:"tasks,omitempty"`

	// OrphanedApplications lists owned children whose task is no longer in the
	// resolved task set (template drift). Reported, not deleted, unless prunePolicy is Prune.
	// +optional
	OrphanedApplications []StackOrphanedApplication `json:"orphanedApplications,omitempty"`

	// ObservedGeneration is the generation the controller last reconciled.
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`
}

func (*StackInstanceStatus) DeepCopy added in v4.12.0

func (in *StackInstanceStatus) DeepCopy() *StackInstanceStatus

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

func (*StackInstanceStatus) DeepCopyInto added in v4.12.0

func (in *StackInstanceStatus) DeepCopyInto(out *StackInstanceStatus)

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

func (StackInstanceStatus) OpenAPIModelName added in v4.12.0

func (in StackInstanceStatus) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type StackOrphanedApplication added in v4.12.0

type StackOrphanedApplication struct {
	// ApplicationName is the child's Kubernetes object name (what Prune acts on). The name
	// is retained for traceability; with more than one task type it may name a non-Application
	// child, so read Type to know the kind.
	ApplicationName string `json:"applicationName"`

	// Type is the orphan's child kind (argoCDApplication or app), stamped from the adapter
	// that listed it. Empty on status objects written before this field existed.
	// +optional
	Type StackTaskType `json:"type,omitempty"`

	// TaskName is the name of the task this child was created for. That task is no longer in the
	// resolved task set.
	// +optional
	TaskName string `json:"taskName,omitempty"`

	// DependsOn are the orphan's resolved dependency edges, captured when the task left the
	// resolved set and carried forward here. They give Prune the reverse-dependency order so
	// a child something still depends on is never deleted first.
	// +optional
	DependsOn []string `json:"dependsOn,omitempty"`
}

StackOrphanedApplication is an owned child whose task is no longer in the resolved set.

func (*StackOrphanedApplication) DeepCopy added in v4.12.0

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

func (*StackOrphanedApplication) DeepCopyInto added in v4.12.0

func (in *StackOrphanedApplication) DeepCopyInto(out *StackOrphanedApplication)

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

func (StackOrphanedApplication) OpenAPIModelName added in v4.12.0

func (in StackOrphanedApplication) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type StackPrunePolicy added in v4.12.0

type StackPrunePolicy string

StackPrunePolicy controls orphaned-application handling on template drift.

const (
	// StackPrunePolicyRetain keeps an orphaned application (default, also the zero value).
	StackPrunePolicyRetain StackPrunePolicy = "Retain"
	// StackPrunePolicyPrune deletes an orphaned application in reverse-topological order.
	StackPrunePolicyPrune StackPrunePolicy = "Prune"
)

type StackPublishedOutput added in v4.12.0

type StackPublishedOutput struct {
	// Name is the public name of the output. Unique within the stack; renaming the
	// task output is allowed and expected.
	Name string `json:"name"`

	// FromTask selects which captured task output to publish. It must name an
	// existing task and one of its declared outputs (validated at admission).
	FromTask StackPublishedOutputFromTask `json:"fromTask"`
}

StackPublishedOutput exposes one captured task output under a public name.

func (*StackPublishedOutput) DeepCopy added in v4.12.0

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

func (*StackPublishedOutput) DeepCopyInto added in v4.12.0

func (in *StackPublishedOutput) DeepCopyInto(out *StackPublishedOutput)

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

func (StackPublishedOutput) OpenAPIModelName added in v4.12.0

func (in StackPublishedOutput) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type StackPublishedOutputFromTask added in v4.12.0

type StackPublishedOutputFromTask struct {
	// Task is the task name.
	Task string `json:"task"`

	// Output is the output name declared on that task.
	Output string `json:"output"`
}

StackPublishedOutputFromTask names one declared output of one task.

func (*StackPublishedOutputFromTask) DeepCopy added in v4.12.0

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

func (*StackPublishedOutputFromTask) DeepCopyInto added in v4.12.0

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

func (StackPublishedOutputFromTask) OpenAPIModelName added in v4.12.0

func (in StackPublishedOutputFromTask) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type StackResourceOutputSource added in v4.12.0

type StackResourceOutputSource struct {
	// APIVersion of the resource, e.g. "v1" or "apps/v1".
	APIVersion string `json:"apiVersion"`

	// Kind of the resource, e.g. "Service".
	Kind string `json:"kind"`

	// Namespace of the resource. Must be a namespace this stack deploys into;
	// cluster-scoped resources cannot be read.
	Namespace string `json:"namespace"`

	// Name of the resource.
	Name string `json:"name"`

	// JSONPath selects the field, in the kubectl template syntax, e.g.
	// "{.spec.clusterIP}". It must select exactly one scalar value.
	JSONPath string `json:"jsonPath"`
}

StackResourceOutputSource names one field of one resource on the destination cluster.

func (*StackResourceOutputSource) DeepCopy added in v4.12.0

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

func (*StackResourceOutputSource) DeepCopyInto added in v4.12.0

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

func (StackResourceOutputSource) OpenAPIModelName added in v4.12.0

func (in StackResourceOutputSource) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type StackSecretOutputSource added in v4.12.0

type StackSecretOutputSource struct {
	// Namespace of the Secret. Must be a namespace this stack deploys into.
	Namespace string `json:"namespace"`

	// Name of the Secret.
	Name string `json:"name"`

	// Key inside the Secret's data.
	Key string `json:"key"`
}

StackSecretOutputSource names one Secret key on the destination cluster.

func (*StackSecretOutputSource) DeepCopy added in v4.12.0

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

func (*StackSecretOutputSource) DeepCopyInto added in v4.12.0

func (in *StackSecretOutputSource) DeepCopyInto(out *StackSecretOutputSource)

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

func (StackSecretOutputSource) OpenAPIModelName added in v4.12.0

func (in StackSecretOutputSource) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type StackTask added in v4.12.0

type StackTask struct {
	// Name is the stable identifier of the task. DNS-label-safe, unique within the stack.
	// A task that declares outputs may use letters and digits only: its outputs are
	// referenced as {{ .Outputs.task.name }}, and the template syntax cannot
	// address a name containing "-".
	Name string `json:"name"`

	// DependsOn lists task names that must reach readiness before this task starts.
	// +optional
	DependsOn []string `json:"dependsOn,omitempty"`

	// ArgoCDApplication defines this task as an Argo CD application. Exactly one of
	// ArgoCDApplication or App must be set per task (validated at admission).
	// +optional
	ArgoCDApplication *StackArgoCDApplicationTask `json:"argoCDApplication,omitempty"`

	// App defines this task as a platform App. Exactly one of ArgoCDApplication or App
	// must be set per task (validated at admission).
	// +optional
	App *StackAppTask `json:"app,omitempty"`

	// Timeout overrides Defaults.TaskTimeout for this task.
	// +optional
	Timeout *metav1.Duration `json:"timeout,omitempty"`

	// Outputs declares named values this task publishes once it is Healthy. Later tasks
	// consume them in their specs as {{ .Outputs.task.name }} and must list
	// this task in dependsOn (validated at admission).
	// +optional
	Outputs []StackTaskOutput `json:"outputs,omitempty"`
}

func (*StackTask) DeepCopy added in v4.12.0

func (in *StackTask) DeepCopy() *StackTask

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

func (*StackTask) DeepCopyInto added in v4.12.0

func (in *StackTask) DeepCopyInto(out *StackTask)

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

func (StackTask) OpenAPIModelName added in v4.12.0

func (in StackTask) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type StackTaskOutput added in v4.12.0

type StackTaskOutput struct {
	// Name identifies the output. Letters and digits only, unique within the task: the
	// output is referenced as {{ .Outputs.task.name }}, and the template syntax
	// cannot address a name containing "-".
	Name string `json:"name"`

	// FromSecret reads the value from a Secret key on the destination cluster. Exactly
	// one of fromSecret or fromResource must be set per output.
	// +optional
	FromSecret *StackSecretOutputSource `json:"fromSecret,omitempty"`

	// FromResource reads a single field from a resource on the destination cluster.
	// Exactly one of fromSecret or fromResource must be set per output.
	// +optional
	FromResource *StackResourceOutputSource `json:"fromResource,omitempty"`
}

StackTaskOutput declares one captured value and where the controller reads it from.

func (*StackTaskOutput) DeepCopy added in v4.12.0

func (in *StackTaskOutput) DeepCopy() *StackTaskOutput

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

func (*StackTaskOutput) DeepCopyInto added in v4.12.0

func (in *StackTaskOutput) DeepCopyInto(out *StackTaskOutput)

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

func (StackTaskOutput) OpenAPIModelName added in v4.12.0

func (in StackTaskOutput) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type StackTaskPhase added in v4.12.0

type StackTaskPhase string

StackTaskPhase is the phase of a single task.

const (
	StackTaskPhasePending     StackTaskPhase = "Pending"     // not yet materialized
	StackTaskPhaseWaiting     StackTaskPhase = "Waiting"     // waiting on dependencies
	StackTaskPhaseProgressing StackTaskPhase = "Progressing" // child rolling out
	StackTaskPhaseBlocked     StackTaskPhase = "Blocked"     // waiting on a prerequisite someone has to fix
	StackTaskPhaseHealthy     StackTaskPhase = "Healthy"     // child reached readiness
	StackTaskPhaseFailed      StackTaskPhase = "Failed"      // child failed or timed out
)

type StackTaskStatus added in v4.12.0

type StackTaskStatus struct {
	// Name is the task name.
	Name string `json:"name"`

	// Phase is the per-task phase. It is type-agnostic: Healthy/Failed report the task's
	// resolved readiness, not an ArgoCD-specific state.
	Phase StackTaskPhase `json:"phase"`

	// Type is the task's child kind (argoCDApplication or app). Empty on status objects
	// written before this field existed.
	// +optional
	Type StackTaskType `json:"type,omitempty"`

	// DependsOn are the resolved dependency edges for this task (inline AND templateRef),
	// so the UI can render the graph from this object alone.
	// +optional
	DependsOn []string `json:"dependsOn,omitempty"`

	// ApplicationName is the materialized child object name (empty until created).
	// +optional
	ApplicationName string `json:"applicationName,omitempty"`

	// Synced mirrors the child ArgoCD sync state. Set only for argoCDApplication tasks;
	// empty for other task types.
	// +optional
	Synced bool `json:"synced,omitempty"`

	// Health mirrors the child ArgoCD health. Set only for argoCDApplication tasks;
	// empty for other task types.
	// +optional
	Health string `json:"health,omitempty"`

	// Reason describes the reason in machine-readable form why the task is in the current phase.
	// Empty while the task is healthy.
	// +optional
	Reason string `json:"reason,omitempty"`

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

	// LastTransitionTime is when this task last changed phase.
	// +optional
	LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"`

	// TimeoutAt is when the stack fails the task if it is still progressing. Set only while the
	// task is Progressing, and moved when the task starts a new wait, such as capturing its outputs.
	// +optional
	TimeoutAt *metav1.Time `json:"timeoutAt,omitempty"`
}

func (*StackTaskStatus) DeepCopy added in v4.12.0

func (in *StackTaskStatus) DeepCopy() *StackTaskStatus

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

func (*StackTaskStatus) DeepCopyInto added in v4.12.0

func (in *StackTaskStatus) DeepCopyInto(out *StackTaskStatus)

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

func (StackTaskStatus) OpenAPIModelName added in v4.12.0

func (in StackTaskStatus) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type StackTaskType added in v4.12.0

type StackTaskType string

StackTaskType is the kind of child a task materializes, detected from which of the mutually exclusive task payloads is set (argoCDApplication or app). It lets a status consumer (the UI badge) know a task's type without reading the spec, which a templateRef stack does not expose inline.

const (
	// StackTaskTypeArgoCDApplication is a task whose child is an ArgoCDApplication.
	StackTaskTypeArgoCDApplication StackTaskType = "argoCDApplication"
	// StackTaskTypeApp is a task whose child is an App.
	StackTaskTypeApp StackTaskType = "app"
)

type StackTemplate added in v4.12.0

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

	Spec   StackTemplateSpec   `json:"spec,omitempty"`
	Status StackTemplateStatus `json:"status,omitempty"`
}

StackTemplate is the reusable, parameterized blueprint for a StackInstance. It is passive (no controller) and resolved by the StackInstance controller at reconcile time. +k8s:openapi-gen=true

func (*StackTemplate) DeepCopy added in v4.12.0

func (in *StackTemplate) DeepCopy() *StackTemplate

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

func (*StackTemplate) DeepCopyInto added in v4.12.0

func (in *StackTemplate) DeepCopyInto(out *StackTemplate)

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

func (*StackTemplate) DeepCopyObject added in v4.12.0

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

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

func (*StackTemplate) GetAccess added in v4.12.0

func (a *StackTemplate) GetAccess() []Access

func (*StackTemplate) GetOwner added in v4.12.0

func (a *StackTemplate) GetOwner() *UserOrTeam

func (StackTemplate) OpenAPIModelName added in v4.12.0

func (in StackTemplate) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

func (*StackTemplate) SetAccess added in v4.12.0

func (a *StackTemplate) SetAccess(access []Access)

func (*StackTemplate) SetOwner added in v4.12.0

func (a *StackTemplate) SetOwner(userOrTeam *UserOrTeam)

type StackTemplateDefinition added in v4.12.0

type StackTemplateDefinition struct {
	// Parameters declares the typed parameters (with defaults) a stack accepts, reused from AppParameter.
	// +optional
	Parameters []AppParameter `json:"parameters,omitempty"`

	// Tasks is the DAG blueprint. Each task follows the same task-level
	// mutual-exclusivity rule (ArgoCDApplication XOR App), validated at admission.
	// +optional
	Tasks []StackTask `json:"tasks,omitempty"`

	// PublishedOutputs selects which captured task outputs the stack exposes to its
	// users, optionally under a different name. The values come from the captured task
	// outputs; nothing extra is read from the cluster. They are read through the
	// instance's outputs subresource, never from its status.
	// +optional
	PublishedOutputs []StackPublishedOutput `json:"publishedOutputs,omitempty"`
}

StackTemplateDefinition is the reusable payload of a StackTemplate: the declared parameters and the task DAG. It is embedded inline in StackTemplateSpec and used verbatim as a StackInstance's inline spec.template.

func (*StackTemplateDefinition) DeepCopy added in v4.12.0

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

func (*StackTemplateDefinition) DeepCopyInto added in v4.12.0

func (in *StackTemplateDefinition) DeepCopyInto(out *StackTemplateDefinition)

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

func (StackTemplateDefinition) OpenAPIModelName added in v4.12.0

func (in StackTemplateDefinition) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type StackTemplateList added in v4.12.0

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

StackTemplateList contains a list of StackTemplates

func (*StackTemplateList) DeepCopy added in v4.12.0

func (in *StackTemplateList) DeepCopy() *StackTemplateList

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

func (*StackTemplateList) DeepCopyInto added in v4.12.0

func (in *StackTemplateList) DeepCopyInto(out *StackTemplateList)

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

func (*StackTemplateList) DeepCopyObject added in v4.12.0

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

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

func (StackTemplateList) OpenAPIModelName added in v4.12.0

func (in StackTemplateList) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type StackTemplateRef added in v4.12.0

type StackTemplateRef struct {
	// Name holds the name of the StackTemplate to reference.
	Name string `json:"name"`
}

StackTemplateRef references a cluster-scoped StackTemplate. The values for the template's declared parameters live on the instance at spec.parameters.

func (*StackTemplateRef) DeepCopy added in v4.12.0

func (in *StackTemplateRef) DeepCopy() *StackTemplateRef

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

func (*StackTemplateRef) DeepCopyInto added in v4.12.0

func (in *StackTemplateRef) DeepCopyInto(out *StackTemplateRef)

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

func (StackTemplateRef) OpenAPIModelName added in v4.12.0

func (in StackTemplateRef) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type StackTemplateSpec added in v4.12.0

type StackTemplateSpec struct {
	// DisplayName is the catalog/UI name.
	// +optional
	DisplayName string `json:"displayName,omitempty"`

	// Description describes the stack template.
	// +optional
	Description string `json:"description,omitempty"`

	// Icon is a logo/png reference for the catalog.
	// +optional
	Icon string `json:"icon,omitempty"`

	// StackTemplateDefinition is the reusable payload (declared inputs + task DAG),
	// embedded inline so the template's YAML shape is unchanged. The same struct is a
	// StackInstance's inline spec.template.
	StackTemplateDefinition `json:",inline"`

	// Owner holds the owner of this object
	// +optional
	Owner *UserOrTeam `json:"owner,omitempty"`

	// Access holds the access rights for users and teams
	// +optional
	Access []Access `json:"access,omitempty"`
}

func (*StackTemplateSpec) DeepCopy added in v4.12.0

func (in *StackTemplateSpec) DeepCopy() *StackTemplateSpec

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

func (*StackTemplateSpec) DeepCopyInto added in v4.12.0

func (in *StackTemplateSpec) DeepCopyInto(out *StackTemplateSpec)

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

func (StackTemplateSpec) OpenAPIModelName added in v4.12.0

func (in StackTemplateSpec) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type StackTemplateStatus added in v4.12.0

type StackTemplateStatus struct{}

func (*StackTemplateStatus) DeepCopy added in v4.12.0

func (in *StackTemplateStatus) DeepCopy() *StackTemplateStatus

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

func (*StackTemplateStatus) DeepCopyInto added in v4.12.0

func (in *StackTemplateStatus) DeepCopyInto(out *StackTemplateStatus)

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

func (StackTemplateStatus) OpenAPIModelName added in v4.12.0

func (in StackTemplateStatus) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type Storage added in v4.2.0

type Storage struct {
	// StorageClass the storage class to use when provisioning the metrics backend's persistent volume
	// If set to "-" or "" dynamic provisioning is disabled
	// If set to undefined or null (the default), the cluster's default storage class is used for provisioning
	StorageClass *string `json:"storageClass,omitempty"`

	// Size the size of the metrics backend's persistent volume
	Size string `json:"size,omitempty"`
}

func (*Storage) DeepCopy added in v4.2.0

func (in *Storage) DeepCopy() *Storage

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

func (*Storage) DeepCopyInto added in v4.2.0

func (in *Storage) DeepCopyInto(out *Storage)

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

func (Storage) OpenAPIModelName added in v4.7.0

func (in Storage) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type StreamContainer

type StreamContainer struct {
	// Label selector for pods. The newest matching pod will be used to stream logs from
	// +optional
	Selector metav1.LabelSelector `json:"selector" protobuf:"bytes,2,opt,name=selector"`

	// Container is the container name to use
	// +optional
	Container string `json:"container,omitempty"`
}

func (*StreamContainer) DeepCopy

func (in *StreamContainer) DeepCopy() *StreamContainer

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

func (*StreamContainer) DeepCopyInto

func (in *StreamContainer) DeepCopyInto(out *StreamContainer)

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

func (StreamContainer) OpenAPIModelName added in v4.7.0

func (in StreamContainer) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type Target

type Target struct {
	// SpaceInstance defines a space instance as target
	// +optional
	SpaceInstance *TargetInstance `json:"spaceInstance,omitempty"`

	// VirtualClusterInstance defines a tenant cluster instance as target
	// +optional
	VirtualClusterInstance *TargetInstance `json:"virtualClusterInstance,omitempty"`

	// Cluster defines a connected cluster as target
	// +optional
	Cluster *TargetCluster `json:"cluster,omitempty"`
}

Target defines where an operation (e.g. an app deployment) should be executed.

func (*Target) DeepCopy

func (in *Target) DeepCopy() *Target

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

func (*Target) DeepCopyInto

func (in *Target) DeepCopyInto(out *Target)

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

func (Target) OpenAPIModelName added in v4.7.0

func (in Target) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type TargetCluster

type TargetCluster struct {
	// Cluster is the cluster where the operation should get executed
	// +optional
	Cluster string `json:"cluster,omitempty"`

	// Namespace is the namespace where the operation should get executed
	// +optional
	Namespace string `json:"namespace,omitempty"`
}

func (*TargetCluster) DeepCopy

func (in *TargetCluster) DeepCopy() *TargetCluster

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

func (*TargetCluster) DeepCopyInto

func (in *TargetCluster) DeepCopyInto(out *TargetCluster)

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

func (TargetCluster) OpenAPIModelName added in v4.7.0

func (in TargetCluster) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type TargetInstance

type TargetInstance struct {
	// Name is the name of the instance
	// +optional
	Name string `json:"name,omitempty"`

	// Project where the instance is in
	// +optional
	Project string `json:"project,omitempty"`
}

func (*TargetInstance) DeepCopy

func (in *TargetInstance) DeepCopy() *TargetInstance

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

func (*TargetInstance) DeepCopyInto

func (in *TargetInstance) DeepCopyInto(out *TargetInstance)

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

func (TargetInstance) OpenAPIModelName added in v4.7.0

func (in TargetInstance) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type TargetVirtualCluster

type TargetVirtualCluster struct {
	// Cluster is the cluster where the tenant cluster lies
	// +optional
	Cluster string `json:"cluster,omitempty"`

	// Namespace is the namespace where the tenant cluster is located
	// +optional
	Namespace string `json:"namespace,omitempty"`

	// Name of the tenant cluster
	// +optional
	Name string `json:"name,omitempty"`
}

func (*TargetVirtualCluster) DeepCopy

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

func (*TargetVirtualCluster) DeepCopyInto

func (in *TargetVirtualCluster) DeepCopyInto(out *TargetVirtualCluster)

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

func (TargetVirtualCluster) OpenAPIModelName added in v4.7.0

func (in TargetVirtualCluster) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type Team

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

	Spec   TeamSpec   `json:"spec,omitempty"`
	Status TeamStatus `json:"status,omitempty"`
}

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

func (*Team) DeepCopy

func (in *Team) DeepCopy() *Team

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

func (*Team) DeepCopyInto

func (in *Team) DeepCopyInto(out *Team)

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

func (*Team) DeepCopyObject

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

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

func (*Team) GetAccess

func (a *Team) GetAccess() []Access

func (*Team) GetOwner

func (a *Team) GetOwner() *UserOrTeam

func (Team) OpenAPIModelName added in v4.7.0

func (in Team) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

func (*Team) SetAccess

func (a *Team) SetAccess(access []Access)

func (*Team) SetOwner

func (a *Team) SetOwner(userOrTeam *UserOrTeam)

type TeamList

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

TeamList contains a list of Team

func (*TeamList) DeepCopy

func (in *TeamList) DeepCopy() *TeamList

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

func (*TeamList) DeepCopyInto

func (in *TeamList) DeepCopyInto(out *TeamList)

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

func (*TeamList) DeepCopyObject

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

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

func (TeamList) OpenAPIModelName added in v4.7.0

func (in TeamList) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type TeamSpec

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

	// Description describes a cluster access object
	// +optional
	Description string `json:"description,omitempty"`

	// Owner holds the owner of this object
	// +optional
	Owner *UserOrTeam `json:"owner,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"`

	// ImagePullSecrets holds secret references to image pull
	// secrets the team has access to.
	// +optional
	ImagePullSecrets []*KindSecretRef `json:"imagePullSecrets,omitempty"`

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

	// Access holds the access rights for users and teams
	// +optional
	Access []Access `json:"access,omitempty"`
}

func (*TeamSpec) DeepCopy

func (in *TeamSpec) DeepCopy() *TeamSpec

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

func (*TeamSpec) DeepCopyInto

func (in *TeamSpec) DeepCopyInto(out *TeamSpec)

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

func (TeamSpec) OpenAPIModelName added in v4.7.0

func (in TeamSpec) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type TeamStatus

type TeamStatus struct {
}

func (*TeamStatus) DeepCopy

func (in *TeamStatus) DeepCopy() *TeamStatus

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

func (*TeamStatus) DeepCopyInto

func (in *TeamStatus) DeepCopyInto(out *TeamStatus)

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

func (TeamStatus) OpenAPIModelName added in v4.7.0

func (in TeamStatus) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

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.

func (TemplateHelmChart) OpenAPIModelName added in v4.7.0

func (in TemplateHelmChart) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type TemplateMetadata

type TemplateMetadata struct {
	// Labels are labels on the object
	// +optional
	Labels map[string]string `json:"labels,omitempty"`

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

func (*TemplateMetadata) DeepCopy

func (in *TemplateMetadata) DeepCopy() *TemplateMetadata

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

func (*TemplateMetadata) DeepCopyInto

func (in *TemplateMetadata) DeepCopyInto(out *TemplateMetadata)

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

func (TemplateMetadata) OpenAPIModelName added in v4.7.0

func (in TemplateMetadata) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type TemplateRef

type TemplateRef struct {
	// Name holds the name of the template to reference.
	// +optional
	Name string `json:"name,omitempty"`

	// Version holds the template version to use. Version is expected to
	// be in semantic versioning format. Alternatively, you can also exchange
	// major, minor or patch with an 'x' to tell Loft to automatically select
	// the latest major, minor or patch version.
	// +optional
	Version string `json:"version,omitempty"`

	// SyncOnce tells the controller to sync the instance once with the template.
	// This is useful if you want to sync an instance after a template was changed.
	// To automatically sync an instance with a template, use 'x.x.x' as version
	// instead.
	// +optional
	SyncOnce bool `json:"syncOnce,omitempty"`
}

func (*TemplateRef) DeepCopy

func (in *TemplateRef) DeepCopy() *TemplateRef

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

func (*TemplateRef) DeepCopyInto

func (in *TemplateRef) DeepCopyInto(out *TemplateRef)

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

func (TemplateRef) OpenAPIModelName added in v4.7.0

func (in TemplateRef) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type Tenant added in v4.12.0

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

	Spec   TenantSpec   `json:"spec,omitempty"`
	Status TenantStatus `json:"status,omitempty"`
}

Tenant is a customer-scoped envelope sitting between Global and Project. It is optional: installs with no Tenant objects behave exactly as today. +k8s:openapi-gen=true

func (*Tenant) DeepCopy added in v4.12.0

func (in *Tenant) DeepCopy() *Tenant

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

func (*Tenant) DeepCopyInto added in v4.12.0

func (in *Tenant) DeepCopyInto(out *Tenant)

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

func (*Tenant) DeepCopyObject added in v4.12.0

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

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

func (*Tenant) GetAccess added in v4.12.0

func (a *Tenant) GetAccess() []Access

func (*Tenant) GetConditions added in v4.12.0

func (a *Tenant) GetConditions() agentstoragev1.Conditions

func (*Tenant) GetOwner added in v4.12.0

func (a *Tenant) GetOwner() *UserOrTeam

func (Tenant) OpenAPIModelName added in v4.12.0

func (in Tenant) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

func (*Tenant) SetAccess added in v4.12.0

func (a *Tenant) SetAccess(access []Access)

func (*Tenant) SetConditions added in v4.12.0

func (a *Tenant) SetConditions(conditions agentstoragev1.Conditions)

func (*Tenant) SetOwner added in v4.12.0

func (a *Tenant) SetOwner(userOrTeam *UserOrTeam)

type TenantAdminAllowance added in v4.12.0

type TenantAdminAllowance struct {
	// Scope is the kind-wide baseline treatment for admin-owned instances:
	// hidden, shared, or rbac. exclusive is per-instance and is only valid in an
	// exception, never as the baseline. Empty inherits the shipped per-kind
	// default.
	// +optional
	// +kubebuilder:validation:Enum=hidden;shared;rbac
	Scope TenantAdminScopeMode `json:"scope,omitempty"`

	// Exceptions override the baseline for specific admin-owned instances by
	// name. A name matched by an exception wins over Scope.
	// +optional
	Exceptions []TenantAdminException `json:"exceptions,omitempty"`
}

TenantAdminAllowance governs admin-owned instances of a kind for a tenant: a kind-wide baseline scope plus per-name exceptions that override it.

func (*TenantAdminAllowance) DeepCopy added in v4.12.0

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

func (*TenantAdminAllowance) DeepCopyInto added in v4.12.0

func (in *TenantAdminAllowance) DeepCopyInto(out *TenantAdminAllowance)

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

func (TenantAdminAllowance) OpenAPIModelName added in v4.12.0

func (in TenantAdminAllowance) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type TenantAdminException added in v4.12.0

type TenantAdminException struct {
	// ResourceNames are the admin-owned instances this exception applies to.
	// Each must be a concrete instance name; the "*" wildcard is not allowed.
	ResourceNames []string `json:"resourceNames"`

	// Scope is the treatment for the named admin-owned instances: hidden,
	// shared, or exclusive.
	// +kubebuilder:validation:Enum=hidden;shared;exclusive
	Scope TenantAdminScopeMode `json:"scope"`
}

TenantAdminException overrides the admin baseline scope for specific admin-owned instances of a kind, named explicitly.

func (*TenantAdminException) DeepCopy added in v4.12.0

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

func (*TenantAdminException) DeepCopyInto added in v4.12.0

func (in *TenantAdminException) DeepCopyInto(out *TenantAdminException)

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

func (TenantAdminException) OpenAPIModelName added in v4.12.0

func (in TenantAdminException) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type TenantAdminScopeMode added in v4.12.0

type TenantAdminScopeMode string

TenantAdminScopeMode is the per-tenant treatment of a management.loft.sh kind's admin-owned (unlabeled) instances. The tenant's own-labeled instances are governed separately (see TenantAllowance); another tenant's instances are always hidden, independent of scope.

const (
	// TenantAdminScopeHidden hides admin-owned instances from the tenant (not visible,
	// not usable). The tenant still sees and manages its own instances.
	TenantAdminScopeHidden TenantAdminScopeMode = "hidden"
	// TenantAdminScopeShared shows admin-owned instances read-only and usable, co-held
	// across tenants (the Granted Resource pattern).
	TenantAdminScopeShared TenantAdminScopeMode = "shared"
	// TenantAdminScopeExclusive is TenantAdminScopeShared with cross-Tenant exclusivity: at
	// most one tenant may hold a given instance. Per-instance only, so it is
	// valid only in a TenantAdminAllowance exception (the Leased Resource pattern).
	// The exclusivity is not enforced yet; the leased-uniqueness admission check
	// lands in a later Multi-Tenancy PR.
	TenantAdminScopeExclusive TenantAdminScopeMode = "exclusive"
	// TenantAdminScopeRBAC leaves admin-owned instances to plain RBAC (which denies
	// tenants by default). It is the catch-all default.
	TenantAdminScopeRBAC TenantAdminScopeMode = "rbac"
)

type TenantAllowance added in v4.12.0

type TenantAllowance struct {
	// Enabled controls whether the tenant may use its own instances of this kind.
	// Nil or true means enabled (read-write); false denies the tenant's own
	// instances of the kind. Default: enabled.
	// +optional
	Enabled *bool `json:"enabled,omitempty"`
}

TenantAllowance governs a tenant's access to its own-labeled instances of a kind.

func (*TenantAllowance) DeepCopy added in v4.12.0

func (in *TenantAllowance) DeepCopy() *TenantAllowance

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

func (*TenantAllowance) DeepCopyInto added in v4.12.0

func (in *TenantAllowance) DeepCopyInto(out *TenantAllowance)

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

func (TenantAllowance) OpenAPIModelName added in v4.12.0

func (in TenantAllowance) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type TenantHostnameBinding added in v4.12.0

type TenantHostnameBinding struct {
	// Hostname is the DNS name the platform will treat as belonging to
	// this Tenant (e.g. acme.platform.example.com).
	Hostname string `json:"hostname"`
}

TenantHostnameBinding binds a hostname to this Tenant for routing and SSO resolution.

func (*TenantHostnameBinding) DeepCopy added in v4.12.0

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

func (*TenantHostnameBinding) DeepCopyInto added in v4.12.0

func (in *TenantHostnameBinding) DeepCopyInto(out *TenantHostnameBinding)

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

func (TenantHostnameBinding) OpenAPIModelName added in v4.12.0

func (in TenantHostnameBinding) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type TenantList added in v4.12.0

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

TenantList contains a list of Tenant objects.

func (*TenantList) DeepCopy added in v4.12.0

func (in *TenantList) DeepCopy() *TenantList

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

func (*TenantList) DeepCopyInto added in v4.12.0

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 added in v4.12.0

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

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

func (TenantList) OpenAPIModelName added in v4.12.0

func (in TenantList) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type TenantResourceAllowance added in v4.12.0

type TenantResourceAllowance struct {
	// Resource is the lowercase plural name of a management.loft.sh resource
	// (e.g. "projects", "clusters", "virtualclustertemplates"). The group is
	// always management.loft.sh, so there is no apiGroup field. At most one
	// entry per resource.
	Resource string `json:"resource"`

	// Tenant governs the tenant's own-labeled instances of this kind. Omitted
	// means enabled (the default).
	// +optional
	Tenant *TenantAllowance `json:"tenant,omitempty"`

	// Admin governs admin-owned (unlabeled) instances of this kind. Omitted
	// means the shipped per-kind default, then the catch-all (rbac).
	// +optional
	Admin *TenantAdminAllowance `json:"admin,omitempty"`
}

TenantResourceAllowance controls, per management.loft.sh kind, how a tenant may see and use instances of that kind, split by the two instance populations it governs: the tenant's own instances (Tenant) and admin-owned instances (Admin). Set in Spec as operator intent.

func (*TenantResourceAllowance) DeepCopy added in v4.12.0

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

func (*TenantResourceAllowance) DeepCopyInto added in v4.12.0

func (in *TenantResourceAllowance) DeepCopyInto(out *TenantResourceAllowance)

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

func (TenantResourceAllowance) OpenAPIModelName added in v4.12.0

func (in TenantResourceAllowance) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type TenantResourceQuota added in v4.12.0

type TenantResourceQuota struct {
	// Resource is the lowercase plural name of the counted management.loft.sh
	// resource (e.g. "virtualclusterinstances", "nodeclaims").
	Resource string `json:"resource"`

	// Tenant caps usage aggregated across all the tenant's projects.
	// +optional
	Tenant map[string]string `json:"tenant,omitempty"`

	// User caps usage per individual user or team.
	// +optional
	User map[string]string `json:"user,omitempty"`
}

TenantResourceQuota caps consumption of one management.loft.sh resource for a tenant. Keys in the Tenant/User maps are conditions relative to the resource ("total", "active", "!active", "template=<name>", "type=<name>", "provider=<name>"), and values are integer counts.

The key grammar intentionally diverges from pkg/quota's flat dot-composed expression form (e.g. "spaceinstances.active.template=foo"): the vocabularies overlap, but pkg/quota has no matcher for "type=" and expresses "total" as the bare resource key, so the two cannot be unified without extending pkg/quota. This per-resource shape is reconciled with pkg/quota's grammar when tenant quotas are actually enforced (a later Multi-Tenancy PR), where it can be validated against the live matcher; until then these fields are stored and validated for well-formedness only.

func (*TenantResourceQuota) DeepCopy added in v4.12.0

func (in *TenantResourceQuota) DeepCopy() *TenantResourceQuota

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

func (*TenantResourceQuota) DeepCopyInto added in v4.12.0

func (in *TenantResourceQuota) DeepCopyInto(out *TenantResourceQuota)

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

func (TenantResourceQuota) OpenAPIModelName added in v4.12.0

func (in TenantResourceQuota) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type TenantSpec added in v4.12.0

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

	// Description describes this Tenant.
	// +optional
	Description string `json:"description,omitempty"`

	// Owner holds the owner of this Tenant. Access is intended to govern
	// operator-side delegation, that is, which Platform Operator users may read
	// or edit this Tenant, by transforming Owner/Access into effective RBAC for
	// the Tenant resource itself. That wiring is not yet active: it lands with
	// the Tenant authorizer in a later Multi-Tenancy PR. Until then Owner and
	// Access are stored and validated for well-formedness only, and Tenant
	// access is authorized by ClusterRole RBAC. Neither field expresses tenant
	// membership: how a User or Team is bound to a Tenant is resolved
	// separately and is deliberately not fixed by this API.
	// +optional
	Owner *UserOrTeam `json:"owner,omitempty"`

	// Access holds the access rights for users and teams on the Tenant CR
	// itself. Stored and validated now; enforcement (operator-side delegation)
	// activates with the Tenant authorizer in a later Multi-Tenancy PR — see
	// the Owner field.
	// +optional
	Access []Access `json:"access,omitempty"`

	// Hostnames are the DNS names that resolve to this tenant. Used for SSO
	// bootstrap, UI branding, and per-request tenant resolution.
	// +optional
	Hostnames []TenantHostnameBinding `json:"hostnames,omitempty"`

	// ResourceAllowances controls, per management.loft.sh kind, how a tenant may
	// see and use instances of that kind. Each entry splits into a Tenant section
	// (the tenant's own instances: enabled or disabled) and an Admin section
	// (admin-owned instances: a kind-wide scope of hidden/shared/rbac plus per-name
	// exceptions of hidden/shared/exclusive). At most one entry per resource; a
	// resource with no entry falls to the shipped per-kind default, then to the
	// admin catch-all (rbac). Stored and validated now; the visibility/usability
	// treatment these entries describe is enforced by the tenant scope library in a
	// later Multi-Tenancy PR.
	// +optional
	ResourceAllowances []TenantResourceAllowance `json:"resourceAllowances,omitempty"`

	// ResourceQuotas caps how many of a resource this tenant may hold or
	// consume, aggregated across all the tenant's projects. Parity with
	// Project quotas, not a replacement (Projects keep their per-project
	// quotas; the tenant quota is an outer bound).
	// +optional
	ResourceQuotas []TenantResourceQuota `json:"resourceQuotas,omitempty"`
}

func (*TenantSpec) DeepCopy added in v4.12.0

func (in *TenantSpec) DeepCopy() *TenantSpec

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

func (*TenantSpec) DeepCopyInto added in v4.12.0

func (in *TenantSpec) DeepCopyInto(out *TenantSpec)

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

func (TenantSpec) OpenAPIModelName added in v4.12.0

func (in TenantSpec) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type TenantStatus added in v4.12.0

type TenantStatus struct {
	// Conditions describes the current observed conditions of the Tenant.
	// +optional
	Conditions agentstoragev1.Conditions `json:"conditions,omitempty"`
}

TenantStatus surfaces reconciler-managed state. Status is populated by the Tenant reconciler, which lands in a later Multi-Tenancy PR (along with the resolved allowances and quota-usage fields and their /status subresource); until then only Conditions is defined.

func (*TenantStatus) DeepCopy added in v4.12.0

func (in *TenantStatus) DeepCopy() *TenantStatus

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

func (*TenantStatus) DeepCopyInto added in v4.12.0

func (in *TenantStatus) DeepCopyInto(out *TenantStatus)

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

func (TenantStatus) OpenAPIModelName added in v4.12.0

func (in TenantStatus) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type TerraformNodeEnvironmentTemplate added in v4.5.0

type TerraformNodeEnvironmentTemplate struct {
	// Deprecated: Use Infrastructure and Kubernetes instead.
	TerraformTemplate `json:",inline"`

	// Infrastructure is the infrastructure template to use for this node environment.
	Infrastructure *TerraformTemplate `json:"infrastructure,omitempty"`

	// Kubernetes is the kubernetes template to use for this node environment.
	Kubernetes *TerraformTemplate `json:"kubernetes,omitempty"`
}

func (*TerraformNodeEnvironmentTemplate) DeepCopy added in v4.5.0

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

func (*TerraformNodeEnvironmentTemplate) DeepCopyInto added in v4.5.0

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

func (TerraformNodeEnvironmentTemplate) OpenAPIModelName added in v4.7.0

func (in TerraformNodeEnvironmentTemplate) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type TerraformNodeTypeSpec added in v4.4.0

type TerraformNodeTypeSpec struct {
	NamedNodeTypeSpec `json:",inline"`

	// NodeTemplate is the template to use for this node type.
	NodeTemplate *TerraformTemplate `json:"nodeTemplate,omitempty"`

	// MaxCapacity is the maximum number of nodes that can be created for this NodeType.
	MaxCapacity int `json:"maxCapacity,omitempty"`
}

func (*TerraformNodeTypeSpec) DeepCopy added in v4.4.0

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

func (*TerraformNodeTypeSpec) DeepCopyInto added in v4.4.0

func (in *TerraformNodeTypeSpec) DeepCopyInto(out *TerraformNodeTypeSpec)

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

func (TerraformNodeTypeSpec) OpenAPIModelName added in v4.7.0

func (in TerraformNodeTypeSpec) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type TerraformTemplate added in v4.4.0

type TerraformTemplate struct {
	// Inline is the inline template to use for this node type.
	Inline string `json:"inline,omitempty"`

	// Git is the git repository to use for this node type.
	Git *TerraformTemplateSourceGit `json:"git,omitempty"`

	// Timeout is the timeout to use for the terraform operations. Defaults to 60m.
	Timeout string `json:"timeout,omitempty"`
}

func (*TerraformTemplate) DeepCopy added in v4.4.0

func (in *TerraformTemplate) DeepCopy() *TerraformTemplate

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

func (*TerraformTemplate) DeepCopyInto added in v4.4.0

func (in *TerraformTemplate) DeepCopyInto(out *TerraformTemplate)

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

func (TerraformTemplate) OpenAPIModelName added in v4.7.0

func (in TerraformTemplate) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type TerraformTemplateSourceGit added in v4.4.0

type TerraformTemplateSourceGit struct {
	// Repository is the repository to clone
	Repository string `json:"repository,omitempty"`

	// Branch is the branch to use
	Branch string `json:"branch,omitempty"`

	// Commit is the commit SHA to checkout
	Commit string `json:"commit,omitempty"`

	// Tag is the tag reference to checkout
	Tag string `json:"tag,omitempty"`

	// SubPath is the subpath in the repo to use
	SubPath string `json:"subPath,omitempty"`

	// Credentials is the reference to a secret containing the username and password for the git repository.
	Credentials *SecretRef `json:"credentials,omitempty"`

	// FetchInterval is the interval to use for refetching the git repository. Defaults to 5m. Refetching only checks for remote changes but does not do a complete repull.
	FetchInterval string `json:"fetchInterval,omitempty"`

	// ExtraEnv is the extra environment variables to use for the clone
	ExtraEnv []string `json:"extraEnv,omitempty"`
}

func (*TerraformTemplateSourceGit) DeepCopy added in v4.4.0

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

func (*TerraformTemplateSourceGit) DeepCopyInto added in v4.4.0

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

func (TerraformTemplateSourceGit) OpenAPIModelName added in v4.7.0

func (in TerraformTemplateSourceGit) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type User

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

	Spec   UserSpec   `json:"spec,omitempty"`
	Status UserStatus `json:"status,omitempty"`
}

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

func (*User) DeepCopy

func (in *User) DeepCopy() *User

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

func (*User) DeepCopyInto

func (in *User) DeepCopyInto(out *User)

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

func (*User) DeepCopyObject

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

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

func (*User) GetAccess

func (a *User) GetAccess() []Access

func (*User) GetOwner

func (a *User) GetOwner() *UserOrTeam

func (User) OpenAPIModelName added in v4.7.0

func (in User) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

func (*User) SetAccess

func (a *User) SetAccess(access []Access)

func (*User) SetOwner

func (a *User) SetOwner(userOrTeam *UserOrTeam)

type UserList

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

UserList contains a list of User

func (*UserList) DeepCopy

func (in *UserList) DeepCopy() *UserList

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

func (*UserList) DeepCopyInto

func (in *UserList) DeepCopyInto(out *UserList)

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

func (*UserList) DeepCopyObject

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

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

func (UserList) OpenAPIModelName added in v4.7.0

func (in UserList) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type UserOrTeam

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

	// Team specifies a Loft team.
	// +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.

func (UserOrTeam) OpenAPIModelName added in v4.7.0

func (in UserOrTeam) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type UserOrTeamEntity

type UserOrTeamEntity struct {
	// User describes an user
	// +optional
	User *EntityInfo `json:"user,omitempty"`

	// Team describes a team
	// +optional
	Team *EntityInfo `json:"team,omitempty"`
}

func (*UserOrTeamEntity) DeepCopy

func (in *UserOrTeamEntity) DeepCopy() *UserOrTeamEntity

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

func (*UserOrTeamEntity) DeepCopyInto

func (in *UserOrTeamEntity) DeepCopyInto(out *UserOrTeamEntity)

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

func (UserOrTeamEntity) OpenAPIModelName added in v4.7.0

func (in UserOrTeamEntity) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type UserSpec

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

	// Description describes a cluster access object
	// +optional
	Description string `json:"description,omitempty"`

	// Owner holds the owner of this object
	// +optional
	Owner *UserOrTeam `json:"owner,omitempty"`

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

	// The URL to an icon that should be shown for the user
	// +optional
	Icon string `json:"icon,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"`

	// SSOGroups is used to remember groups that were
	// added from sso.
	// +optional
	SSOGroups []string `json:"ssoGroups,omitempty"`

	// A reference to the user password
	// +optional
	PasswordRef *SecretRef `json:"passwordRef,omitempty"`

	// A reference to the users access keys
	// +optional
	CodesRef *SecretRef `json:"codesRef,omitempty"`

	// ImagePullSecrets holds secret references to image pull
	// secrets the user has access to.
	// +optional
	ImagePullSecrets []*KindSecretRef `json:"imagePullSecrets,omitempty"`

	// TokenGeneration can be used to invalidate all user tokens
	// +optional
	TokenGeneration int64 `json:"tokenGeneration,omitempty"`

	// If disabled is true, a user will not be able to login anymore. All other user resources
	// are unaffected and other users can still interact with this user
	// +optional
	Disabled bool `json:"disabled,omitempty"`

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

	// Access holds the access rights for users and teams
	// +optional
	Access []Access `json:"access,omitempty"`

	// ExtraClaims are additional claims that have been added to the user by an admin.
	// +optional
	ExtraClaims map[string]string `json:"extraClaims,omitempty"`
}

func (*UserSpec) DeepCopy

func (in *UserSpec) DeepCopy() *UserSpec

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

func (*UserSpec) DeepCopyInto

func (in *UserSpec) DeepCopyInto(out *UserSpec)

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

func (UserSpec) OpenAPIModelName added in v4.7.0

func (in UserSpec) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type UserStatus

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

UserStatus holds the status of a user

func (*UserStatus) DeepCopy

func (in *UserStatus) DeepCopy() *UserStatus

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

func (*UserStatus) DeepCopyInto

func (in *UserStatus) DeepCopyInto(out *UserStatus)

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

func (UserStatus) OpenAPIModelName added in v4.7.0

func (in UserStatus) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type VClusterDeviceOperatorDeployment added in v4.12.0

type VClusterDeviceOperatorDeployment struct {
	// Enabled controls whether the vCluster device operator is deployed into the cluster.
	Enabled bool `json:"enabled"`

	// ChartRepo overrides the Helm chart repository used to install the operator.
	// +optional
	ChartRepo string `json:"chartRepo,omitempty"`

	// Chart overrides the Helm chart name used to install the operator.
	// +optional
	Chart string `json:"chart,omitempty"`

	// Version overrides the Helm chart version used to install the operator.
	// +optional
	Version string `json:"version,omitempty"`

	// HelmValues is raw YAML that will be passed as values to the Helm chart.
	// +optional
	HelmValues string `json:"helmValues,omitempty"`
}

func (*VClusterDeviceOperatorDeployment) DeepCopy added in v4.12.0

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

func (*VClusterDeviceOperatorDeployment) DeepCopyInto added in v4.12.0

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

func (VClusterDeviceOperatorDeployment) OpenAPIModelName added in v4.12.0

func (in VClusterDeviceOperatorDeployment) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type VaultAuthSpec

type VaultAuthSpec struct {
	// Token defines the token to use for authentication.
	// +optional
	Token *string `json:"token,omitempty"`

	// TokenSecretRef defines the Kubernetes secret to use for token authentication.
	// Will be used if `token` is not provided.
	//
	// Secret data should contain the `token` key.
	// +optional
	TokenSecretRef *corev1.SecretKeySelector `json:"tokenSecretRef,omitempty"`
}

func (*VaultAuthSpec) DeepCopy

func (in *VaultAuthSpec) DeepCopy() *VaultAuthSpec

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

func (*VaultAuthSpec) DeepCopyInto

func (in *VaultAuthSpec) DeepCopyInto(out *VaultAuthSpec)

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

func (VaultAuthSpec) OpenAPIModelName added in v4.7.0

func (in VaultAuthSpec) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type VaultIntegrationSpec

type VaultIntegrationSpec struct {
	// Enabled indicates if the Vault Integration is enabled for the project -- this knob only
	// enables the syncing of secrets to or from Vault, but does not setup Kubernetes authentication
	// methods or Kubernetes secrets engines for vclusters.
	// +optional
	Enabled bool `json:"enabled,omitempty"`

	// Address defines the address of the Vault instance to use for this project.
	// Will default to the `VAULT_ADDR` environment variable if not provided.
	// +optional
	Address string `json:"address,omitempty"`

	// SkipTLSVerify defines if TLS verification should be skipped when connecting to Vault.
	// +optional
	SkipTLSVerify bool `json:"skipTLSVerify,omitempty"`

	// Namespace defines the namespace to use when storing secrets in Vault.
	// +optional
	Namespace string `json:"namespace,omitempty"`

	// Auth defines the authentication method to use for this project.
	// +optional
	Auth *VaultAuthSpec `json:"auth,omitempty"`

	// SyncInterval defines the interval at which to sync secrets from Vault.
	// Defaults to `1m.`
	// See https://pkg.go.dev/time#ParseDuration for supported formats.
	// +optional
	SyncInterval string `json:"syncInterval,omitempty"`
}

func (*VaultIntegrationSpec) DeepCopy

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

func (*VaultIntegrationSpec) DeepCopyInto

func (in *VaultIntegrationSpec) DeepCopyInto(out *VaultIntegrationSpec)

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

func (VaultIntegrationSpec) OpenAPIModelName added in v4.7.0

func (in VaultIntegrationSpec) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type VersionAccessor

type VersionAccessor interface {
	GetVersion() string
}

type VersionsAccessor

type VersionsAccessor interface {
	GetVersions() []VersionAccessor
}

type VirtualClusterAccessPoint

type VirtualClusterAccessPoint struct {
	// Ingress defines tenant 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.

func (VirtualClusterAccessPoint) OpenAPIModelName added in v4.7.0

func (in VirtualClusterAccessPoint) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type VirtualClusterAccessPointIngressSpec

type VirtualClusterAccessPointIngressSpec struct {
	// Enabled defines if the tenant 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.

func (VirtualClusterAccessPointIngressSpec) OpenAPIModelName added in v4.7.0

func (in VirtualClusterAccessPointIngressSpec) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type VirtualClusterClusterRef

type VirtualClusterClusterRef struct {
	ClusterRef `json:",inline"`

	// VirtualCluster is the name of the tenant cluster inside the namespace
	// +optional
	VirtualCluster string `json:"virtualCluster,omitempty"`
}

func (*VirtualClusterClusterRef) DeepCopy

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

func (*VirtualClusterClusterRef) DeepCopyInto

func (in *VirtualClusterClusterRef) DeepCopyInto(out *VirtualClusterClusterRef)

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

func (VirtualClusterClusterRef) OpenAPIModelName added in v4.7.0

func (in VirtualClusterClusterRef) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

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 tenant cluster
	// +optional
	Objects string `json:"objects,omitempty"`

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

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

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

	// AccessPoint defines settings to expose the tenant 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.
	// Deprecated: use ForwardTokenMode instead. When ForwardTokenMode is empty, ForwardToken==true
	// is treated as ForwardTokenMode "TokenReview" and ForwardToken==false as "Off".
	// +optional
	ForwardToken bool `json:"forwardToken,omitempty"`

	// ForwardTokenMode controls how the proxy forwards the caller's token to the virtual
	// Kubernetes api server.
	//   - "Off": do not forward the token (default).
	//   - "TokenReview": run a TokenReview against the virtual cluster and proxy the request using
	//     impersonation headers for the resulting user (historical ForwardToken behavior).
	//   - "Passthrough": forward the raw bearer token directly to the virtual cluster api server
	//     without a TokenReview and without impersonation headers. The virtual cluster api server is
	//     responsible for authenticating and authorizing the request (e.g. via its own OIDC config).
	// When empty, the deprecated ForwardToken bool is used to derive the mode.
	// Both "TokenReview" and "Passthrough" skip the platform's own instance-access check and delegate
	// authorization to the virtual cluster api server, so only enable them on virtual clusters that
	// enforce their own authentication and authorization.
	// Downgrade note: older platform versions understand only the ForwardToken bool. "Off" and
	// "TokenReview" are kept in sync with it automatically, so they downgrade cleanly. "Passthrough"
	// has no bool equivalent and is unavailable on older versions; it downgrades to forwarding
	// disabled.
	// +kubebuilder:validation:Enum=Off;TokenReview;Passthrough
	// +optional
	ForwardTokenMode ForwardTokenMode `json:"forwardTokenMode,omitempty"`
}

VirtualClusterCommonSpec holds common attributes for tenant clusters and tenant 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.

func (VirtualClusterCommonSpec) OpenAPIModelName added in v4.7.0

func (in VirtualClusterCommonSpec) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

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

	// InsecureSkipTlsVerify skips the TLS verification for the helm chart
	// +optional
	InsecureSkipTlsVerify bool `json:"insecureSkipTlsVerify,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.

func (VirtualClusterHelmChart) OpenAPIModelName added in v4.7.0

func (in VirtualClusterHelmChart) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

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.

func (VirtualClusterHelmRelease) OpenAPIModelName added in v4.7.0

func (in VirtualClusterHelmRelease) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

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.

func (VirtualClusterHelmReleaseStatus) OpenAPIModelName added in v4.7.0

func (in VirtualClusterHelmReleaseStatus) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type VirtualClusterInstance

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

	Spec   VirtualClusterInstanceSpec   `json:"spec,omitempty"`
	Status VirtualClusterInstanceStatus `json:"status,omitempty"`
}

VirtualClusterInstance +k8s:openapi-gen=true

func (*VirtualClusterInstance) DeepCopy

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

func (*VirtualClusterInstance) DeepCopyInto

func (in *VirtualClusterInstance) DeepCopyInto(out *VirtualClusterInstance)

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

func (*VirtualClusterInstance) DeepCopyObject

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

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

func (*VirtualClusterInstance) GetAccess

func (a *VirtualClusterInstance) GetAccess() []Access

func (*VirtualClusterInstance) GetConditions

func (*VirtualClusterInstance) GetOwner

func (a *VirtualClusterInstance) GetOwner() *UserOrTeam

func (VirtualClusterInstance) OpenAPIModelName added in v4.7.0

func (in VirtualClusterInstance) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

func (*VirtualClusterInstance) SetAccess

func (a *VirtualClusterInstance) SetAccess(access []Access)

func (*VirtualClusterInstance) SetConditions

func (a *VirtualClusterInstance) SetConditions(conditions agentstoragev1.Conditions)

func (*VirtualClusterInstance) SetOwner

func (a *VirtualClusterInstance) SetOwner(userOrTeam *UserOrTeam)

type VirtualClusterInstanceList

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

VirtualClusterInstanceList contains a list of VirtualClusterInstance objects

func (*VirtualClusterInstanceList) DeepCopy

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

func (*VirtualClusterInstanceList) DeepCopyInto

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

func (*VirtualClusterInstanceList) DeepCopyObject

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

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

func (VirtualClusterInstanceList) OpenAPIModelName added in v4.7.0

func (in VirtualClusterInstanceList) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type VirtualClusterInstanceSpec

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

	// Description describes a tenant cluster instance
	// +optional
	Description string `json:"description,omitempty"`

	// Owner holds the owner of this object
	// +optional
	Owner *UserOrTeam `json:"owner,omitempty"`

	// TemplateRef holds the tenant cluster template reference
	// +optional
	TemplateRef *TemplateRef `json:"templateRef,omitempty"`

	// Template is the inline template to use for tenant cluster creation. This is mutually
	// exclusive with templateRef.
	// +optional
	Template *VirtualClusterTemplateDefinition `json:"template,omitempty"`

	// ClusterRef is the reference to the connected cluster holding
	// this tenant cluster
	// +optional
	ClusterRef VirtualClusterClusterRef `json:"clusterRef,omitempty"`

	// Parameters are values to pass to the template.
	// The values should be encoded as YAML string where each parameter is represented as a top-level field key.
	// +optional
	Parameters string `json:"parameters,omitempty"`

	// ExtraAccessRules defines extra rules which users and teams should have which access to the tenant
	// cluster.
	// +optional
	ExtraAccessRules []InstanceAccessRule `json:"extraAccessRules,omitempty"`

	// Access to the tenant cluster object itself
	// +optional
	Access []Access `json:"access,omitempty"`

	// NetworkPeer specifies if the cluster is connected via tailscale.
	// +optional
	NetworkPeer bool `json:"networkPeer,omitempty"`

	// External specifies if the tenant cluster is managed by the platform agent or externally.
	// +optional
	External bool `json:"external,omitempty"`

	// Standalone specifies if the tenant cluster is standalone and not hosted in another Kubernetes cluster.
	// +optional
	Standalone bool `json:"standalone,omitempty"`
}

func (*VirtualClusterInstanceSpec) DeepCopy

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

func (*VirtualClusterInstanceSpec) DeepCopyInto

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

func (VirtualClusterInstanceSpec) OpenAPIModelName added in v4.7.0

func (in VirtualClusterInstanceSpec) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type VirtualClusterInstanceStatus

type VirtualClusterInstanceStatus struct {
	// Phase describes the current phase the tenant cluster instance is in
	// +optional
	Phase InstancePhase `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"`

	// ServiceUID is the service uid of the tenant cluster to uniquely identify it.
	// +optional
	ServiceUID string `json:"serviceUID,omitempty"`

	// KubernetesVersion is the Kubernetes version of the tenant cluster.
	// +optional
	KubernetesVersion string `json:"kubernetesVersion,omitempty"`

	// DeployHash is the hash of the last deployed values.
	// +optional
	DeployHash string `json:"deployHash,omitempty"`

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

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

	// SpaceObjects are the objects that were applied within the tenant cluster space
	// +optional
	SpaceObjects *ObjectsStatus `json:"spaceObjects,omitempty"`

	// VirtualCluster is the template rendered with all the parameters
	// +optional
	VirtualCluster *VirtualClusterTemplateDefinition `json:"virtualCluster,omitempty"`

	// IgnoreReconciliation tells the controller to ignore reconciliation for this instance -- this
	// is primarily used when migrating tenant cluster instances from project to project; this
	// prevents a situation where there are two tenant cluster instances representing the same
	// tenant cluster which could cause issues with concurrent reconciliations of the same object.
	// Once the tenant cluster instance has been cloned and placed into the new project, this
	// (the "old") tenant cluster instance can safely be deleted.
	IgnoreReconciliation bool `json:"ignoreReconciliation,omitempty"`
}

func (*VirtualClusterInstanceStatus) DeepCopy

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

func (*VirtualClusterInstanceStatus) DeepCopyInto

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

func (VirtualClusterInstanceStatus) OpenAPIModelName added in v4.7.0

func (in VirtualClusterInstanceStatus) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type VirtualClusterInstanceTemplateDefinition

type VirtualClusterInstanceTemplateDefinition struct {
	// The tenant cluster instance metadata
	// +kubebuilder:pruning:PreserveUnknownFields
	// +optional
	TemplateMetadata `json:"metadata,omitempty"`
}

VirtualClusterInstanceTemplateDefinition holds the tenant cluster instance template

func (*VirtualClusterInstanceTemplateDefinition) DeepCopy

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

func (*VirtualClusterInstanceTemplateDefinition) DeepCopyInto

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

func (VirtualClusterInstanceTemplateDefinition) OpenAPIModelName added in v4.7.0

func (in VirtualClusterInstanceTemplateDefinition) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type VirtualClusterPhase

type VirtualClusterPhase string

VirtualClusterPhase describes the phase of a tenant 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 tenant 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.

func (VirtualClusterProSpec) OpenAPIModelName added in v4.7.0

func (in VirtualClusterProSpec) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type VirtualClusterSpaceTemplateDefinition

type VirtualClusterSpaceTemplateDefinition struct {
	// The space metadata
	// +kubebuilder:pruning:PreserveUnknownFields
	// +optional
	TemplateMetadata `json:"metadata,omitempty"`

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

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

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

func (*VirtualClusterSpaceTemplateDefinition) DeepCopy

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

func (*VirtualClusterSpaceTemplateDefinition) DeepCopyInto

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

func (VirtualClusterSpaceTemplateDefinition) OpenAPIModelName added in v4.7.0

func (in VirtualClusterSpaceTemplateDefinition) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type VirtualClusterStatus

type VirtualClusterStatus struct {
	// Phase describes the current phase the tenant 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 tenant cluster control plane is ready.
	// +optional
	ControlPlaneReady bool `json:"controlPlaneReady,omitempty"`

	// Conditions holds several conditions the tenant cluster might be in
	// +optional
	Conditions agentstoragev1.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 tenant 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 tenant cluster
	MultiNamespace bool `json:"multiNamespace,omitempty"`

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

VirtualClusterStatus holds the status of a tenant 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.

func (VirtualClusterStatus) OpenAPIModelName added in v4.7.0

func (in VirtualClusterStatus) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type VirtualClusterTemplate

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

	Spec   VirtualClusterTemplateSpec   `json:"spec,omitempty"`
	Status VirtualClusterTemplateStatus `json:"status,omitempty"`
}

VirtualClusterTemplate holds the virtualClusterTemplate information +k8s:openapi-gen=true

func (*VirtualClusterTemplate) DeepCopy

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

func (*VirtualClusterTemplate) DeepCopyInto

func (in *VirtualClusterTemplate) DeepCopyInto(out *VirtualClusterTemplate)

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

func (*VirtualClusterTemplate) DeepCopyObject

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

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

func (*VirtualClusterTemplate) GetAccess

func (a *VirtualClusterTemplate) GetAccess() []Access

func (*VirtualClusterTemplate) GetOwner

func (a *VirtualClusterTemplate) GetOwner() *UserOrTeam

func (*VirtualClusterTemplate) GetVersions

func (a *VirtualClusterTemplate) GetVersions() []VersionAccessor

func (VirtualClusterTemplate) OpenAPIModelName added in v4.7.0

func (in VirtualClusterTemplate) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

func (*VirtualClusterTemplate) SetAccess

func (a *VirtualClusterTemplate) SetAccess(access []Access)

func (*VirtualClusterTemplate) SetOwner

func (a *VirtualClusterTemplate) SetOwner(userOrTeam *UserOrTeam)

type VirtualClusterTemplateDefinition

type VirtualClusterTemplateDefinition struct {
	// The tenant cluster metadata
	// +kubebuilder:pruning:PreserveUnknownFields
	// +optional
	TemplateMetadata `json:"metadata,omitempty"`

	// InstanceTemplate holds the tenant cluster instance template
	// +optional
	InstanceTemplate VirtualClusterInstanceTemplateDefinition `json:"instanceTemplate,omitempty"`

	// VirtualClusterCommonSpec defines tenant cluster spec that is common between the tenant
	// cluster templates, and tenant cluster
	VirtualClusterCommonSpec `json:",inline"`

	// SpaceTemplate holds the space template
	// +optional
	SpaceTemplate VirtualClusterSpaceTemplateDefinition `json:"spaceTemplate,omitempty"`
}

func (*VirtualClusterTemplateDefinition) DeepCopy

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

func (*VirtualClusterTemplateDefinition) DeepCopyInto

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

func (VirtualClusterTemplateDefinition) OpenAPIModelName added in v4.7.0

func (in VirtualClusterTemplateDefinition) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type VirtualClusterTemplateList

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

VirtualClusterTemplateList contains a list of VirtualClusterTemplate

func (*VirtualClusterTemplateList) DeepCopy

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

func (*VirtualClusterTemplateList) DeepCopyInto

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

func (*VirtualClusterTemplateList) DeepCopyObject

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

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

func (VirtualClusterTemplateList) OpenAPIModelName added in v4.7.0

func (in VirtualClusterTemplateList) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type VirtualClusterTemplateSpaceTemplateRef

type VirtualClusterTemplateSpaceTemplateRef struct {
	// Name of the space template
	// +optional
	Name string `json:"name,omitempty"`
}

func (*VirtualClusterTemplateSpaceTemplateRef) DeepCopy

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

func (*VirtualClusterTemplateSpaceTemplateRef) DeepCopyInto

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

func (VirtualClusterTemplateSpaceTemplateRef) OpenAPIModelName added in v4.7.0

func (in VirtualClusterTemplateSpaceTemplateRef) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type VirtualClusterTemplateSpec

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

	// Description describes the tenant cluster template
	// +optional
	Description string `json:"description,omitempty"`

	// Owner holds the owner of this object
	// +optional
	Owner *UserOrTeam `json:"owner,omitempty"`

	// Template holds the tenant cluster template
	// +optional
	Template VirtualClusterTemplateDefinition `json:"template,omitempty"`

	// Parameters define additional app parameters that will set helm values
	// +optional
	Parameters []AppParameter `json:"parameters,omitempty"`

	// Versions are different versions of the template that can be referenced as well
	// +optional
	Versions []VirtualClusterTemplateVersion `json:"versions,omitempty"`

	// Access holds the access rights for users and teams
	// +optional
	Access []Access `json:"access,omitempty"`

	// DEPRECATED: SpaceTemplate to use to create the tenant cluster space if it does not exist
	// +optional
	SpaceTemplateRef *VirtualClusterTemplateSpaceTemplateRef `json:"spaceTemplateRef,omitempty"`
}

VirtualClusterTemplateSpec holds the specification

func (*VirtualClusterTemplateSpec) DeepCopy

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

func (*VirtualClusterTemplateSpec) DeepCopyInto

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

func (VirtualClusterTemplateSpec) OpenAPIModelName added in v4.7.0

func (in VirtualClusterTemplateSpec) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type VirtualClusterTemplateStatus

type VirtualClusterTemplateStatus struct {
}

VirtualClusterTemplateStatus holds the status

func (*VirtualClusterTemplateStatus) DeepCopy

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

func (*VirtualClusterTemplateStatus) DeepCopyInto

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

func (VirtualClusterTemplateStatus) OpenAPIModelName added in v4.7.0

func (in VirtualClusterTemplateStatus) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

type VirtualClusterTemplateVersion

type VirtualClusterTemplateVersion struct {
	// Template holds the space template
	// +optional
	Template VirtualClusterTemplateDefinition `json:"template,omitempty"`

	// Parameters define additional app parameters that will set helm values
	// +optional
	Parameters []AppParameter `json:"parameters,omitempty"`

	// Version is the version. Needs to be in X.X.X format.
	// +optional
	Version string `json:"version,omitempty"`
}

func (*VirtualClusterTemplateVersion) DeepCopy

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

func (*VirtualClusterTemplateVersion) DeepCopyInto

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

func (*VirtualClusterTemplateVersion) GetVersion

func (a *VirtualClusterTemplateVersion) GetVersion() string

func (VirtualClusterTemplateVersion) OpenAPIModelName added in v4.7.0

func (in VirtualClusterTemplateVersion) OpenAPIModelName() string

OpenAPIModelName returns the OpenAPI model name for this type.

Jump to

Keyboard shortcuts

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