v1

package
v4.0.0-beta.21 Latest Latest
Warning

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

Go to latest
Published: Oct 17, 2024 License: MPL-2.0 Imports: 8 Imported by: 41

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

View Source
const (
	ArgoIntegrationSynced agentstoragev1.ConditionType = "ArgoIntegrationSynced"

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

	ConditionReasonVaultIntegrationError = "VaultIntegrationError"

	VaultLastAppliedHashAnnotation                = "loft.sh/vault-integration-last-applied-hash"
	VaultPreviousClusterAnnotation                = "loft.sh/vault-integration-previous-cluster"
	VaultPreviousNamespaceAnnotation              = "loft.sh/vault-integration-previous-namespace"
	VaultPreviousVirtualClusterInstanceAnnotation = "loft.sh/vault-integration-previous-virtualclusterinstance"
)
View Source
const (
	RancherIntegrationSynced agentstoragev1.ConditionType = "RancherIntegrationSynced"

	RancherLastAppliedHashAnnotation = "loft.sh/rancher-integration-last-applied-hash"
)
View Source
const (
	RunnerDeployed agentstoragev1.ConditionType = "Deployed"

	// BuiltinRunnerName is the name for the control plane runner
	BuiltinRunnerName = "local"
)
View Source
const (
	InstanceScheduled              agentstoragev1.ConditionType = "Scheduled"
	InstanceTemplateSynced         agentstoragev1.ConditionType = "TemplateSynced"
	InstanceTemplateResolved       agentstoragev1.ConditionType = "TemplateResolved"
	InstanceSpaceSynced            agentstoragev1.ConditionType = "SpaceSynced"
	InstanceSpaceReady             agentstoragev1.ConditionType = "SpaceReady"
	InstanceVirtualClusterDeployed agentstoragev1.ConditionType = "VirtualClusterDeployed"
	InstanceVirtualClusterSynced   agentstoragev1.ConditionType = "VirtualClusterSynced"
	InstanceVirtualClusterReady    agentstoragev1.ConditionType = "VirtualClusterReady"
	InstanceVirtualClusterOnline   agentstoragev1.ConditionType = "VirtualClusterOnline"
	InstanceProjectsSecretsSynced  agentstoragev1.ConditionType = "ProjectSecretsSynced"

	InstanceVirtualClusterAppsAndObjectsSynced agentstoragev1.ConditionType = "VirtualClusterAppsAndObjectsSynced"
)
View Source
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

View Source
var (
	DevPodWorkspaceConditions = []agentstoragev1.ConditionType{
		InstanceScheduled,
		InstanceTemplateResolved,
	}

	// DevPodWorkspaceIDLabel holds the actual workspace id of the devpod workspace
	DevPodWorkspaceIDLabel = "loft.sh/workspace-id"

	// DevPodWorkspaceUIDLabel holds the actual workspace uid of the devpod workspace
	DevPodWorkspaceUIDLabel = "loft.sh/workspace-uid"

	// DevPodWorkspacePictureAnnotation holds the workspace picture url of the devpod workspace
	DevPodWorkspacePictureAnnotation = "loft.sh/workspace-picture"

	// DevPodWorkspaceSourceAnnotation holds the workspace source of the devpod workspace
	DevPodWorkspaceSourceAnnotation = "loft.sh/workspace-source"

	// DevPodWorkspaceRunnerNetworkPeerAnnotation holds the workspace runner network peer name of the devpod workspace
	DevPodWorkspaceRunnerEndpointAnnotation = "loft.sh/runner-endpoint"
)
View Source
var (
	DevPodFlagsUp     = "DEVPOD_FLAGS_UP"
	DevPodFlagsDelete = "DEVPOD_FLAGS_DELETE"
	DevPodFlagsStatus = "DEVPOD_FLAGS_STATUS"
	DevPodFlagsSsh    = "DEVPOD_FLAGS_SSH"
	DevPodFlagsStop   = "DEVPOD_FLAGS_STOP"
)
View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "storage.loft.sh", Version: "v1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme

	// SchemeGroupVersion is a shim that expect this to be present in the api package
	SchemeGroupVersion = GroupVersion
)
View Source
var (
	SpaceTemplateKind           = "SpaceTemplate"
	VirtualClusterTemplateKind  = "VirtualClusterTemplate"
	DevPodWorkspaceTemplateKind = "DevPodWorkspaceTemplate"
)
View Source
var (
	InstanceDeployedAppDeployed = "Deployed"
	InstanceDeployedAppFailed   = "Failed"
)

Functions

func RegisterDefaults

func RegisterDefaults(scheme *runtime.Scheme) error

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

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource

func SetObjectDefaults_Runner

func SetObjectDefaults_Runner(in *Runner)

func SetObjectDefaults_RunnerList

func SetObjectDefaults_RunnerList(in *RunnerList)

Types

type Access

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

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

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

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

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

Access describes the access to a secret

func (*Access) DeepCopy

func (in *Access) DeepCopy() *Access

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

func (*Access) DeepCopyInto

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

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

type AccessAccessor

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

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

type AccessKey

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

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

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

func (*AccessKey) DeepCopy

func (in *AccessKey) DeepCopy() *AccessKey

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

func (*AccessKey) DeepCopyInto

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

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

func (*AccessKey) DeepCopyObject

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

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

type AccessKeyIdentity

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

	// 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 (*AccessKeyIdentity) DeepCopy

func (in *AccessKeyIdentity) DeepCopy() *AccessKeyIdentity

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

func (*AccessKeyIdentity) DeepCopyInto

func (in *AccessKeyIdentity) DeepCopyInto(out *AccessKeyIdentity)

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

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

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

type AccessKeyScopeCluster

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

func (*AccessKeyScopeCluster) DeepCopy

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

func (*AccessKeyScopeCluster) DeepCopyInto

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

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

type AccessKeyScopeProject

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

func (*AccessKeyScopeProject) DeepCopy

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

func (*AccessKeyScopeProject) DeepCopyInto

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

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

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

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

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

