Documentation
¶
Overview ¶
+k8s:openapi-gen=true +k8s:deepcopy-gen=package +k8s:defaulter-gen=TypeMeta +groupName=storage.loft.sh
Package v1alpha1 contains API Schema definitions for the config v1alpha1 API group +kubebuilder:object:generate=true +groupName=storage.loft.sh
Index ¶
- Constants
- Variables
- func RegisterDefaults(scheme *runtime.Scheme) error
- func Resource(resource string) schema.GroupResource
- type Access
- type AccessAccessor
- type AccessKey
- type AccessKeyList
- type AccessKeyOIDC
- type AccessKeyOIDCProvider
- type AccessKeyScope
- type AccessKeyScopeCluster
- type AccessKeyScopeProject
- type AccessKeyScopeRole
- type AccessKeyScopeRoleName
- type AccessKeyScopeRule
- type AccessKeyScopeSpace
- type AccessKeyScopeVirtualCluster
- type AccessKeySpec
- type AccessKeyStatus
- type AccessKeyType
- type AccessKeyVirtualCluster
- type AllowedCluster
- type AllowedClusterAccountTemplate
- type AllowedRunner
- type AllowedTemplate
- type App
- type AppConfig
- type AppList
- type AppParameter
- type AppReference
- type AppSpec
- type AppStatus
- type AppTask
- type AppVersion
- type ArgoIntegrationSpec
- type ArgoProjectPolicyRule
- type ArgoProjectRole
- type ArgoProjectSpec
- type ArgoProjectSpecMetadata
- type ArgoSSOSpec
- type BCMNodeTypeSpec
- type Chart
- type ChartStatus
- type Cluster
- func (in *Cluster) DeepCopy() *Cluster
- func (in *Cluster) DeepCopyInto(out *Cluster)
- func (in *Cluster) DeepCopyObject() runtime.Object
- func (a *Cluster) GetAccess() []Access
- func (a *Cluster) GetConditions() agentstoragev1.Conditions
- func (a *Cluster) GetOwner() *UserOrTeam
- func (a *Cluster) SetAccess(access []Access)
- func (a *Cluster) SetConditions(conditions agentstoragev1.Conditions)
- func (a *Cluster) SetOwner(userOrTeam *UserOrTeam)
- type ClusterAPINodeTypeSpec
- type ClusterAPIObjects
- type ClusterAccess
- func (in *ClusterAccess) DeepCopy() *ClusterAccess
- func (in *ClusterAccess) DeepCopyInto(out *ClusterAccess)
- func (in *ClusterAccess) DeepCopyObject() runtime.Object
- func (a *ClusterAccess) GetAccess() []Access
- func (a *ClusterAccess) GetOwner() *UserOrTeam
- func (a *ClusterAccess) SetAccess(access []Access)
- func (a *ClusterAccess) SetOwner(userOrTeam *UserOrTeam)
- type ClusterAccessList
- type ClusterAccessSpec
- type ClusterAccessStatus
- type ClusterList
- type ClusterRef
- type ClusterRoleRef
- type ClusterRoleTemplate
- func (in *ClusterRoleTemplate) DeepCopy() *ClusterRoleTemplate
- func (in *ClusterRoleTemplate) DeepCopyInto(out *ClusterRoleTemplate)
- func (in *ClusterRoleTemplate) DeepCopyObject() runtime.Object
- func (a *ClusterRoleTemplate) GetAccess() []Access
- func (a *ClusterRoleTemplate) GetOwner() *UserOrTeam
- func (a *ClusterRoleTemplate) SetAccess(access []Access)
- func (a *ClusterRoleTemplate) SetOwner(userOrTeam *UserOrTeam)
- type ClusterRoleTemplateList
- type ClusterRoleTemplateSpec
- type ClusterRoleTemplateStatus
- type ClusterRoleTemplateTemplate
- type ClusterSpec
- type ClusterStatus
- type ClusterStatusPhase
- type EntityInfo
- type GroupResources
- type HelmChart
- type HelmChartRepository
- type HelmConfiguration
- type HelmTask
- type HelmTaskRelease
- type HelmTaskType
- type ImportVirtualClustersSpec
- type InstanceAccess
- type InstanceAccessRule
- type InstanceDeployedAppPhase
- type InstanceDeployedAppStatus
- type InstancePhase
- type KindSecretRef
- type KubeVirtNodeTypeSpec
- type LocalClusterAccessSpec
- type LocalClusterAccessTemplate
- type LocalClusterRoleTemplate
- type LocalClusterRoleTemplateSpec
- type ManagedNodeTypeObjectMeta
- type Member
- type Metrics
- type NamedNodeTypeSpec
- type NamespacePattern
- type NamespacedRef
- type NetworkPeer
- type NetworkPeerList
- type NetworkPeerSpec
- type NetworkPeerStatus
- type NodeClaim
- type NodeClaimList
- type NodeClaimPhase
- type NodeClaimSpec
- type NodeClaimStatus
- type NodeEnvironment
- func (in *NodeEnvironment) DeepCopy() *NodeEnvironment
- func (in *NodeEnvironment) DeepCopyInto(out *NodeEnvironment)
- func (in *NodeEnvironment) DeepCopyObject() runtime.Object
- func (a *NodeEnvironment) GetConditions() agentstoragev1.Conditions
- func (a *NodeEnvironment) SetConditions(conditions agentstoragev1.Conditions)
- type NodeEnvironmentList
- type NodeEnvironmentPhase
- type NodeEnvironmentSpec
- type NodeEnvironmentStatus
- type NodeProvider
- func (in *NodeProvider) DeepCopy() *NodeProvider
- func (in *NodeProvider) DeepCopyInto(out *NodeProvider)
- func (in *NodeProvider) DeepCopyObject() runtime.Object
- func (a *NodeProvider) GetConditions() agentstoragev1.Conditions
- func (a *NodeProvider) SetConditions(conditions agentstoragev1.Conditions)
- type NodeProviderBCM
- type NodeProviderClusterAPI
- type NodeProviderClusterRef
- type NodeProviderKubeVirt
- type NodeProviderList
- type NodeProviderPhase
- type NodeProviderSpec
- type NodeProviderStatus
- type NodeProviderTerraform
- type NodeType
- type NodeTypeCapacity
- type NodeTypeList
- type NodeTypeOverhead
- type NodeTypePhase
- type NodeTypeSpec
- type NodeTypeStatus
- type ObjectsStatus
- type OpenCost
- type PodSelector
- type Project
- func (in *Project) DeepCopy() *Project
- func (in *Project) DeepCopyInto(out *Project)
- func (in *Project) DeepCopyObject() runtime.Object
- func (a *Project) GetAccess() []Access
- func (a *Project) GetConditions() agentstoragev1.Conditions
- func (a *Project) GetOwner() *UserOrTeam
- func (a *Project) SetAccess(access []Access)
- func (a *Project) SetConditions(conditions agentstoragev1.Conditions)
- func (a *Project) SetOwner(userOrTeam *UserOrTeam)
- type ProjectList
- type ProjectSpec
- type ProjectStatus
- type QuotaStatus
- type QuotaStatusProject
- type QuotaStatusProjectCluster
- type QuotaStatusUser
- type QuotaStatusUserUsed
- type Quotas
- type RancherIntegrationSpec
- type RancherProjectRef
- type RecommendedApp
- type RequestTarget
- type RequirePreset
- type RequireTemplate
- type SSOIdentity
- type SecretRef
- type SharedSecret
- func (in *SharedSecret) DeepCopy() *SharedSecret
- func (in *SharedSecret) DeepCopyInto(out *SharedSecret)
- func (in *SharedSecret) DeepCopyObject() runtime.Object
- func (a *SharedSecret) GetAccess() []Access
- func (a *SharedSecret) GetConditions() agentstoragev1.Conditions
- func (a *SharedSecret) GetOwner() *UserOrTeam
- func (a *SharedSecret) SetAccess(access []Access)
- func (a *SharedSecret) SetConditions(conditions agentstoragev1.Conditions)
- func (a *SharedSecret) SetOwner(userOrTeam *UserOrTeam)
- type SharedSecretList
- type SharedSecretSpec
- type SharedSecretStatus
- type SpaceInstance
- func (in *SpaceInstance) DeepCopy() *SpaceInstance
- func (in *SpaceInstance) DeepCopyInto(out *SpaceInstance)
- func (in *SpaceInstance) DeepCopyObject() runtime.Object
- func (a *SpaceInstance) GetAccess() []Access
- func (a *SpaceInstance) GetConditions() agentstoragev1.Conditions
- func (a *SpaceInstance) GetOwner() *UserOrTeam
- func (a *SpaceInstance) SetAccess(access []Access)
- func (a *SpaceInstance) SetConditions(conditions agentstoragev1.Conditions)
- func (a *SpaceInstance) SetOwner(userOrTeam *UserOrTeam)
- type SpaceInstanceList
- type SpaceInstanceSpec
- type SpaceInstanceStatus
- type SpaceInstanceTemplateDefinition
- type SpaceTemplate
- func (in *SpaceTemplate) DeepCopy() *SpaceTemplate
- func (in *SpaceTemplate) DeepCopyInto(out *SpaceTemplate)
- func (in *SpaceTemplate) DeepCopyObject() runtime.Object
- func (a *SpaceTemplate) GetAccess() []Access
- func (a *SpaceTemplate) GetOwner() *UserOrTeam
- func (a *SpaceTemplate) GetVersions() []VersionAccessor
- func (a *SpaceTemplate) SetAccess(access []Access)
- func (a *SpaceTemplate) SetOwner(userOrTeam *UserOrTeam)
- type SpaceTemplateDefinition
- type SpaceTemplateList
- type SpaceTemplateSpec
- type SpaceTemplateStatus
- type SpaceTemplateVersion
- type Storage
- type StreamContainer
- type SyncMembersSpec
- type Target
- type TargetCluster
- type TargetInstance
- type TargetVirtualCluster
- type Task
- func (in *Task) DeepCopy() *Task
- func (in *Task) DeepCopyInto(out *Task)
- func (in *Task) DeepCopyObject() runtime.Object
- func (a *Task) GetAccess() []Access
- func (a *Task) GetConditions() agentstoragev1.Conditions
- func (a *Task) GetOwner() *UserOrTeam
- func (a *Task) SetAccess(access []Access)
- func (a *Task) SetConditions(conditions agentstoragev1.Conditions)
- func (a *Task) SetOwner(userOrTeam *UserOrTeam)
- type TaskDefinition
- type TaskList
- type TaskSpec
- type TaskStatus
- type Team
- type TeamList
- type TeamSpec
- type TeamStatus
- type TemplateHelmChart
- type TemplateMetadata
- type TemplateRef
- type TerraformNodeEnvironmentTemplate
- type TerraformNodeTypeSpec
- type TerraformTemplate
- type TerraformTemplateSourceGit
- type User
- type UserList
- type UserOrTeam
- type UserOrTeamEntity
- type UserSpec
- type UserStatus
- type VaultAuthSpec
- type VaultIntegrationSpec
- type VersionAccessor
- type VersionsAccessor
- type VirtualClusterAccessPoint
- type VirtualClusterAccessPointIngressSpec
- type VirtualClusterClusterRef
- type VirtualClusterCommonSpec
- type VirtualClusterHelmChart
- type VirtualClusterHelmRelease
- type VirtualClusterHelmReleaseStatus
- type VirtualClusterInstance
- func (in *VirtualClusterInstance) DeepCopy() *VirtualClusterInstance
- func (in *VirtualClusterInstance) DeepCopyInto(out *VirtualClusterInstance)
- func (in *VirtualClusterInstance) DeepCopyObject() runtime.Object
- func (a *VirtualClusterInstance) GetAccess() []Access
- func (a *VirtualClusterInstance) GetConditions() agentstoragev1.Conditions
- func (a *VirtualClusterInstance) GetOwner() *UserOrTeam
- func (a *VirtualClusterInstance) SetAccess(access []Access)
- func (a *VirtualClusterInstance) SetConditions(conditions agentstoragev1.Conditions)
- func (a *VirtualClusterInstance) SetOwner(userOrTeam *UserOrTeam)
- type VirtualClusterInstanceList
- type VirtualClusterInstanceSpec
- type VirtualClusterInstanceStatus
- type VirtualClusterInstanceTemplateDefinition
- type VirtualClusterPhase
- type VirtualClusterProSpec
- type VirtualClusterSpaceTemplateDefinition
- type VirtualClusterStatus
- type VirtualClusterTemplate
- func (in *VirtualClusterTemplate) DeepCopy() *VirtualClusterTemplate
- func (in *VirtualClusterTemplate) DeepCopyInto(out *VirtualClusterTemplate)
- func (in *VirtualClusterTemplate) DeepCopyObject() runtime.Object
- func (a *VirtualClusterTemplate) GetAccess() []Access
- func (a *VirtualClusterTemplate) GetOwner() *UserOrTeam
- func (a *VirtualClusterTemplate) GetVersions() []VersionAccessor
- func (a *VirtualClusterTemplate) SetAccess(access []Access)
- func (a *VirtualClusterTemplate) SetOwner(userOrTeam *UserOrTeam)
- type VirtualClusterTemplateDefinition
- type VirtualClusterTemplateList
- type VirtualClusterTemplateSpaceTemplateRef
- type VirtualClusterTemplateSpec
- type VirtualClusterTemplateStatus
- type VirtualClusterTemplateVersion
Constants ¶
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" )
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" )
const ( // NodeEnvironment conditions NodeEnvironmentConditionTypeInfrastructureProvisioned = "Provisioned" NodeEnvironmentConditionTypeInfrastructureSynced = "Synced" NodeEnvironmentConditionTypeKubernetesProvisioned = "KubernetesProvisioned" NodeEnvironmentConditionTypeKubernetesSynced = "KubernetesSynced" )
const ( NodeProviderTypeBCM string = "bcm" NodeProviderTypeKubeVirt string = "kubeVirt" NodeProviderTypeTerraform string = "terraform" NodeProviderTypeClusterAPI string = "clusterAPI" // NodeProviderConditionTypeInitialized is the condition that indicates if the node provider is initialized. NodeProviderConditionTypeInitialized = "Initialized" )
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" )
const ( NodeTypePropertyKey = "vcluster.com/node-type" // NodeTypeConditionTypeSynced is the condition that indicates if the node type is synced with provider. NodeTypeConditionTypeSynced = "Synced" NodeTypeConditionHasCapacity = "HasCapacity" )
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" )
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" )
const ( RancherIntegrationSynced agentstoragev1.ConditionType = "RancherIntegrationSynced" RancherLastAppliedHashAnnotation = "loft.sh/rancher-integration-last-applied-hash" )
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" InstanceVirtualClusterAppsAndObjectsSynced agentstoragev1.ConditionType = "VirtualClusterAppsAndObjectsSynced" InstanceVirtualClusterDBConnectorSynced agentstoragev1.ConditionType = "DBConnectorSynced" InstanceVirtualClusterDBIdentityProviderSynced agentstoragev1.ConditionType = "DBIdentityProviderSynced" )
const ( // TaskStartedCondition defines the task started condition type that summarizes the operational state of the virtual cluster API object. TaskStartedCondition agentstoragev1.ConditionType = "TaskStarted" )
Common ConditionTypes used by Cluster API objects.
Variables ¶
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 )
var ( SpaceTemplateKind = "SpaceTemplate" VirtualClusterTemplateKind = "VirtualClusterTemplate" )
var ( InstanceDeployedAppDeployed = "Deployed" InstanceDeployedAppFailed = "Failed" )
var ( NodeClaimConditions = []agentstoragev1.ConditionType{ NodeClaimConditionTypeScheduled, NodeClaimConditionTypeProvisioned, NodeClaimConditionTypeJoined, } )
var ( NodeEnvironmentConditions = []agentstoragev1.ConditionType{ NodeEnvironmentConditionTypeInfrastructureProvisioned, NodeEnvironmentConditionTypeInfrastructureSynced, NodeEnvironmentConditionTypeKubernetesProvisioned, NodeEnvironmentConditionTypeKubernetesSynced, } )
var ( NodeProviderConditions = []agentstoragev1.ConditionType{ NodeProviderConditionTypeInitialized, } )
var ( NodeTypeConditions = []agentstoragev1.ConditionType{ NodeTypeConditionTypeSynced, NodeTypeConditionHasCapacity, } )
var ( SpaceConditions = []agentstoragev1.ConditionType{ InstanceScheduled, InstanceTemplateResolved, InstanceSpaceSynced, InstanceSpaceReady, } )
Functions ¶
func RegisterDefaults ¶
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
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Access.
func (*Access) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccessKey.
func (*AccessKey) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AccessKey) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
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.
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.
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 ¶
func (in *AccessKeyOIDCProvider) DeepCopy() *AccessKeyOIDCProvider
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.
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 virtual 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 (a AccessKeyScope) GetRole(name AccessKeyScopeRoleName) AccessKeyScopeRole
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 ¶
func (in *AccessKeyScopeCluster) DeepCopy() *AccessKeyScopeCluster
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.
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 ¶
func (in *AccessKeyScopeProject) DeepCopy() *AccessKeyScopeProject
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.
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 virtual 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.
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" AccessKeyScopeRoleRunner AccessKeyScopeRoleName = "runner" AccessKeyScopeRoleWorkspace AccessKeyScopeRoleName = "workspace" )
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 virtual 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.
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.
type AccessKeyScopeVirtualCluster ¶
type AccessKeyScopeVirtualCluster struct {
// Project is the name of the project.
// +optional
Project string `json:"project,omitempty"`
// VirtualCluster is the name of the virtual cluster to access. You can specify * to select all virtual clusters.
// +optional
VirtualCluster string `json:"virtualCluster,omitempty"`
}
func (*AccessKeyScopeVirtualCluster) DeepCopy ¶
func (in *AccessKeyScopeVirtualCluster) DeepCopy() *AccessKeyScopeVirtualCluster
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccessKeyScopeVirtualCluster.
func (*AccessKeyScopeVirtualCluster) DeepCopyInto ¶
func (in *AccessKeyScopeVirtualCluster) DeepCopyInto(out *AccessKeyScopeVirtualCluster)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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 life for this access key
// +optional
TTL int64 `json:"ttl,omitempty"`
// If this is specified, the time to life 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.
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.
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 virtual cluster. Empty means all virtual clusters.
// +optional
Name string `json:"name,omitempty"`
// Namespace of the virtual cluster. Empty means all namespaces.
// +optional
Namespace string `json:"namespace,omitempty"`
}
func (*AccessKeyVirtualCluster) DeepCopy ¶
func (in *AccessKeyVirtualCluster) DeepCopy() *AccessKeyVirtualCluster
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.
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.
type AllowedClusterAccountTemplate ¶
type AllowedClusterAccountTemplate struct {
// Name is the name of a cluster account template
// +optional
Name string `json:"name,omitempty"`
}
func (*AllowedClusterAccountTemplate) DeepCopy ¶
func (in *AllowedClusterAccountTemplate) DeepCopy() *AllowedClusterAccountTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AllowedClusterAccountTemplate.
func (*AllowedClusterAccountTemplate) DeepCopyInto ¶
func (in *AllowedClusterAccountTemplate) DeepCopyInto(out *AllowedClusterAccountTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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.
type AllowedTemplate ¶
type AllowedTemplate struct {
// Kind of the template that is allowed. Currently only supports DevPodWorkspaceTemplate, VirtualClusterTemplate & SpaceTemplate
// +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.
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new App.
func (*App) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*App) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*App) GetOwner ¶
func (a *App) GetOwner() *UserOrTeam
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 clusterv1.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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppConfig.
func (*AppConfig) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppList.
func (*AppList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AppList) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
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.
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.
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppSpec.
func (*AppSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AppStatus ¶
type AppStatus struct {
}
AppStatus holds the status
func (*AppStatus) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppStatus.
func (*AppStatus) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AppTask ¶
type AppTask struct {
// Type is the task type. Defaults to Upgrade
// +optional
Type HelmTaskType `json:"type,omitempty"`
// RollbackRevision is the revision to rollback to
// +optional
RollbackRevision string `json:"rollbackRevision,omitempty"`
// AppReference is the reference to the app to deploy
// +optional
AppReference AppReference `json:"appReference,omitempty"`
}
func (*AppTask) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppTask.
func (*AppTask) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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.
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 *virtual cluster* (instance) that ArgoCD is
// deployed into. If provided, Cluster will be ignored and Loft will assume that ArgoCD is
// running in the specified virtual 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.
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.
// +optional
Application string `json:"application,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 ¶
func (in *ArgoProjectPolicyRule) DeepCopy() *ArgoProjectPolicyRule
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.
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.
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"`
// 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"`
}
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.
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 ¶
func (in *ArgoProjectSpecMetadata) DeepCopy() *ArgoProjectSpecMetadata
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.
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.
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.
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 password that is required for this repository
// +optional
Password string `json:"password,omitempty"`
}
Chart describes a chart
func (*Chart) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Chart.
func (*Chart) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ChartStatus ¶
type ChartStatus struct {
// Name of the chart that was applied
// +optional
Name string `json:"name,omitempty"`
// Namespace of the chart that was applied
// +optional
Namespace string `json:"namespace,omitempty"`
// LastAppliedChartConfigHash is the last applied configuration
// +optional
LastAppliedChartConfigHash string `json:"lastAppliedChartConfigHash,omitempty"`
}
func (*ChartStatus) DeepCopy ¶
func (in *ChartStatus) DeepCopy() *ChartStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ChartStatus.
func (*ChartStatus) DeepCopyInto ¶
func (in *ChartStatus) DeepCopyInto(out *ChartStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type 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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Cluster.
func (*Cluster) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Cluster) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Cluster) GetConditions ¶ added in v4.2.0
func (a *Cluster) GetConditions() agentstoragev1.Conditions
func (*Cluster) GetOwner ¶
func (a *Cluster) GetOwner() *UserOrTeam
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
func (in *ClusterAPINodeTypeSpec) DeepCopy() *ClusterAPINodeTypeSpec
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.
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.
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) 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.
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.
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.
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.
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.
type ClusterRoleRef ¶
type ClusterRoleRef struct {
// Name is the cluster role to assign
// +optional
Name string `json:"name,omitempty"`
}
func (*ClusterRoleRef) DeepCopy ¶
func (in *ClusterRoleRef) DeepCopy() *ClusterRoleRef
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterRoleRef.
func (*ClusterRoleRef) DeepCopyInto ¶
func (in *ClusterRoleRef) DeepCopyInto(out *ClusterRoleRef)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type 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) 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 ¶
func (in *ClusterRoleTemplateList) DeepCopy() *ClusterRoleTemplateList
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.
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 ¶
func (in *ClusterRoleTemplateSpec) DeepCopy() *ClusterRoleTemplateSpec
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.
type ClusterRoleTemplateStatus ¶
type ClusterRoleTemplateStatus struct {
}
ClusterRoleTemplateStatus holds the status of a user access
func (*ClusterRoleTemplateStatus) DeepCopy ¶
func (in *ClusterRoleTemplateStatus) DeepCopy() *ClusterRoleTemplateStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterRoleTemplateStatus.
func (*ClusterRoleTemplateStatus) DeepCopyInto ¶
func (in *ClusterRoleTemplateStatus) DeepCopyInto(out *ClusterRoleTemplateStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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 ¶
func (in *ClusterRoleTemplateTemplate) DeepCopy() *ClusterRoleTemplateTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterRoleTemplateTemplate.
func (*ClusterRoleTemplateTemplate) DeepCopyInto ¶
func (in *ClusterRoleTemplateTemplate) DeepCopyInto(out *ClusterRoleTemplateTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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 virtual 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"`
}
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.
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.
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 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.
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.
type HelmChart ¶
type HelmChart struct {
// Metadata provides information about a chart
// +optional
Metadata clusterv1.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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HelmChart.
func (*HelmChart) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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.
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.
type HelmTask ¶
type HelmTask struct {
// Release holds the release information
// +optional
Release HelmTaskRelease `json:"release,omitempty"`
// Type is the task type. Defaults to Upgrade
// +optional
Type HelmTaskType `json:"type,omitempty"`
// RollbackRevision is the revision to rollback to
// +optional
RollbackRevision string `json:"rollbackRevision,omitempty"`
}
func (*HelmTask) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HelmTask.
func (*HelmTask) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HelmTaskRelease ¶
type HelmTaskRelease struct {
// Name is the name of the release
Name string `json:"name,omitempty"`
// Namespace of the release, if empty will use the target namespace
// +optional
Namespace string `json:"namespace,omitempty"`
// Config is the helm config to use to deploy the release
// +optional
Config clusterv1.HelmReleaseConfig `json:"config,omitempty"`
// Labels are additional labels for the helm release.
// +optional
Labels map[string]string `json:"labels,omitempty"`
}
func (*HelmTaskRelease) DeepCopy ¶
func (in *HelmTaskRelease) DeepCopy() *HelmTaskRelease
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HelmTaskRelease.
func (*HelmTaskRelease) DeepCopyInto ¶
func (in *HelmTaskRelease) DeepCopyInto(out *HelmTaskRelease)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HelmTaskType ¶
type HelmTaskType string
HelmTaskType describes the type of a task
const ( HelmTaskTypeInstall HelmTaskType = "Install" HelmTaskTypeUpgrade HelmTaskType = "Upgrade" HelmTaskTypeDelete HelmTaskType = "Delete" HelmTaskTypeRollback HelmTaskType = "Rollback" )
These are the valid admin account types
type ImportVirtualClustersSpec ¶
type ImportVirtualClustersSpec struct {
// RoleMapping indicates an optional role mapping from a rancher project role to a rancher cluster role. Map to an empty role to exclude users and groups with that role from
// being synced.
// +optional
RoleMapping map[string]string `json:"roleMapping,omitempty"`
}
func (*ImportVirtualClustersSpec) DeepCopy ¶
func (in *ImportVirtualClustersSpec) DeepCopy() *ImportVirtualClustersSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImportVirtualClustersSpec.
func (*ImportVirtualClustersSpec) DeepCopyInto ¶
func (in *ImportVirtualClustersSpec) DeepCopyInto(out *ImportVirtualClustersSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type InstanceAccess ¶
type InstanceAccess struct {
// Specifies which cluster role should get applied to users or teams that do not
// match a rule below.
// +optional
DefaultClusterRole string `json:"defaultClusterRole,omitempty"`
// Rules defines which users and teams should have which access to the virtual
// cluster. If no rule matches an authenticated incoming user, the user will get cluster admin
// access.
// +optional
Rules []InstanceAccessRule `json:"rules,omitempty"`
}
func (*InstanceAccess) DeepCopy ¶
func (in *InstanceAccess) DeepCopy() *InstanceAccess
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceAccess.
func (*InstanceAccess) DeepCopyInto ¶
func (in *InstanceAccess) DeepCopyInto(out *InstanceAccess)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type InstanceAccessRule ¶
type InstanceAccessRule struct {
// Users this rule matches. * means all users.
// +optional
Users []string `json:"users,omitempty"`
// Teams that this rule matches.
// +optional
Teams []string `json:"teams,omitempty"`
// ClusterRole is the cluster role that should be assigned to the
// +optional
ClusterRole string `json:"clusterRole,omitempty"`
}
func (*InstanceAccessRule) DeepCopy ¶
func (in *InstanceAccessRule) DeepCopy() *InstanceAccessRule
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceAccessRule.
func (*InstanceAccessRule) DeepCopyInto ¶
func (in *InstanceAccessRule) DeepCopyInto(out *InstanceAccessRule)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type 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 virtual 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 ¶
func (in *InstanceDeployedAppStatus) DeepCopy() *InstanceDeployedAppStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceDeployedAppStatus.
func (*InstanceDeployedAppStatus) DeepCopyInto ¶
func (in *InstanceDeployedAppStatus) DeepCopyInto(out *InstanceDeployedAppStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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.
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
func (in *KubeVirtNodeTypeSpec) DeepCopy() *KubeVirtNodeTypeSpec
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.
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 ¶
func (in *LocalClusterAccessSpec) DeepCopy() *LocalClusterAccessSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LocalClusterAccessSpec.
func (*LocalClusterAccessSpec) DeepCopyInto ¶
func (in *LocalClusterAccessSpec) DeepCopyInto(out *LocalClusterAccessSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type 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 ¶
func (in *LocalClusterAccessTemplate) DeepCopy() *LocalClusterAccessTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LocalClusterAccessTemplate.
func (*LocalClusterAccessTemplate) DeepCopyInto ¶
func (in *LocalClusterAccessTemplate) DeepCopyInto(out *LocalClusterAccessTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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 ¶
func (in *LocalClusterRoleTemplate) DeepCopy() *LocalClusterRoleTemplate
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.
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 ¶
func (in *LocalClusterRoleTemplateSpec) DeepCopy() *LocalClusterRoleTemplateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LocalClusterRoleTemplateSpec.
func (*LocalClusterRoleTemplateSpec) DeepCopyInto ¶
func (in *LocalClusterRoleTemplateSpec) DeepCopyInto(out *LocalClusterRoleTemplateSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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
func (in *ManagedNodeTypeObjectMeta) DeepCopy() *ManagedNodeTypeObjectMeta
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedNodeTypeObjectMeta.
func (*ManagedNodeTypeObjectMeta) DeepCopyInto ¶ added in v4.4.0
func (in *ManagedNodeTypeObjectMeta) DeepCopyInto(out *ManagedNodeTypeObjectMeta)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Member.
func (*Member) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Metrics.
func (*Metrics) DeepCopyInto ¶ added in v4.2.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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.
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 virtual 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.
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.
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.
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.
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.
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.
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
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeClaim.
func (*NodeClaim) DeepCopyInto ¶ added in v4.4.0
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
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*NodeClaim) GetConditions ¶ added in v4.4.0
func (a *NodeClaim) GetConditions() agentstoragev1.Conditions
func (*NodeClaim) SetConditions ¶ added in v4.4.0
func (a *NodeClaim) SetConditions(conditions agentstoragev1.Conditions)
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.
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 NodeClaimSpec ¶ added in v4.4.0
type NodeClaimSpec struct {
// 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"`
// 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"`
// Properties are extra properties for the NodeClaim.
// +optional
Properties map[string]string `json:"properties"`
// 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"`
// VClusterRef references source vCluster. This is required.
VClusterRef string `json:"vClusterRef"`
// 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"`
}
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.
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"`
}
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.
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) GetConditions ¶ added in v4.4.0
func (a *NodeEnvironment) GetConditions() agentstoragev1.Conditions
func (*NodeEnvironment) SetConditions ¶ added in v4.4.0
func (a *NodeEnvironment) SetConditions(conditions agentstoragev1.Conditions)
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.
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 {
// 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.
ProviderRef string `json:"providerRef"`
// VClusterRef references source vCluster. This is required.
VClusterRef string `json:"vClusterRef"`
// 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.
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
func (in *NodeEnvironmentStatus) DeepCopy() *NodeEnvironmentStatus
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.
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) 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 a 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.
type NodeProviderClusterAPI ¶ added in v4.5.0
type NodeProviderClusterAPI struct {
ClusterAPIObjects `json:",inline"`
// ClusterRef is a reference to connected host 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
func (in *NodeProviderClusterAPI) DeepCopy() *NodeProviderClusterAPI
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.
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
func (in *NodeProviderClusterRef) DeepCopy() *NodeProviderClusterRef
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.
type NodeProviderKubeVirt ¶ added in v4.4.0
type NodeProviderKubeVirt struct {
// ClusterRef is a reference to connected host cluster in which KubeVirt operator is running
ClusterRef *NodeProviderClusterRef `json:"clusterRef,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
func (in *NodeProviderKubeVirt) DeepCopy() *NodeProviderKubeVirt
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.
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.
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"`
// 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.
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.
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
func (in *NodeProviderTerraform) DeepCopy() *NodeProviderTerraform
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.
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
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeType.
func (*NodeType) DeepCopyInto ¶ added in v4.4.0
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
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) 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.
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.
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.
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.
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.
type ObjectsStatus ¶
type ObjectsStatus struct {
// LastAppliedObjects holds the status for the objects that were applied
// +optional
LastAppliedObjects string `json:"lastAppliedObjects,omitempty"`
// Charts are the charts that were applied
// +optional
Charts []ChartStatus `json:"charts,omitempty"`
// Apps are the apps that were applied
// +optional
Apps []AppReference `json:"apps,omitempty"`
}
func (*ObjectsStatus) DeepCopy ¶
func (in *ObjectsStatus) DeepCopy() *ObjectsStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectsStatus.
func (*ObjectsStatus) DeepCopyInto ¶
func (in *ObjectsStatus) DeepCopyInto(out *ObjectsStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type 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
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenCost.
func (*OpenCost) DeepCopyInto ¶ added in v4.2.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PodSelector ¶
type PodSelector struct {
// A label selector to select the virtual cluster pod to route
// incoming requests to.
// +optional
Selector metav1.LabelSelector `json:"podSelector,omitempty"`
// The port of the pod to route to
// +optional
Port *int `json:"port,omitempty"`
}
func (*PodSelector) DeepCopy ¶
func (in *PodSelector) DeepCopy() *PodSelector
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodSelector.
func (*PodSelector) DeepCopyInto ¶
func (in *PodSelector) DeepCopyInto(out *PodSelector)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type 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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Project.
func (*Project) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Project) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Project) GetConditions ¶
func (a *Project) GetConditions() agentstoragev1.Conditions
func (*Project) GetOwner ¶
func (a *Project) GetOwner() *UserOrTeam
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.
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"`
// 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"`
// NamespacePattern specifies template patterns to use for creating each space or virtual 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"`
// RancherIntegration holds information about Rancher Integration
// +optional
RancherIntegration *RancherIntegrationSpec `json:"rancher,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.
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.
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.
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.
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 ¶
func (in *QuotaStatusProjectCluster) DeepCopy() *QuotaStatusProjectCluster
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QuotaStatusProjectCluster.
func (*QuotaStatusProjectCluster) DeepCopyInto ¶
func (in *QuotaStatusProjectCluster) DeepCopyInto(out *QuotaStatusProjectCluster)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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.
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.
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Quotas.
func (*Quotas) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RancherIntegrationSpec ¶
type RancherIntegrationSpec struct {
// Enabled indicates if the Rancher Project Integration is enabled for this project.
// +optional
Enabled bool `json:"enabled,omitempty"`
// ProjectRef defines references to rancher project, required for syncMembers and syncVirtualClusters.syncMembers
// +optional
ProjectRef RancherProjectRef `json:"projectRef,omitempty"`
// ImportVirtualClusters defines settings to import virtual clusters to Rancher on creation
// +optional
ImportVirtualClusters ImportVirtualClustersSpec `json:"importVirtualClusters,omitempty"`
// SyncMembers defines settings to sync Rancher project members to the loft project
// +optional
SyncMembers SyncMembersSpec `json:"syncMembers,omitempty"`
}
func (*RancherIntegrationSpec) DeepCopy ¶
func (in *RancherIntegrationSpec) DeepCopy() *RancherIntegrationSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RancherIntegrationSpec.
func (*RancherIntegrationSpec) DeepCopyInto ¶
func (in *RancherIntegrationSpec) DeepCopyInto(out *RancherIntegrationSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RancherProjectRef ¶
type RancherProjectRef struct {
// Cluster defines the Rancher cluster ID
// Needs to be the same id within Loft
Cluster string `json:"cluster,omitempty"`
// Project defines the Rancher project ID
Project string `json:"project,omitempty"`
}
func (*RancherProjectRef) DeepCopy ¶
func (in *RancherProjectRef) DeepCopy() *RancherProjectRef
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RancherProjectRef.
func (*RancherProjectRef) DeepCopyInto ¶
func (in *RancherProjectRef) DeepCopyInto(out *RancherProjectRef)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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 virtual 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.
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.
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.
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretRef.
func (*SecretRef) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SharedSecret ¶
type SharedSecret struct {
}
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) 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 {
}
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.
type SharedSecretSpec ¶
type SharedSecretSpec struct {
// +optional
DisplayName string `json:"displayName,omitempty"`
// +optional
Description string `json:"description,omitempty"`
// +optional
Owner *UserOrTeam `json:"owner,omitempty"`
// 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"`
// 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.
type SharedSecretStatus ¶
type SharedSecretStatus struct {
// +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.
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) 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.
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 virtual
// 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.
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 virtual cluster might be in
// +optional
Conditions agentstoragev1.Conditions `json:"conditions,omitempty"`
// SpaceObjects are the objects that were applied within the virtual 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 virtual cluster instances from project to project; this
// prevents a situation where there are two virtual cluster instances representing the same
// virtual cluster which could cause issues with concurrent reconciliations of the same object.
// Once the virtual cluster instance has been cloned and placed into the new project, this
// (the "old") virtual 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.
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 ¶
func (in *SpaceInstanceTemplateDefinition) DeepCopy() *SpaceInstanceTemplateDefinition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpaceInstanceTemplateDefinition.
func (*SpaceInstanceTemplateDefinition) DeepCopyInto ¶
func (in *SpaceInstanceTemplateDefinition) DeepCopyInto(out *SpaceInstanceTemplateDefinition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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) 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 virtual 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 ¶
func (in *SpaceTemplateDefinition) DeepCopy() *SpaceTemplateDefinition
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.
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.
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.
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.
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 ¶
func (in *SpaceTemplateVersion) DeepCopy() *SpaceTemplateVersion
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
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
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Storage.
func (*Storage) DeepCopyInto ¶ added in v4.2.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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.
type SyncMembersSpec ¶
type SyncMembersSpec struct {
// Enabled indicates whether to sync rancher project members to the loft project.
Enabled bool `json:"enabled,omitempty"`
// RoleMapping indicates an optional role mapping from a rancher role to a loft role. Map to an empty role to exclude users and groups with that role from
// being synced.
// +optional
RoleMapping map[string]string `json:"roleMapping,omitempty"`
}
func (*SyncMembersSpec) DeepCopy ¶
func (in *SyncMembersSpec) DeepCopy() *SyncMembersSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SyncMembersSpec.
func (*SyncMembersSpec) DeepCopyInto ¶
func (in *SyncMembersSpec) DeepCopyInto(out *SyncMembersSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Target ¶
type Target struct {
// SpaceInstance defines a space instance as target
// +optional
SpaceInstance *TargetInstance `json:"spaceInstance,omitempty"`
// VirtualClusterInstance defines a virtual cluster instance as target
// +optional
VirtualClusterInstance *TargetInstance `json:"virtualClusterInstance,omitempty"`
// Cluster defines a connected cluster as target
// +optional
Cluster *TargetCluster `json:"cluster,omitempty"`
}
func (*Target) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Target.
func (*Target) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TargetCluster ¶
type TargetCluster struct {
// Cluster is the cluster where the task should get executed
// +optional
Cluster string `json:"cluster,omitempty"`
// Namespace is the namespace where the task 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.
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.
type TargetVirtualCluster ¶
type TargetVirtualCluster struct {
// Cluster is the cluster where the virtual cluster lies
// +optional
Cluster string `json:"cluster,omitempty"`
// Namespace is the namespace where the virtual cluster is located
// +optional
Namespace string `json:"namespace,omitempty"`
// Name of the virtual cluster
// +optional
Name string `json:"name,omitempty"`
}
func (*TargetVirtualCluster) DeepCopy ¶
func (in *TargetVirtualCluster) DeepCopy() *TargetVirtualCluster
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.
type Task ¶
type Task struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec TaskSpec `json:"spec,omitempty"`
Status TaskStatus `json:"status,omitempty"`
}
+k8s:openapi-gen=true
func (*Task) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Task.
func (*Task) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Task) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Task) GetConditions ¶
func (a *Task) GetConditions() agentstoragev1.Conditions
GetConditions returns the set of conditions for this object.
func (*Task) GetOwner ¶
func (a *Task) GetOwner() *UserOrTeam
func (*Task) SetConditions ¶
func (a *Task) SetConditions(conditions agentstoragev1.Conditions)
SetConditions sets the conditions on this object.
func (*Task) SetOwner ¶
func (a *Task) SetOwner(userOrTeam *UserOrTeam)
type TaskDefinition ¶
type TaskDefinition struct {
// AppTask is an app task
// +optional
AppTask *AppTask `json:"appTask,omitempty"`
// HelmTask executes a helm command
// +optional
HelmTask *HelmTask `json:"helm,omitempty"`
}
func (*TaskDefinition) DeepCopy ¶
func (in *TaskDefinition) DeepCopy() *TaskDefinition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TaskDefinition.
func (*TaskDefinition) DeepCopyInto ¶
func (in *TaskDefinition) DeepCopyInto(out *TaskDefinition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TaskList ¶
type TaskList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Task `json:"items"`
}
TaskList contains a list of Task
func (*TaskList) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TaskList.
func (*TaskList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TaskList) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type TaskSpec ¶
type TaskSpec struct {
// DisplayName is the name that should be displayed in the UI
// +optional
DisplayName string `json:"displayName,omitempty"`
// Access holds the access rights for users and teams
// +optional
Access []Access `json:"access,omitempty"`
// Scope defines the scope of the access key.
// +optional
Scope *AccessKeyScope `json:"scope,omitempty"`
// Owner holds the owner of this object
// +optional
Owner *UserOrTeam `json:"owner,omitempty"`
// Target where this task should get executed
// +optional
Target Target `json:"target,omitempty"`
// Task defines the task to execute
// +optional
Task TaskDefinition `json:"task,omitempty"`
}
func (*TaskSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TaskSpec.
func (*TaskSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TaskStatus ¶
type TaskStatus struct {
// Started determines if the task was started
// +optional
Started bool `json:"started,omitempty"`
// Conditions holds several conditions the virtual cluster might be in
// +optional
Conditions agentstoragev1.Conditions `json:"conditions,omitempty"`
// PodPhase describes the phase this task is in
// +optional
PodPhase corev1.PodPhase `json:"podPhase,omitempty"`
// ObservedGeneration is the latest generation observed by the controller.
// +optional
ObservedGeneration int64 `json:"observedGeneration,omitempty"`
// DEPRECATED: This is not set anymore after migrating to runners
// ContainerState describes the container state of the task
// +optional
ContainerState *corev1.ContainerStatus `json:"containerState,omitempty"`
}
func (*TaskStatus) DeepCopy ¶
func (in *TaskStatus) DeepCopy() *TaskStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TaskStatus.
func (*TaskStatus) DeepCopyInto ¶
func (in *TaskStatus) DeepCopyInto(out *TaskStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Team.
func (*Team) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Team) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Team) GetOwner ¶
func (a *Team) GetOwner() *UserOrTeam
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TeamList.
func (*TeamList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TeamList) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TeamSpec.
func (*TeamSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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.
type TemplateHelmChart ¶
type TemplateHelmChart struct {
clusterv1.Chart `json:",inline"`
// ReleaseName is the preferred release name of the app
// +optional
ReleaseName string `json:"releaseName,omitempty"`
// ReleaseNamespace is the preferred release namespace of the app
// +optional
ReleaseNamespace string `json:"releaseNamespace,omitempty"`
// Values are the values that should get passed to the chart
// +optional
Values string `json:"values,omitempty"`
// Wait determines if Loft should wait during deploy for the app to become ready
// +optional
Wait bool `json:"wait,omitempty"`
// Timeout is the time to wait for any individual Kubernetes operation (like Jobs for hooks) (default 5m0s)
// +optional
Timeout string `json:"timeout,omitempty"`
}
func (*TemplateHelmChart) DeepCopy ¶
func (in *TemplateHelmChart) DeepCopy() *TemplateHelmChart
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TemplateHelmChart.
func (*TemplateHelmChart) DeepCopyInto ¶
func (in *TemplateHelmChart) DeepCopyInto(out *TemplateHelmChart)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type 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.
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.
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
func (in *TerraformNodeEnvironmentTemplate) DeepCopy() *TerraformNodeEnvironmentTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TerraformNodeEnvironmentTemplate.
func (*TerraformNodeEnvironmentTemplate) DeepCopyInto ¶ added in v4.5.0
func (in *TerraformNodeEnvironmentTemplate) DeepCopyInto(out *TerraformNodeEnvironmentTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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
func (in *TerraformNodeTypeSpec) DeepCopy() *TerraformNodeTypeSpec
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.
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.
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
func (in *TerraformTemplateSourceGit) DeepCopy() *TerraformTemplateSourceGit
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TerraformTemplateSourceGit.
func (*TerraformTemplateSourceGit) DeepCopyInto ¶ added in v4.4.0
func (in *TerraformTemplateSourceGit) DeepCopyInto(out *TerraformTemplateSourceGit)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new User.
func (*User) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*User) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*User) GetOwner ¶
func (a *User) GetOwner() *UserOrTeam
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserList.
func (*UserList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*UserList) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
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.
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.
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, an 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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserSpec.
func (*UserSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type UserStatus ¶
type UserStatus struct {
// Teams the user is currently part of
// +optional
Teams []string `json:"teams,omitempty"`
}
UserStatus holds the status of an 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.
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.
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 ¶
func (in *VaultIntegrationSpec) DeepCopy() *VaultIntegrationSpec
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.
type VersionAccessor ¶
type VersionAccessor interface {
GetVersion() string
}
type VersionsAccessor ¶
type VersionsAccessor interface {
GetVersions() []VersionAccessor
}
type VirtualClusterAccessPoint ¶
type VirtualClusterAccessPoint struct {
// Ingress defines virtual cluster access via ingress
// +optional
Ingress VirtualClusterAccessPointIngressSpec `json:"ingress,omitempty"`
}
func (*VirtualClusterAccessPoint) DeepCopy ¶
func (in *VirtualClusterAccessPoint) DeepCopy() *VirtualClusterAccessPoint
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualClusterAccessPoint.
func (*VirtualClusterAccessPoint) DeepCopyInto ¶
func (in *VirtualClusterAccessPoint) DeepCopyInto(out *VirtualClusterAccessPoint)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualClusterAccessPointIngressSpec ¶
type VirtualClusterAccessPointIngressSpec struct {
// Enabled defines if the virtual cluster access point (via ingress) is enabled or not; requires
// the connected cluster to have the `loft.sh/ingress-suffix` annotation set to define the domain
// name suffix used for the ingress.
Enabled bool `json:"enabled,omitempty"`
}
func (*VirtualClusterAccessPointIngressSpec) DeepCopy ¶
func (in *VirtualClusterAccessPointIngressSpec) DeepCopy() *VirtualClusterAccessPointIngressSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualClusterAccessPointIngressSpec.
func (*VirtualClusterAccessPointIngressSpec) DeepCopyInto ¶
func (in *VirtualClusterAccessPointIngressSpec) DeepCopyInto(out *VirtualClusterAccessPointIngressSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualClusterClusterRef ¶
type VirtualClusterClusterRef struct {
ClusterRef `json:",inline"`
// VirtualCluster is the name of the virtual cluster inside the namespace
// +optional
VirtualCluster string `json:"virtualCluster,omitempty"`
}
func (*VirtualClusterClusterRef) DeepCopy ¶
func (in *VirtualClusterClusterRef) DeepCopy() *VirtualClusterClusterRef
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.
type VirtualClusterCommonSpec ¶
type VirtualClusterCommonSpec struct {
// Apps specifies the apps that should get deployed by this template
// +optional
Apps []AppReference `json:"apps,omitempty"`
// Charts are helm charts that should get deployed
// +optional
Charts []TemplateHelmChart `json:"charts,omitempty"`
// Objects are Kubernetes style yamls that should get deployed into the virtual cluster
// +optional
Objects string `json:"objects,omitempty"`
// Access defines the access of users and teams to the virtual cluster.
// +optional
Access *InstanceAccess `json:"access,omitempty"`
// Pro defines the pro settings for the virtual cluster
// +optional
Pro VirtualClusterProSpec `json:"pro,omitempty"`
// HelmRelease is the helm release configuration for the virtual cluster.
// +optional
HelmRelease VirtualClusterHelmRelease `json:"helmRelease,omitempty"`
// AccessPoint defines settings to expose the virtual cluster directly via an ingress rather than
// through the (default) Loft proxy
// +optional
AccessPoint VirtualClusterAccessPoint `json:"accessPoint,omitempty"`
// ForwardToken signals the proxy to pass through the used token to the virtual Kubernetes
// api server and do a TokenReview there.
// +optional
ForwardToken bool `json:"forwardToken,omitempty"`
}
VirtualClusterCommonSpec holds common attributes for virtual clusters and virtual cluster templates
func (*VirtualClusterCommonSpec) DeepCopy ¶
func (in *VirtualClusterCommonSpec) DeepCopy() *VirtualClusterCommonSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualClusterCommonSpec.
func (*VirtualClusterCommonSpec) DeepCopyInto ¶
func (in *VirtualClusterCommonSpec) DeepCopyInto(out *VirtualClusterCommonSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualClusterHelmChart ¶
type VirtualClusterHelmChart struct {
// the name of the helm chart
// +optional
Name string `json:"name,omitempty"`
// the repo of the helm chart
// +optional
Repo string `json:"repo,omitempty"`
// The username that is required for this repository
// +optional
Username string `json:"username,omitempty"`
// The password that is required for this repository
// +optional
Password string `json:"password,omitempty"`
// the version of the helm chart to use
// +optional
Version string `json:"version,omitempty"`
// InsecureSkipTlsVerify skips the TLS verification for the helm chart
// +optional
InsecureSkipTlsVerify bool `json:"insecureSkipTlsVerify,omitempty"`
}
func (*VirtualClusterHelmChart) DeepCopy ¶
func (in *VirtualClusterHelmChart) DeepCopy() *VirtualClusterHelmChart
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualClusterHelmChart.
func (*VirtualClusterHelmChart) DeepCopyInto ¶
func (in *VirtualClusterHelmChart) DeepCopyInto(out *VirtualClusterHelmChart)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualClusterHelmRelease ¶
type VirtualClusterHelmRelease struct {
// infos about what chart to deploy
// +optional
Chart VirtualClusterHelmChart `json:"chart,omitempty"`
// the values for the given chart
// +optional
Values string `json:"values,omitempty"`
}
func (*VirtualClusterHelmRelease) DeepCopy ¶
func (in *VirtualClusterHelmRelease) DeepCopy() *VirtualClusterHelmRelease
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualClusterHelmRelease.
func (*VirtualClusterHelmRelease) DeepCopyInto ¶
func (in *VirtualClusterHelmRelease) DeepCopyInto(out *VirtualClusterHelmRelease)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualClusterHelmReleaseStatus ¶
type VirtualClusterHelmReleaseStatus struct {
// +optional
Phase string `json:"phase,omitempty"`
// +optional
LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"`
// +optional
Reason string `json:"reason,omitempty"`
// +optional
Message string `json:"message,omitempty"`
// the release that was deployed
// +optional
Release VirtualClusterHelmRelease `json:"release,omitempty"`
}
func (*VirtualClusterHelmReleaseStatus) DeepCopy ¶
func (in *VirtualClusterHelmReleaseStatus) DeepCopy() *VirtualClusterHelmReleaseStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualClusterHelmReleaseStatus.
func (*VirtualClusterHelmReleaseStatus) DeepCopyInto ¶
func (in *VirtualClusterHelmReleaseStatus) DeepCopyInto(out *VirtualClusterHelmReleaseStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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 ¶
func (in *VirtualClusterInstance) DeepCopy() *VirtualClusterInstance
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 (a *VirtualClusterInstance) GetConditions() agentstoragev1.Conditions
func (*VirtualClusterInstance) GetOwner ¶
func (a *VirtualClusterInstance) GetOwner() *UserOrTeam
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 ¶
func (in *VirtualClusterInstanceList) DeepCopy() *VirtualClusterInstanceList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualClusterInstanceList.
func (*VirtualClusterInstanceList) DeepCopyInto ¶
func (in *VirtualClusterInstanceList) DeepCopyInto(out *VirtualClusterInstanceList)
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.
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 virtual cluster instance
// +optional
Description string `json:"description,omitempty"`
// Owner holds the owner of this object
// +optional
Owner *UserOrTeam `json:"owner,omitempty"`
// TemplateRef holds the virtual cluster template reference
// +optional
TemplateRef *TemplateRef `json:"templateRef,omitempty"`
// Template is the inline template to use for virtual cluster creation. This is mutually
// exclusive with templateRef.
// +optional
Template *VirtualClusterTemplateDefinition `json:"template,omitempty"`
// ClusterRef is the reference to the connected cluster holding
// this virtual 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 virtual
// cluster.
// +optional
ExtraAccessRules []InstanceAccessRule `json:"extraAccessRules,omitempty"`
// Access to the virtual 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 virtual cluster is managed by the platform agent or externally.
// +optional
External bool `json:"external,omitempty"`
// Standalone specifies if the virtual cluster is standalone and not hosted in another Kubernetes cluster.
// +optional
Standalone bool `json:"standalone,omitempty"`
}
func (*VirtualClusterInstanceSpec) DeepCopy ¶
func (in *VirtualClusterInstanceSpec) DeepCopy() *VirtualClusterInstanceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualClusterInstanceSpec.
func (*VirtualClusterInstanceSpec) DeepCopyInto ¶
func (in *VirtualClusterInstanceSpec) DeepCopyInto(out *VirtualClusterInstanceSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualClusterInstanceStatus ¶
type VirtualClusterInstanceStatus struct {
// Phase describes the current phase the virtual 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 virtual cluster to uniquely identify it.
// +optional
ServiceUID string `json:"serviceUID,omitempty"`
// KubernetesVersion is the Kubernetes version of the virtual 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 virtual cluster might be in
// +optional
Conditions agentstoragev1.Conditions `json:"conditions,omitempty"`
// VirtualClusterObjects are the objects that were applied within the virtual cluster itself
// +optional
VirtualClusterObjects *ObjectsStatus `json:"virtualClusterObjects,omitempty"`
// SpaceObjects are the objects that were applied within the virtual 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 virtual cluster instances from project to project; this
// prevents a situation where there are two virtual cluster instances representing the same
// virtual cluster which could cause issues with concurrent reconciliations of the same object.
// Once the virtual cluster instance has been cloned and placed into the new project, this
// (the "old") virtual cluster instance can safely be deleted.
IgnoreReconciliation bool `json:"ignoreReconciliation,omitempty"`
}
func (*VirtualClusterInstanceStatus) DeepCopy ¶
func (in *VirtualClusterInstanceStatus) DeepCopy() *VirtualClusterInstanceStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualClusterInstanceStatus.
func (*VirtualClusterInstanceStatus) DeepCopyInto ¶
func (in *VirtualClusterInstanceStatus) DeepCopyInto(out *VirtualClusterInstanceStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualClusterInstanceTemplateDefinition ¶
type VirtualClusterInstanceTemplateDefinition struct {
// The virtual cluster instance metadata
// +kubebuilder:pruning:PreserveUnknownFields
// +optional
TemplateMetadata `json:"metadata,omitempty"`
}
VirtualClusterInstanceTemplateDefinition holds the virtual cluster instance template
func (*VirtualClusterInstanceTemplateDefinition) DeepCopy ¶
func (in *VirtualClusterInstanceTemplateDefinition) DeepCopy() *VirtualClusterInstanceTemplateDefinition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualClusterInstanceTemplateDefinition.
func (*VirtualClusterInstanceTemplateDefinition) DeepCopyInto ¶
func (in *VirtualClusterInstanceTemplateDefinition) DeepCopyInto(out *VirtualClusterInstanceTemplateDefinition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualClusterPhase ¶
type VirtualClusterPhase string
VirtualClusterPhase describes the phase of a virtual cluster
const ( VirtualClusterUnknown VirtualClusterPhase = "" VirtualClusterPending VirtualClusterPhase = "Pending" VirtualClusterDeployed VirtualClusterPhase = "Deployed" VirtualClusterFailed VirtualClusterPhase = "Failed" )
These are the valid admin account types
type VirtualClusterProSpec ¶
type VirtualClusterProSpec struct {
// Enabled defines if the virtual cluster is a pro cluster or not
// +optional
Enabled bool `json:"enabled,omitempty"`
}
func (*VirtualClusterProSpec) DeepCopy ¶
func (in *VirtualClusterProSpec) DeepCopy() *VirtualClusterProSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualClusterProSpec.
func (*VirtualClusterProSpec) DeepCopyInto ¶
func (in *VirtualClusterProSpec) DeepCopyInto(out *VirtualClusterProSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type 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 virtual 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 ¶
func (in *VirtualClusterSpaceTemplateDefinition) DeepCopy() *VirtualClusterSpaceTemplateDefinition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualClusterSpaceTemplateDefinition.
func (*VirtualClusterSpaceTemplateDefinition) DeepCopyInto ¶
func (in *VirtualClusterSpaceTemplateDefinition) DeepCopyInto(out *VirtualClusterSpaceTemplateDefinition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualClusterStatus ¶
type VirtualClusterStatus struct {
// Phase describes the current phase the virtual cluster is in
// +optional
Phase VirtualClusterPhase `json:"phase,omitempty"`
// Reason describes the reason in machine readable form why the cluster is in the current
// phase
// +optional
Reason string `json:"reason,omitempty"`
// Message describes the reason in human readable form why the cluster is in the current
// phase
// +optional
Message string `json:"message,omitempty"`
// ControlPlaneReady defines if the virtual cluster control plane is ready.
// +optional
ControlPlaneReady bool `json:"controlPlaneReady,omitempty"`
// Conditions holds several conditions the virtual cluster might be in
// +optional
Conditions 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 virtual cluster itself
// +optional
VirtualClusterObjects *ObjectsStatus `json:"virtualClusterObjects,omitempty"`
// DeployHash saves the latest applied chart hash
// +optional
DeployHash string `json:"deployHash,omitempty"`
// MultiNamespace indicates if this is a multinamespace enabled virtual cluster
MultiNamespace bool `json:"multiNamespace,omitempty"`
// DEPRECATED: do not use anymore
// the status of the helm release that was used to deploy the virtual cluster
// +optional
HelmRelease *VirtualClusterHelmReleaseStatus `json:"helmRelease,omitempty"`
}
VirtualClusterStatus holds the status of a virtual cluster
func (*VirtualClusterStatus) DeepCopy ¶
func (in *VirtualClusterStatus) DeepCopy() *VirtualClusterStatus
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.
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 ¶
func (in *VirtualClusterTemplate) DeepCopy() *VirtualClusterTemplate
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) SetAccess ¶
func (a *VirtualClusterTemplate) SetAccess(access []Access)
func (*VirtualClusterTemplate) SetOwner ¶
func (a *VirtualClusterTemplate) SetOwner(userOrTeam *UserOrTeam)
type VirtualClusterTemplateDefinition ¶
type VirtualClusterTemplateDefinition struct {
// The virtual cluster metadata
// +kubebuilder:pruning:PreserveUnknownFields
// +optional
TemplateMetadata `json:"metadata,omitempty"`
// InstanceTemplate holds the virtual cluster instance template
// +optional
InstanceTemplate VirtualClusterInstanceTemplateDefinition `json:"instanceTemplate,omitempty"`
// VirtualClusterCommonSpec defines virtual cluster spec that is common between the virtual
// cluster templates, and virtual cluster
VirtualClusterCommonSpec `json:",inline"`
// SpaceTemplate holds the space template
// +optional
SpaceTemplate VirtualClusterSpaceTemplateDefinition `json:"spaceTemplate,omitempty"`
}
func (*VirtualClusterTemplateDefinition) DeepCopy ¶
func (in *VirtualClusterTemplateDefinition) DeepCopy() *VirtualClusterTemplateDefinition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualClusterTemplateDefinition.
func (*VirtualClusterTemplateDefinition) DeepCopyInto ¶
func (in *VirtualClusterTemplateDefinition) DeepCopyInto(out *VirtualClusterTemplateDefinition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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 ¶
func (in *VirtualClusterTemplateList) DeepCopy() *VirtualClusterTemplateList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualClusterTemplateList.
func (*VirtualClusterTemplateList) DeepCopyInto ¶
func (in *VirtualClusterTemplateList) DeepCopyInto(out *VirtualClusterTemplateList)
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.
type VirtualClusterTemplateSpaceTemplateRef ¶
type VirtualClusterTemplateSpaceTemplateRef struct {
// Name of the space template
// +optional
Name string `json:"name,omitempty"`
}
func (*VirtualClusterTemplateSpaceTemplateRef) DeepCopy ¶
func (in *VirtualClusterTemplateSpaceTemplateRef) DeepCopy() *VirtualClusterTemplateSpaceTemplateRef
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualClusterTemplateSpaceTemplateRef.
func (*VirtualClusterTemplateSpaceTemplateRef) DeepCopyInto ¶
func (in *VirtualClusterTemplateSpaceTemplateRef) DeepCopyInto(out *VirtualClusterTemplateSpaceTemplateRef)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualClusterTemplateSpec ¶
type VirtualClusterTemplateSpec struct {
// DisplayName is the name that is shown in the UI
// +optional
DisplayName string `json:"displayName,omitempty"`
// Description describes the virtual cluster template
// +optional
Description string `json:"description,omitempty"`
// Owner holds the owner of this object
// +optional
Owner *UserOrTeam `json:"owner,omitempty"`
// Template holds the virtual 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 virtual cluster space if it does not exist
// +optional
SpaceTemplateRef *VirtualClusterTemplateSpaceTemplateRef `json:"spaceTemplateRef,omitempty"`
}
VirtualClusterTemplateSpec holds the specification
func (*VirtualClusterTemplateSpec) DeepCopy ¶
func (in *VirtualClusterTemplateSpec) DeepCopy() *VirtualClusterTemplateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualClusterTemplateSpec.
func (*VirtualClusterTemplateSpec) DeepCopyInto ¶
func (in *VirtualClusterTemplateSpec) DeepCopyInto(out *VirtualClusterTemplateSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualClusterTemplateStatus ¶
type VirtualClusterTemplateStatus struct {
}
VirtualClusterTemplateStatus holds the status
func (*VirtualClusterTemplateStatus) DeepCopy ¶
func (in *VirtualClusterTemplateStatus) DeepCopy() *VirtualClusterTemplateStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualClusterTemplateStatus.
func (*VirtualClusterTemplateStatus) DeepCopyInto ¶
func (in *VirtualClusterTemplateStatus) DeepCopyInto(out *VirtualClusterTemplateStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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 ¶
func (in *VirtualClusterTemplateVersion) DeepCopy() *VirtualClusterTemplateVersion
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualClusterTemplateVersion.
func (*VirtualClusterTemplateVersion) DeepCopyInto ¶
func (in *VirtualClusterTemplateVersion) DeepCopyInto(out *VirtualClusterTemplateVersion)
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
Source Files
¶
- accesskey_types.go
- app_types.go
- cluster_types.go
- clusteraccess_types.go
- clusterroletemplate_types.go
- doc.go
- groupversion_info.go
- networkpeer_types.go
- nodeclaim_types.go
- nodeenvironment_types.go
- nodeprovider_types.go
- nodetype_types.go
- project_types.go
- sharedsecret_types.go
- spaceinstance_types.go
- spacetemplate_types.go
- task_types.go
- team_types.go
- user_types.go
- virtualclusterinstance_types.go
- virtualclustertemplate_types.go
- zz_generated.deepcopy.go
- zz_generated.defaults.go