func (*AccessKeyScopeVirtualCluster) DeepCopyInto

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

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 *AccessKeyIdentity `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"
)

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

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

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

func (*AllowedClusterAccountTemplate) DeepCopyInto

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

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

func (in *App) DeepCopy() *App

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

func (*App) DeepCopyInto

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

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

func (*App) DeepCopyObject

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

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

func (*App) GetAccess

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

func (*App) GetOwner

func (a *App) GetOwner() *UserOrTeam

func (*App) SetAccess

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

func (*App) SetOwner

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

type AppConfig

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

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

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

	// Config is the helm config to use to deploy the helm release
	// +optional
	Config 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

func (in *AppConfig) DeepCopy() *AppConfig

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

func (*AppConfig) DeepCopyInto

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

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

type AppList

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

AppList contains a list of App

func (*AppList) DeepCopy

func (in *AppList) DeepCopy() *AppList

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

func (*AppList) DeepCopyInto

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

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

func (*AppList) DeepCopyObject

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

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

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

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

func (in *AppSpec) DeepCopy() *AppSpec

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

func (*AppSpec) DeepCopyInto

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

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

type AppStatus

type AppStatus struct {
}

AppStatus holds the status

func (*AppStatus) DeepCopy

func (in *AppStatus) DeepCopy() *AppStatus

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

func (*AppStatus) DeepCopyInto

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

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

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

func (in *AppTask) DeepCopy() *AppTask

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

func (*AppTask) DeepCopyInto

func (in *AppTask) DeepCopyInto(out *AppTask)

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

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

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

func (in *Chart) DeepCopy() *Chart

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

func (*Chart) DeepCopyInto

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

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

type 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

func (in *Cluster) DeepCopy() *Cluster

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

func (*Cluster) DeepCopyInto

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

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

func (*Cluster) DeepCopyObject

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

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

func (*Cluster) GetAccess

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

func (*Cluster) GetOwner

func (a *Cluster) GetOwner() *UserOrTeam

func (*Cluster) SetAccess

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

func (*Cluster) SetOwner

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

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

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

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

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

func (*ClusterRoleTemplateStatus) DeepCopyInto

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

type ClusterRoleTemplateTemplate

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

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

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

func (*ClusterRoleTemplateTemplate) DeepCopy

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

func (*ClusterRoleTemplateTemplate) DeepCopyInto

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

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

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

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 CredentialForwarding

type CredentialForwarding struct {
	// Docker specifies controls for how workspaces created by this template forward docker credentials
	// +optional
	Docker *DockerCredentialForwarding `json:"docker,omitempty"`

	// Git specifies controls for how workspaces created by this template forward git credentials
	// +optional
	Git *GitCredentialForwarding `json:"git,omitempty"`
}

func (*CredentialForwarding) DeepCopy

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

func (*CredentialForwarding) DeepCopyInto

func (in *CredentialForwarding) DeepCopyInto(out *CredentialForwarding)

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

type DevPodCommandDeleteOptions

type DevPodCommandDeleteOptions struct {
	IgnoreNotFound bool   `json:"ignoreNotFound,omitempty"`
	Force          bool   `json:"force,omitempty"`
	GracePeriod    string `json:"gracePeriod,omitempty"`
}

func (*DevPodCommandDeleteOptions) DeepCopy

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

func (*DevPodCommandDeleteOptions) DeepCopyInto

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

type DevPodCommandStatusOptions

type DevPodCommandStatusOptions struct {
	ContainerStatus bool `json:"containerStatus,omitempty"`
}

func (*DevPodCommandStatusOptions) DeepCopy

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

func (*DevPodCommandStatusOptions) DeepCopyInto

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

type DevPodCommandStopOptions

type DevPodCommandStopOptions struct{}

func (*DevPodCommandStopOptions) DeepCopy

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

func (*DevPodCommandStopOptions) DeepCopyInto

func (in *DevPodCommandStopOptions) DeepCopyInto(out *DevPodCommandStopOptions)

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

type DevPodCommandUpOptions

type DevPodCommandUpOptions struct {
	// up options
	ID                   string   `json:"id,omitempty"`
	Source               string   `json:"source,omitempty"`
	IDE                  string   `json:"ide,omitempty"`
	IDEOptions           []string `json:"ideOptions,omitempty"`
	PrebuildRepositories []string `json:"prebuildRepositories,omitempty"`
	DevContainerPath     string   `json:"devContainerPath,omitempty"`
	WorkspaceEnv         []string `json:"workspaceEnv,omitempty"`
	Recreate             bool     `json:"recreate,omitempty"`
	Proxy                bool     `json:"proxy,omitempty"`
	DisableDaemon        bool     `json:"disableDaemon,omitempty"`
	DaemonInterval       string   `json:"daemonInterval,omitempty"`

	// build options
	Repository string   `json:"repository,omitempty"`
	SkipPush   bool     `json:"skipPush,omitempty"`
	Platform   []string `json:"platform,omitempty"`

	// TESTING
	ForceBuild            bool `json:"forceBuild,omitempty"`
	ForceInternalBuildKit bool `json:"forceInternalBuildKit,omitempty"`
}

func (*DevPodCommandUpOptions) DeepCopy

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

func (*DevPodCommandUpOptions) DeepCopyInto

func (in *DevPodCommandUpOptions) DeepCopyInto(out *DevPodCommandUpOptions)

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

type DevPodEnvironmentTemplate

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

	Spec DevPodEnvironmentTemplateSpec `json:"spec,omitempty"`
}

DevPodWorkspaceEnvironmentSource +k8s:openapi-gen=true

func (*DevPodEnvironmentTemplate) DeepCopy

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

func (*DevPodEnvironmentTemplate) DeepCopyInto

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

func (*DevPodEnvironmentTemplate) DeepCopyObject

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

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

func (*DevPodEnvironmentTemplate) GetAccess

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

func (*DevPodEnvironmentTemplate) GetOwner

func (a *DevPodEnvironmentTemplate) GetOwner() *UserOrTeam

func (*DevPodEnvironmentTemplate) SetAccess

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

func (*DevPodEnvironmentTemplate) SetOwner

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

type DevPodEnvironmentTemplateList

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

DevPodEnvironmentTemplateList contains a list of DevPodEnvironmentTemplate objects

func (*DevPodEnvironmentTemplateList) DeepCopy

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

func (*DevPodEnvironmentTemplateList) DeepCopyInto

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

func (*DevPodEnvironmentTemplateList) DeepCopyObject

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

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

type DevPodEnvironmentTemplateSpec

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

	// Git holds configuration for git environment spec source
	// +optional
	Git GitEnvironmentTemplate `json:"git,omitempty"`

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

	// Access to the DevPod machine instance object itself
	// +optional
	Access []Access `json:"access,omitempty"`

	// Versions are different versions of the template that can be referenced as well
	// +optional
	Versions []DevPodEnvironmentTemplateVersion `json:"versions,omitempty"`
}

func (*DevPodEnvironmentTemplateSpec) DeepCopy

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

func (*DevPodEnvironmentTemplateSpec) DeepCopyInto

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

type DevPodEnvironmentTemplateVersion

type DevPodEnvironmentTemplateVersion struct {
	// Git holds the GitEnvironmentTemplate
	// +optional
	Git GitEnvironmentTemplate `json:"git,omitempty"`

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

func (*DevPodEnvironmentTemplateVersion) DeepCopy

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

func (*DevPodEnvironmentTemplateVersion) DeepCopyInto

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

type DevPodProjectSpec

type DevPodProjectSpec struct {
	// Git defines additional git related settings like credentials
	// +optional
	Git *GitProjectSpec `json:"git,omitempty"`

	// SSH defines additional ssh related settings like private keys, to be
	// specified as base64 encoded strings.
	// +optional
	SSH *SSHProjectSpec `json:"ssh,omitempty"`

	// FallbackImage defines an image all workspace will fall back to if no devcontainer.json could be detected
	// +optional
	FallbackImage string `json:"fallbackImage,omitempty"`
}

func (*DevPodProjectSpec) DeepCopy

func (in *DevPodProjectSpec) DeepCopy() *DevPodProjectSpec

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

func (*DevPodProjectSpec) DeepCopyInto

func (in *DevPodProjectSpec) DeepCopyInto(out *DevPodProjectSpec)

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

type DevPodProviderOption

type DevPodProviderOption struct {
	// Value of this option.
	// +optional
	Value string `json:"value,omitempty"`

	// ValueFrom specifies a secret where this value should be taken from.
	// +optional
	ValueFrom *DevPodProviderOptionFrom `json:"valueFrom,omitempty"`
}

func (*DevPodProviderOption) DeepCopy

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

func (*DevPodProviderOption) DeepCopyInto

func (in *DevPodProviderOption) DeepCopyInto(out *DevPodProviderOption)

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

type DevPodProviderOptionFrom

type DevPodProviderOptionFrom struct {
	// ProjectSecretRef is the project secret to use for this value.
	// +optional
	ProjectSecretRef *corev1.SecretKeySelector `json:"projectSecretRef,omitempty"`

	// SharedSecretRef is the shared secret to use for this value.
	// +optional
	SharedSecretRef *corev1.SecretKeySelector `json:"sharedSecretRef,omitempty"`
}

func (*DevPodProviderOptionFrom) DeepCopy

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

func (*DevPodProviderOptionFrom) DeepCopyInto

func (in *DevPodProviderOptionFrom) DeepCopyInto(out *DevPodProviderOptionFrom)

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

type DevPodProviderSource

type DevPodProviderSource struct {
	// Github source for the provider
	Github string `json:"github,omitempty"`

	// File source for the provider
	File string `json:"file,omitempty"`

	// URL where the provider was downloaded from
	URL string `json:"url,omitempty"`
}

func (*DevPodProviderSource) DeepCopy

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

func (*DevPodProviderSource) DeepCopyInto

func (in *DevPodProviderSource) DeepCopyInto(out *DevPodProviderSource)

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

type DevPodWorkspaceInstance

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

	Spec   DevPodWorkspaceInstanceSpec   `json:"spec,omitempty"`
	Status DevPodWorkspaceInstanceStatus `json:"status,omitempty"`
}

DevPodWorkspaceInstance +k8s:openapi-gen=true

func (*DevPodWorkspaceInstance) DeepCopy

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

func (*DevPodWorkspaceInstance) DeepCopyInto

func (in *DevPodWorkspaceInstance) DeepCopyInto(out *DevPodWorkspaceInstance)

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

func (*DevPodWorkspaceInstance) DeepCopyObject

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

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

func (*DevPodWorkspaceInstance) GetAccess

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

func (*DevPodWorkspaceInstance) GetConditions

func (*DevPodWorkspaceInstance) GetOwner

func (a *DevPodWorkspaceInstance) GetOwner() *UserOrTeam

func (*DevPodWorkspaceInstance) SetAccess

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

func (*DevPodWorkspaceInstance) SetConditions

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

func (*DevPodWorkspaceInstance) SetOwner

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

type DevPodWorkspaceInstanceList

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

DevPodWorkspaceInstanceList contains a list of DevPodWorkspaceInstance objects

func (*DevPodWorkspaceInstanceList) DeepCopy

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

func (*DevPodWorkspaceInstanceList) DeepCopyInto

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

func (*DevPodWorkspaceInstanceList) DeepCopyObject

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

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

type DevPodWorkspaceInstanceSpec

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

	// Description describes a DevPod machine instance
	// +optional
	Description string `json:"description,omitempty"`

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

	// TemplateRef holds the DevPod machine template reference
	// +optional
	TemplateRef *TemplateRef `json:"templateRef,omitempty"`

	// EnvironmentRef is the reference to DevPodEnvironmentTemplate that should be used
	// +optional
	EnvironmentRef EnvironmentRef `json:"environmentRef,omitempty"`

	// Template is the inline template to use for DevPod machine creation. This is mutually
	// exclusive with templateRef.
	// +optional
	Template *DevPodWorkspaceTemplateDefinition `json:"template,omitempty"`

	// RunnerRef is the reference to the connected runner holding
	// this workspace
	// +optional
	RunnerRef RunnerRef `json:"runnerRef,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"`

	// Access to the DevPod machine instance object itself
	// +optional
	Access []Access `json:"access,omitempty"`

	// PreventWakeUpOnConnection is used to prevent workspace that uses sleep mode from waking up on incomming ssh connection.
	// +optional
	PreventWakeUpOnConnection bool `json:"preventWakeUpOnConnection,omitempty"`
}

func (*DevPodWorkspaceInstanceSpec) DeepCopy

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

func (*DevPodWorkspaceInstanceSpec) DeepCopyInto

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

type DevPodWorkspaceInstanceStatus

type DevPodWorkspaceInstanceStatus struct {
	// LastWorkspaceStatus is the last workspace status reported by the runner.
	// +optional
	LastWorkspaceStatus WorkspaceStatus `json:"lastWorkspaceStatus,omitempty"`

	// Phase describes the current phase the DevPod machine 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 DevPod machine is in the current
	// phase
	// +optional
	Message string `json:"message,omitempty"`

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

	// Instance is the template rendered with all the parameters
	// +optional
	Instance *DevPodWorkspaceTemplateDefinition `json:"instance,omitempty"`

	// IgnoreReconciliation ignores reconciliation for this object
	// +optional
	IgnoreReconciliation bool `json:"ignoreReconciliation,omitempty"`

	// ClusterRef holds the runners cluster if the workspace is scheduled
	// on kubernetes based runner
	ClusterRef *ClusterRef `json:"clusterRef,omitempty"`
}

func (*DevPodWorkspaceInstanceStatus) DeepCopy

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

func (*DevPodWorkspaceInstanceStatus) DeepCopyInto

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

type DevPodWorkspaceInstanceTemplateDefinition

type DevPodWorkspaceInstanceTemplateDefinition struct {
	// The virtual cluster instance metadata
	// +kubebuilder:pruning:PreserveUnknownFields
	// +optional
	TemplateMetadata `json:"metadata,omitempty"`
}

func (*DevPodWorkspaceInstanceTemplateDefinition) DeepCopy

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

func (*DevPodWorkspaceInstanceTemplateDefinition) DeepCopyInto

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

type DevPodWorkspaceProvider

type DevPodWorkspaceProvider struct {
	// Name is the name of the provider. This can also be an url.
	Name string `json:"name"`

	// Options are the provider option values
	// +optional
	Options map[string]DevPodProviderOption `json:"options,omitempty"`

	// Env are environment options to set when using the provider.
	// +optional
	Env map[string]DevPodProviderOption `json:"env,omitempty"`
}

func (*DevPodWorkspaceProvider) DeepCopy

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

func (*DevPodWorkspaceProvider) DeepCopyInto

func (in *DevPodWorkspaceProvider) DeepCopyInto(out *DevPodWorkspaceProvider)

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

type DevPodWorkspaceTemplate

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

	Spec   DevPodWorkspaceTemplateSpec   `json:"spec,omitempty"`
	Status DevPodWorkspaceTemplateStatus `json:"status,omitempty"`
}

DevPodWorkspaceTemplate holds the DevPodWorkspaceTemplate information +k8s:openapi-gen=true

func (*DevPodWorkspaceTemplate) DeepCopy

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

func (*DevPodWorkspaceTemplate) DeepCopyInto

func (in *DevPodWorkspaceTemplate) DeepCopyInto(out *DevPodWorkspaceTemplate)

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

func (*DevPodWorkspaceTemplate) DeepCopyObject

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

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

func (*DevPodWorkspaceTemplate) GetAccess

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

func (*DevPodWorkspaceTemplate) GetOwner

func (a *DevPodWorkspaceTemplate) GetOwner() *UserOrTeam

func (*DevPodWorkspaceTemplate) GetVersions

func (a *DevPodWorkspaceTemplate) GetVersions() []VersionAccessor

func (*DevPodWorkspaceTemplate) SetAccess

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

func (*DevPodWorkspaceTemplate) SetOwner

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

type DevPodWorkspaceTemplateDefinition

type DevPodWorkspaceTemplateDefinition struct {
	// Provider holds the DevPod provider configuration
	Provider DevPodWorkspaceProvider `json:"provider"`

	// SpaceTemplateRef is a reference to the space that should get created for this DevPod.
	// If this is specified, the kubernetes provider will be selected automatically.
	// +optional
	SpaceTemplateRef *TemplateRef `json:"spaceTemplateRef,omitempty"`

	// SpaceTemplate is the inline template for a space that should get created for this DevPod.
	// If this is specified, the kubernetes provider will be selected automatically.
	// +optional
	SpaceTemplate *SpaceTemplateDefinition `json:"spaceTemplate,omitempty"`

	// VirtualClusterTemplateRef is a reference to the virtual cluster that should get created for this DevPod.
	// If this is specified, the kubernetes provider will be selected automatically.
	// +optional
	VirtualClusterTemplateRef *TemplateRef `json:"virtualClusterTemplateRef,omitempty"`

	// VirtualClusterTemplate is the inline template for a virtual cluster that should get created for this DevPod.
	// If this is specified, the kubernetes provider will be selected automatically.
	// +optional
	VirtualClusterTemplate *VirtualClusterTemplateDefinition `json:"virtualClusterTemplate,omitempty"`

	// WorkspaceEnv are environment variables that should be available within the created workspace.
	// +optional
	WorkspaceEnv map[string]DevPodProviderOption `json:"workspaceEnv,omitempty"`

	// InitEnv are environment variables that should be available during the initialization phase of the created workspace.
	// +optional
	InitEnv map[string]DevPodProviderOption `json:"initEnv,omitempty"`

	// InstanceTemplate holds the workspace instance template
	// +optional
	InstanceTemplate DevPodWorkspaceInstanceTemplateDefinition `json:"instanceTemplate,omitempty"`

	// UseProjectGitCredentials specifies if the project git credentials should be used instead of local ones for this workspace
	// +optional
	UseProjectGitCredentials bool `json:"useProjectGitCredentials,omitempty"`

	// UseProjectSSHCredentials specifies if the project ssh credentials should be used instead of local ones for this workspace
	// +optional
	UseProjectSSHCredentials bool `json:"useProjectSSHCredentials,omitempty"`

	// GitCloneStrategy specifies how git based workspace are being cloned. Can be "" (full, default), treeless, blobless or shallow
	// +optional
	GitCloneStrategy GitCloneStrategy `json:"gitCloneStrategy,omitempty"`

	// CredentialForwarding specifies controls for how workspaces created by this template forward credentials into the workspace
	// +optional
	CredentialForwarding *CredentialForwarding `json:"credentialForwarding,omitempty"`

	// PreventWakeUpOnConnection is used to prevent workspace that uses sleep mode from waking up on incomming ssh connection.
	// +optional
	PreventWakeUpOnConnection bool `json:"preventWakeUpOnConnection,omitempty"`
}

func (*DevPodWorkspaceTemplateDefinition) DeepCopy

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

func (*DevPodWorkspaceTemplateDefinition) DeepCopyInto

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

type DevPodWorkspaceTemplateList

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

DevPodWorkspaceTemplateList contains a list of DevPodWorkspaceTemplate

func (*DevPodWorkspaceTemplateList) DeepCopy

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

func (*DevPodWorkspaceTemplateList) DeepCopyInto

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

func (*DevPodWorkspaceTemplateList) DeepCopyObject

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

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

type DevPodWorkspaceTemplateSpec

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

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

	// Template holds the DevPod workspace template
	Template DevPodWorkspaceTemplateDefinition `json:"template,omitempty"`

	// Versions are different versions of the template that can be referenced as well
	// +optional
	Versions []DevPodWorkspaceTemplateVersion `json:"versions,omitempty"`

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

DevPodWorkspaceTemplateSpec holds the specification

func (*DevPodWorkspaceTemplateSpec) DeepCopy

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

func (*DevPodWorkspaceTemplateSpec) DeepCopyInto

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

type DevPodWorkspaceTemplateStatus

type DevPodWorkspaceTemplateStatus struct {
}

DevPodWorkspaceTemplateStatus holds the status

func (*DevPodWorkspaceTemplateStatus) DeepCopy

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

func (*DevPodWorkspaceTemplateStatus) DeepCopyInto

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

type DevPodWorkspaceTemplateVersion

type DevPodWorkspaceTemplateVersion struct {
	// Template holds the DevPod template
	// +optional
	Template DevPodWorkspaceTemplateDefinition `json:"template,omitempty"`

	// Parameters define additional app parameters that will set provider 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 (*DevPodWorkspaceTemplateVersion) DeepCopy

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

func (*DevPodWorkspaceTemplateVersion) DeepCopyInto

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

func (*DevPodWorkspaceTemplateVersion) GetVersion

func (a *DevPodWorkspaceTemplateVersion) GetVersion() string

type DockerCredentialForwarding

type DockerCredentialForwarding struct {
	// Disabled prevents all workspaces created by this template from forwarding credentials into the workspace
	// +optional
	Disabled bool `json:"disabled,omitempty"`
}

func (*DockerCredentialForwarding) DeepCopy

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

func (*DockerCredentialForwarding) DeepCopyInto

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

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 EnvironmentRef

type EnvironmentRef struct {
	// Name is the name of DevPodEnvironmentTemplate this references
	Name string `json:"name"`
}

func (*EnvironmentRef) DeepCopy

func (in *EnvironmentRef) DeepCopy() *EnvironmentRef

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

func (*EnvironmentRef) DeepCopyInto

func (in *EnvironmentRef) DeepCopyInto(out *EnvironmentRef)

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

type GitCloneStrategy

type GitCloneStrategy string

+enum

const (
	FullCloneStrategy     GitCloneStrategy = ""
	BloblessCloneStrategy GitCloneStrategy = "blobless"
	TreelessCloneStrategy GitCloneStrategy = "treeless"
	ShallowCloneStrategy  GitCloneStrategy = "shallow"
)

WARN: Need to match https://github.com/loft-sh/devpod/pkg/git/clone.go

type GitCredentialForwarding

type GitCredentialForwarding struct {
	// Disabled prevents all workspaces created by this template from forwarding credentials into the workspace
	// +optional
	Disabled bool `json:"disabled,omitempty"`
}

func (*GitCredentialForwarding) DeepCopy

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

func (*GitCredentialForwarding) DeepCopyInto

func (in *GitCredentialForwarding) DeepCopyInto(out *GitCredentialForwarding)

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

type GitEnvironmentTemplate

type GitEnvironmentTemplate struct {
	// Repository stores repository URL for Git environment spec source
	Repository string `json:"repository"`

	// Revision stores revision to checkout in repository
	// +optional
	Revision string `json:"revision,omitempty"`

	// SubPath stores subpath within Repositor where environment spec is
	// +optional
	SubPath string `json:"subpath,omitempty"`

	// UseProjectGitCredentials specifies if the project git credentials should be used instead of local ones for this environment
	// +optional
	UseProjectGitCredentials bool `json:"useProjectGitCredentials,omitempty"`
}

GitEnvironmentTemplate stores configuration of Git environment template source

func (*GitEnvironmentTemplate) DeepCopy

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

func (*GitEnvironmentTemplate) DeepCopyInto

func (in *GitEnvironmentTemplate) DeepCopyInto(out *GitEnvironmentTemplate)

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

type GitProjectSpec

type GitProjectSpec struct {
	// Token defines the token to use for authentication.
	// +optional
	Token string `json:"token,omitempty"`

	// TokenSecretRef defines the project secret to use for token authentication.
	// Will be used if `Token` is not provided.
	// +optional
	TokenProjectSecretRef *corev1.SecretKeySelector `json:"tokenSecretRef,omitempty"`
}

func (*GitProjectSpec) DeepCopy

func (in *GitProjectSpec) DeepCopy() *GitProjectSpec

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

func (*GitProjectSpec) DeepCopyInto

func (in *GitProjectSpec) DeepCopyInto(out *GitProjectSpec)

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

func (in *HelmChart) DeepCopy() *HelmChart

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

func (*HelmChart) DeepCopyInto

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

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

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

func (in *HelmTask) DeepCopy() *HelmTask

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

func (*HelmTask) DeepCopyInto

func (in *HelmTask) DeepCopyInto(out *HelmTask)

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

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

func (*ImportVirtualClustersSpec) DeepCopyInto

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

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

func (*InstanceDeployedAppStatus) DeepCopyInto

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

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 LocalClusterAccessSpec

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

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

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

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

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

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

func (*LocalClusterAccessSpec) DeepCopy

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

func (*LocalClusterAccessSpec) DeepCopyInto

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

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

type LocalClusterAccessTemplate

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

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

func (*LocalClusterAccessTemplate) DeepCopy

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

func (*LocalClusterAccessTemplate) DeepCopyInto

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

type LocalClusterRoleTemplate

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

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

func (*LocalClusterRoleTemplate) DeepCopy

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

func (*LocalClusterRoleTemplate) DeepCopyInto

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

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

type LocalClusterRoleTemplateSpec

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

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

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

func (*LocalClusterRoleTemplateSpec) DeepCopy

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

func (*LocalClusterRoleTemplateSpec) DeepCopyInto

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

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

func (*Member) DeepCopy

func (in *Member) DeepCopy() *Member

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

func (*Member) DeepCopyInto

func (in *Member) DeepCopyInto(out *Member)

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

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 NetworkPeer

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

	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 ObjectsStatus

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

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

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

func (*ObjectsStatus) DeepCopy

func (in *ObjectsStatus) DeepCopy() *ObjectsStatus

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

func (*ObjectsStatus) DeepCopyInto

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

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

type PodSelector

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

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

func (*PodSelector) DeepCopy

func (in *PodSelector) DeepCopy() *PodSelector

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

func (*PodSelector) DeepCopyInto

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

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

type Project

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

	Spec   ProjectSpec   `json:"spec,omitempty"`
	Status ProjectStatus `json:"status,omitempty"`
}

Project +k8s:openapi-gen=true

func (*Project) DeepCopy

func (in *Project) DeepCopy() *Project

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

func (*Project) DeepCopyInto

func (in *Project) DeepCopyInto(out *Project)

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

func (*Project) DeepCopyObject

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

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

func (*Project) GetAccess

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

func (*Project) GetConditions

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

func (*Project) GetOwner

func (a *Project) GetOwner() *UserOrTeam

func (*Project) SetAccess

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

func (*Project) SetConditions

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

func (*Project) SetOwner

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

type ProjectList

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

ProjectList contains a list of Project objects

func (*ProjectList) DeepCopy

func (in *ProjectList) DeepCopy() *ProjectList

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

func (*ProjectList) DeepCopyInto

func (in *ProjectList) DeepCopyInto(out *ProjectList)

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

func (*ProjectList) DeepCopyObject

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

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

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
	// DevPod environments.
	// +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"`

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

	// DevPod holds DevPod specific configuration for project
	// +optional
	DevPod *DevPodProjectSpec `json:"devPod,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

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

func (*QuotaStatusProjectCluster) DeepCopyInto

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

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

func (in *Quotas) DeepCopy() *Quotas

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

func (*Quotas) DeepCopyInto

func (in *Quotas) DeepCopyInto(out *Quotas)

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

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

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

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

	Spec   RunnerSpec   `json:"spec,omitempty"`
	Status RunnerStatus `json:"status,omitempty"`
}

Runner holds the runner information +k8s:openapi-gen=true

func (*Runner) DeepCopy

func (in *Runner) DeepCopy() *Runner

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

func (*Runner) DeepCopyInto

func (in *Runner) DeepCopyInto(out *Runner)

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

func (*Runner) DeepCopyObject

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

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

func (*Runner) GetAccess

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

func (*Runner) GetConditions

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

func (*Runner) GetOwner

func (a *Runner) GetOwner() *UserOrTeam

func (*Runner) SetAccess

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

func (*Runner) SetConditions

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

func (*Runner) SetOwner

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

type RunnerClusterRef

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

	// PersistentVolumeClaimTemplate holds additional options for the persistent volume claim
	// +optional
	PersistentVolumeClaimTemplate *RunnerPersistentVolumeClaimTemplate `json:"persistentVolumeClaimTemplate,omitempty"`

	// PodTemplate holds additional options for the runner pod
	// +optional
	PodTemplate *RunnerPodTemplate `json:"podTemplate,omitempty"`

	// ServiceTemplate holds additional options for the service
	// +optional
	ServiceTemplate *RunnerServiceTemplate `json:"serviceTemplate,omitempty"`
}

func (*RunnerClusterRef) DeepCopy

func (in *RunnerClusterRef) DeepCopy() *RunnerClusterRef

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

func (*RunnerClusterRef) DeepCopyInto

func (in *RunnerClusterRef) DeepCopyInto(out *RunnerClusterRef)

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

type RunnerList

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

RunnerList contains a list of Runner

func (*RunnerList) DeepCopy

func (in *RunnerList) DeepCopy() *RunnerList

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

func (*RunnerList) DeepCopyInto

func (in *RunnerList) DeepCopyInto(out *RunnerList)

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

func (*RunnerList) DeepCopyObject

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

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

type RunnerPersistentVolumeClaimTemplate

type RunnerPersistentVolumeClaimTemplate struct {
	// Metadata holds the template metadata
	// +optional
	Metadata TemplateMetadata `json:"metadata,omitempty"`

	// Spec holds the template spec
	// +optional
	Spec RunnerPersistentVolumeClaimTemplateSpec `json:"spec,omitempty"`
}

func (*RunnerPersistentVolumeClaimTemplate) DeepCopy

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

func (*RunnerPersistentVolumeClaimTemplate) DeepCopyInto

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

type RunnerPersistentVolumeClaimTemplateSpec

type RunnerPersistentVolumeClaimTemplateSpec struct {
	// accessModes contains the desired access modes the volume should have.
	// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1
	// +optional
	AccessModes []corev1.PersistentVolumeAccessMode `json:"accessModes,omitempty"`

	// storageClassName is the name of the StorageClass required by the claim.
	// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1
	// +optional
	StorageClassName *string `json:"storageClassName,omitempty"`

	// storageSize is the size of the storage to reserve for the pvc
	// +optional
	StorageSize string `json:"storageSize,omitempty"`
}

func (*RunnerPersistentVolumeClaimTemplateSpec) DeepCopy

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

func (*RunnerPersistentVolumeClaimTemplateSpec) DeepCopyInto

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

type RunnerPodTemplate

type RunnerPodTemplate struct {
	// Metadata holds the template metadata
	// +optional
	Metadata TemplateMetadata `json:"metadata,omitempty"`

	// Spec holds the template spec
	// +optional
	Spec RunnerPodTemplateSpec `json:"spec,omitempty"`
}

func (*RunnerPodTemplate) DeepCopy

func (in *RunnerPodTemplate) DeepCopy() *RunnerPodTemplate

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

func (*RunnerPodTemplate) DeepCopyInto

func (in *RunnerPodTemplate) DeepCopyInto(out *RunnerPodTemplate)

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

type RunnerPodTemplateSpec

type RunnerPodTemplateSpec struct {
	// Runner pod image to use other than default
	// +optional
	Image string `json:"image,omitempty"`

	// Resources requirements
	// +optional
	Resources corev1.ResourceRequirements `json:"resource,omitempty"`

	// List of sources to populate environment variables in the container.
	// The keys defined within a source must be a C_IDENTIFIER. All invalid keys
	// will be reported as an event when the container is starting. When a key exists in multiple
	// sources, the value associated with the last source will take precedence.
	// Values defined by an Env with a duplicate key will take precedence.
	// Cannot be updated.
	// +optional
	EnvFrom []corev1.EnvFromSource `json:"envFrom,omitempty"`

	// List of environment variables to set in the container.
	// Cannot be updated.
	// +optional
	Env []corev1.EnvVar `json:"env,omitempty"`

	// Set the NodeSelector for the Runner Pod
	// +optional
	NodeSelector map[string]string `json:"nodeSelector,omitempty"`

	// Set the Affinity for the Runner Pod
	// +optional
	Affinity *corev1.Affinity `json:"affinity,omitempty"`

	// Set the Tolerations for the Runner Pod
	// +optional
	Tolerations []corev1.Toleration `json:"tolerations,omitempty"`

	// Set Volume Mounts for the Runner Pod
	// +optional
	VolumeMounts []corev1.VolumeMount `json:"volumeMounts,omitempty"`

	// Set Volumes for the Runner Pod
	// +optional
	Volumes []corev1.Volume `json:"volumes,omitempty"`

	// Set up Init Containers for the Runner
	// +optional
	InitContainers []corev1.Container `json:"initContainers,omitempty"`

	// Set host aliases for the Runner Pod
	// +optional
	HostAliases []corev1.HostAlias `json:"hostAliases,omitempty"`
}

func (*RunnerPodTemplateSpec) DeepCopy

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

func (*RunnerPodTemplateSpec) DeepCopyInto

func (in *RunnerPodTemplateSpec) DeepCopyInto(out *RunnerPodTemplateSpec)

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

type RunnerRef

type RunnerRef struct {
	// Runner is the connected runner the workspace will be created in
	// +optional
	Runner string `json:"runner,omitempty"`
}

func (*RunnerRef) DeepCopy

func (in *RunnerRef) DeepCopy() *RunnerRef

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

func (*RunnerRef) DeepCopyInto

func (in *RunnerRef) DeepCopyInto(out *RunnerRef)

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

type RunnerServiceTemplate

type RunnerServiceTemplate struct {
	// Metadata holds the template metadata
	// +optional
	Metadata TemplateMetadata `json:"metadata,omitempty"`

	// Spec holds the template spec
	// +optional
	Spec RunnerServiceTemplateSpec `json:"spec,omitempty"`
}

func (*RunnerServiceTemplate) DeepCopy

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

func (*RunnerServiceTemplate) DeepCopyInto

func (in *RunnerServiceTemplate) DeepCopyInto(out *RunnerServiceTemplate)

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

type RunnerServiceTemplateSpec

type RunnerServiceTemplateSpec struct {
	// type determines how the Service is exposed. Defaults to ClusterIP
	// +optional
	Type corev1.ServiceType `json:"type,omitempty"`
}

func (*RunnerServiceTemplateSpec) DeepCopy

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

func (*RunnerServiceTemplateSpec) DeepCopyInto

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

type RunnerSpec

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

	// NetworkPeerName is the network peer name used to connect directly to the runner
	// +optional
	NetworkPeerName string `json:"networkPeerName,omitempty"`

	// Endpoint is the hostname used to connect directly to the runner
	// +optional
	Endpoint string `json:"endpoint,omitempty"`

	// If ClusterRef is defined, Loft will schedule the runner on the given
	// cluster.
	// +optional
	ClusterRef *RunnerClusterRef `json:"clusterRef,omitempty"`

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

	// If unusable is true, no DevPod workspaces can be scheduled on this runner.
	// +optional
	Unusable bool `json:"unusable,omitempty"`

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

func (*RunnerSpec) DeepCopy

func (in *RunnerSpec) DeepCopy() *RunnerSpec

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

func (*RunnerSpec) DeepCopyInto

func (in *RunnerSpec) DeepCopyInto(out *RunnerSpec)

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

type RunnerStatus

type RunnerStatus struct {
	// Phase describes the current phase the space instance is in
	// +optional
	Phase RunnerStatusPhase `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"`
}

func (*RunnerStatus) DeepCopy

func (in *RunnerStatus) DeepCopy() *RunnerStatus

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

func (*RunnerStatus) DeepCopyInto

func (in *RunnerStatus) DeepCopyInto(out *RunnerStatus)

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

type RunnerStatusPhase

type RunnerStatusPhase string

RunnerStatusPhase describes the phase of a cluster

const (
	RunnerStatusPhaseInitializing RunnerStatusPhase = ""
	RunnerStatusPhaseInitialized  RunnerStatusPhase = "Initialized"
	RunnerStatusPhaseFailed       RunnerStatusPhase = "Failed"
)

These are the valid admin account types

type SSHProjectSpec

type SSHProjectSpec struct {
	// Token defines the private ssh key to use for authentication,
	// this is a base64 encoded string.
	// +optional
	Token string `json:"token,omitempty"`

	// TokenSecretRef defines the project secret to use as private ssh key for authentication.
	// Will be used if `Token` is not provided.
	// +optional
	TokenProjectSecretRef *corev1.SecretKeySelector `json:"tokenSecretRef,omitempty"`
}

func (*SSHProjectSpec) DeepCopy

func (in *SSHProjectSpec) DeepCopy() *SSHProjectSpec

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

func (*SSHProjectSpec) DeepCopyInto

func (in *SSHProjectSpec) DeepCopyInto(out *SSHProjectSpec)

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

type SecretRef

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

SecretRef is the reference to a secret containing the user password

func (*SecretRef) DeepCopy

func (in *SecretRef) DeepCopy() *SecretRef

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

func (*SecretRef) DeepCopyInto

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

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

type SharedSecret

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

	Spec   SharedSecretSpec   `json:"spec,omitempty"`
	Status SharedSecretStatus `json:"status,omitempty"`
}

SharedSecret holds the secret information +k8s:openapi-gen=true

func (*SharedSecret) DeepCopy

func (in *SharedSecret) DeepCopy() *SharedSecret

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

func (*SharedSecret) DeepCopyInto

func (in *SharedSecret) DeepCopyInto(out *SharedSecret)

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

func (*SharedSecret) DeepCopyObject

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

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

func (*SharedSecret) GetAccess

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

func (*SharedSecret) GetConditions

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

GetConditions implements conditions.Setter

func (*SharedSecret) GetOwner

func (a *SharedSecret) GetOwner() *UserOrTeam

func (*SharedSecret) SetAccess

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

func (*SharedSecret) SetConditions

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

SetConditions implements conditions.Setter

func (*SharedSecret) SetOwner

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

type SharedSecretList

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

SharedSecretList contains a list of SharedSecret

func (*SharedSecretList) DeepCopy

func (in *SharedSecretList) DeepCopy() *SharedSecretList

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

func (*SharedSecretList) DeepCopyInto

func (in *SharedSecretList) DeepCopyInto(out *SharedSecretList)

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

func (*SharedSecretList) DeepCopyObject

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

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

type SharedSecretSpec

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

	// Description describes a shared secret
	// +optional
	Description string `json:"description,omitempty"`

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

	// Data contains the secret data. Each key must consist of alphanumeric
	// characters, '-', '_' or '.'. The serialized form of the secret data is a
	// base64 encoded string, representing the arbitrary (possibly non-string)
	// data value here. Described in https://tools.ietf.org/html/rfc4648#section-4
	// +optional
	Data map[string][]byte `json:"data,omitempty"`

	// Access holds the access rights for users and teams which will be transformed
	// to Roles and RoleBindings
	// +optional
	Access []Access `json:"access,omitempty"`
}

SharedSecretSpec holds the specification

func (*SharedSecretSpec) DeepCopy

func (in *SharedSecretSpec) DeepCopy() *SharedSecretSpec

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

func (*SharedSecretSpec) DeepCopyInto

func (in *SharedSecretSpec) DeepCopyInto(out *SharedSecretSpec)

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

type SharedSecretStatus

type SharedSecretStatus struct {
	// Conditions holds several conditions the project might be in
	// +optional
	Conditions agentstoragev1.Conditions `json:"conditions,omitempty"`
}

SharedSecretStatus holds the status

func (*SharedSecretStatus) DeepCopy

func (in *SharedSecretStatus) DeepCopy() *SharedSecretStatus

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

func (*SharedSecretStatus) DeepCopyInto

func (in *SharedSecretStatus) DeepCopyInto(out *SharedSecretStatus)

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

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

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

func (*SpaceInstanceTemplateDefinition) DeepCopyInto

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

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

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

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

func (in *Target) DeepCopy() *Target

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

func (*Target) DeepCopyInto

func (in *Target) DeepCopyInto(out *Target)

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

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

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

func (in *Task) DeepCopy() *Task

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

func (*Task) DeepCopyInto

func (in *Task) DeepCopyInto(out *Task)

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

func (*Task) DeepCopyObject

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

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

func (*Task) GetAccess

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

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) SetAccess

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

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

func (in *TaskList) DeepCopy() *TaskList

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

func (*TaskList) DeepCopyInto

func (in *TaskList) DeepCopyInto(out *TaskList)

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

func (*TaskList) DeepCopyObject

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

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

func (in *TaskSpec) DeepCopy() *TaskSpec

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

func (*TaskSpec) DeepCopyInto

func (in *TaskSpec) DeepCopyInto(out *TaskSpec)

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

func (in *Team) DeepCopy() *Team

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

func (*Team) DeepCopyInto

func (in *Team) DeepCopyInto(out *Team)

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

func (*Team) DeepCopyObject

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

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

func (*Team) GetAccess

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

func (*Team) GetOwner

func (a *Team) GetOwner() *UserOrTeam

func (*Team) SetAccess

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

func (*Team) SetOwner

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

type TeamList

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

TeamList contains a list of Team

func (*TeamList) DeepCopy

func (in *TeamList) DeepCopy() *TeamList

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

func (*TeamList) DeepCopyInto

func (in *TeamList) DeepCopyInto(out *TeamList)

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

func (*TeamList) DeepCopyObject

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

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

type TeamSpec

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

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

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

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

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

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

	// ImagePullSecrets holds secret references to image pull
	// secrets the team has access to.
	// +optional
	ImagePullSecrets []*KindSecretRef `json:"imagePullSecrets,omitempty"`

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

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

func (*TeamSpec) DeepCopy

func (in *TeamSpec) DeepCopy() *TeamSpec

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

func (*TeamSpec) DeepCopyInto

func (in *TeamSpec) DeepCopyInto(out *TeamSpec)

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

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 User

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

	Spec   UserSpec   `json:"spec,omitempty"`
	Status UserStatus `json:"status,omitempty"`
}

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

func (*User) DeepCopy

func (in *User) DeepCopy() *User

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

func (*User) DeepCopyInto

func (in *User) DeepCopyInto(out *User)

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

func (*User) DeepCopyObject

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

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

func (*User) GetAccess

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

func (*User) GetOwner

func (a *User) GetOwner() *UserOrTeam

func (*User) SetAccess

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

func (*User) SetOwner

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

type UserList

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

UserList contains a list of User

func (*UserList) DeepCopy

func (in *UserList) DeepCopy() *UserList

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

func (*UserList) DeepCopyInto

func (in *UserList) DeepCopyInto(out *UserList)

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

func (*UserList) DeepCopyObject

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

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

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

func (*UserSpec) DeepCopy

func (in *UserSpec) DeepCopy() *UserSpec

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

func (*UserSpec) DeepCopyInto

func (in *UserSpec) DeepCopyInto(out *UserSpec)

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

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

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

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

func (*VirtualClusterAccessPoint) DeepCopyInto

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

type VirtualClusterAccessPointIngressSpec

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

func (*VirtualClusterAccessPointIngressSpec) DeepCopy

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

func (*VirtualClusterAccessPointIngressSpec) DeepCopyInto

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

type 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

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

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

func (*VirtualClusterCommonSpec) DeepCopyInto

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

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

type VirtualClusterHelmChart

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

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

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

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

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

func (*VirtualClusterHelmChart) DeepCopy

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

func (*VirtualClusterHelmChart) DeepCopyInto

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

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

type VirtualClusterHelmRelease

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

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

func (*VirtualClusterHelmRelease) DeepCopy

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

func (*VirtualClusterHelmRelease) DeepCopyInto

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

type VirtualClusterHelmReleaseStatus

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

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

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

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

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

func (*VirtualClusterHelmReleaseStatus) DeepCopy

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

func (*VirtualClusterHelmReleaseStatus) DeepCopyInto

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

type VirtualClusterInstance

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

	Spec   VirtualClusterInstanceSpec   `json:"spec,omitempty"`
	Status VirtualClusterInstanceStatus `json:"status,omitempty"`
}

VirtualClusterInstance +k8s:openapi-gen=true

func (*VirtualClusterInstance) DeepCopy

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

func (*VirtualClusterInstance) DeepCopyInto

func (in *VirtualClusterInstance) DeepCopyInto(out *VirtualClusterInstance)

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

func (*VirtualClusterInstance) DeepCopyObject

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

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

func (*VirtualClusterInstance) GetAccess

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

func (*VirtualClusterInstance) GetConditions

func (*VirtualClusterInstance) GetOwner

func (a *VirtualClusterInstance) GetOwner() *UserOrTeam

func (*VirtualClusterInstance) SetAccess

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

func (*VirtualClusterInstance) SetConditions

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

func (*VirtualClusterInstance) SetOwner

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

type VirtualClusterInstanceList

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

VirtualClusterInstanceList contains a list of VirtualClusterInstance objects

func (*VirtualClusterInstanceList) DeepCopy

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

func (*VirtualClusterInstanceList) DeepCopyInto

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

func (*VirtualClusterInstanceList) DeepCopyObject

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

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

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

func (*VirtualClusterInstanceSpec) DeepCopy

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

func (*VirtualClusterInstanceSpec) DeepCopyInto

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

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

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

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

func (*VirtualClusterInstanceStatus) DeepCopyInto

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

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

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

func (*VirtualClusterInstanceTemplateDefinition) DeepCopyInto

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

type VirtualClusterPhase

type VirtualClusterPhase string

VirtualClusterPhase describes the phase of a virtual cluster

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

These are the valid admin account types

type VirtualClusterProSpec

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

func (*VirtualClusterProSpec) DeepCopy

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

func (*VirtualClusterProSpec) DeepCopyInto

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

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

type 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

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

func (*VirtualClusterSpaceTemplateDefinition) DeepCopyInto

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

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

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

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

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

func (*VirtualClusterTemplateDefinition) DeepCopyInto

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

type VirtualClusterTemplateList

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

VirtualClusterTemplateList contains a list of VirtualClusterTemplate

func (*VirtualClusterTemplateList) DeepCopy

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

func (*VirtualClusterTemplateList) DeepCopyInto

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

func (*VirtualClusterTemplateList) DeepCopyObject

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

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

type VirtualClusterTemplateSpaceTemplateRef

type VirtualClusterTemplateSpaceTemplateRef struct {
	// Name of the space template
	// +optional
	Name string `json:"name,omitempty"`
}

func (*VirtualClusterTemplateSpaceTemplateRef) DeepCopy

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

func (*VirtualClusterTemplateSpaceTemplateRef) DeepCopyInto

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

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

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

func (*VirtualClusterTemplateSpec) DeepCopyInto

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

type VirtualClusterTemplateStatus

type VirtualClusterTemplateStatus struct {
}

VirtualClusterTemplateStatus holds the status

func (*VirtualClusterTemplateStatus) DeepCopy

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

func (*VirtualClusterTemplateStatus) DeepCopyInto

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

type VirtualClusterTemplateVersion

type VirtualClusterTemplateVersion struct {
	// Template holds the space template
	// +optional
	Template VirtualClusterTemplateDefinition `json:"template,omitempty"`

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

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

func (*VirtualClusterTemplateVersion) DeepCopy

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

func (*VirtualClusterTemplateVersion) DeepCopyInto

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

func (*VirtualClusterTemplateVersion) GetVersion

func (a *VirtualClusterTemplateVersion) GetVersion() string

type WorkspaceStatus

type WorkspaceStatus string
var (
	WorkspaceStatusNotFound WorkspaceStatus = "NotFound"
	WorkspaceStatusStopped  WorkspaceStatus = "Stopped"
	WorkspaceStatusBusy     WorkspaceStatus = "Busy"
	WorkspaceStatusRunning  WorkspaceStatus = "Running"
)

type WorkspaceStatusResult

type WorkspaceStatusResult struct {
	ID       string `json:"id,omitempty"`
	Context  string `json:"context,omitempty"`
	Provider string `json:"provider,omitempty"`
	State    string `json:"state,omitempty"`
}

func (*WorkspaceStatusResult) DeepCopy

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

func (*WorkspaceStatusResult) DeepCopyInto

func (in *WorkspaceStatusResult) DeepCopyInto(out *WorkspaceStatusResult)

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

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL