Help us shape the future of Go! Take the 2026 Go Developer Survey

v1

package
v1.1.0 Latest Latest
Warning

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

Go to latest
Published: Apr 18, 2026 License: MPL-2.0 Imports: 9 Imported by: 14

Documentation

Overview

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

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

Index

Constants

View Source
const (
	DevsyCluster = "devsy-cluster"

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

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

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

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

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

	BuildKitServiceAddress                                         = "devsy.sh/buildkit-service-address"
	BuildKitLastAppliedHashAnnotation                              = "devsy.sh/buildkit-last-applied-hash"
	BuildKitDeployed                  agentstoragev1.ConditionType = "BuildKitDeployed"
	BuildKitAvailable                 agentstoragev1.ConditionType = "BuildKitAvailable"
)
View Source
const (
	// NodeClaim conditions
	NodeClaimConditionTypeProvisioned = "Provisioned"
	// NodeClaimConditionTypeJoined is the condition that indicates if the node claim is joined to the vCluster.
	NodeClaimConditionTypeJoined = "Joined"
	// ConditionTypeScheduled is the condition that indicates if the node claim is scheduled.
	NodeClaimConditionTypeScheduled = "Scheduled"
	// NodeClaimConditionTypeNotDrifted is the condition that indicates if the node claim is not drifted from the desired state.
	NodeClaimConditionTypeNotDrifted = "NotDrifted"
)
View Source
const (
	// NodeEnvironment conditions
	NodeEnvironmentConditionTypeSyncProperties = "SyncProperties"
	NodeEnvironmentConditionTypeProvisioned    = "Provisioned"
	NodeEnvironmentConditionTypeSynced         = "Synced"
)
View Source
const (
	NodeProviderTypeBCM       string = "bcm"
	NodeProviderTypeKubeVirt  string = "kubeVirt"
	NodeProviderTypeTerraform string = "terraform"

	// NodeProviderConditionTypeInitialized is the condition that indicates if the node provider is initialized.
	NodeProviderConditionTypeInitialized = "Initialized"
)
View Source
const (
	// NodeProviderPhasePending is the initial state of a NodeProvider.
	NodeProviderPhasePending NodeProviderPhase = "Pending"
	// NodeProviderPhaseAvailable means the underlying node has been successfully provisioned.
	NodeProviderPhaseAvailable NodeProviderPhase = "Available"
	// NodeProviderPhaseFailed means the provisioning process has failed.
	NodeProviderPhaseFailed NodeProviderPhase = "Failed"
	// NodeProvider specific label
	NodeProvidedManagedTypeIndicatorLabel     = "autoscaling.devsy.sh/managed-by"
	NodeProviderManagedTypeMetadataAnnotation = "autoscaling.devsy.sh/managed-metadata"

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

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

	// KubeVirt specific annotations
	NodeTypeVMTemplateAnnotation = "kubevirt.devsy.sh/vm-template"
)
View Source
const (
	NodeTypePropertyKey = "devsy.com/node-type"

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

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

	ConditionReasonVaultIntegrationError = "VaultIntegrationError"

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

	RancherLastAppliedHashAnnotation = "devsy.sh/rancher-integration-last-applied-hash"
)
View Source
const (
	InstanceScheduled              agentstoragev1.ConditionType = "Scheduled"
	InstanceTemplateSynced         agentstoragev1.ConditionType = "TemplateSynced"
	InstanceTemplateResolved       agentstoragev1.ConditionType = "TemplateResolved"
	InstanceSpaceSynced            agentstoragev1.ConditionType = "SpaceSynced"
	InstanceSpaceReady             agentstoragev1.ConditionType = "SpaceReady"
	InstanceVirtualClusterDeployed agentstoragev1.ConditionType = "VirtualClusterDeployed"
	InstanceVirtualClusterSynced   agentstoragev1.ConditionType = "VirtualClusterSynced"
	InstanceVirtualClusterReady    agentstoragev1.ConditionType = "VirtualClusterReady"
	InstanceVirtualClusterOnline   agentstoragev1.ConditionType = "VirtualClusterOnline"
	InstanceProjectsSecretsSynced  agentstoragev1.ConditionType = "ProjectSecretsSynced"
	InstanceNodesProvisioned       agentstoragev1.ConditionType = "NodesProvisioned"

	InstanceVirtualClusterAppsAndObjectsSynced agentstoragev1.ConditionType = "VirtualClusterAppsAndObjectsSynced"
	InstanceVirtualClusterDBConnectorSynced    agentstoragev1.ConditionType = "DBConnectorSynced"
)
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 (
	DevsyWorkspaceConditions = []agentstoragev1.ConditionType{
		InstanceScheduled,
		InstanceTemplateResolved,
	}

	// DevsyWorkspaceIDLabel holds the actual workspace id of the devsy workspace.
	DevsyWorkspaceIDLabel = "devsy.sh/workspace-id"

	// DevsyWorkspaceUIDLabel holds the actual workspace uid of the devsy workspace.
	DevsyWorkspaceUIDLabel = "devsy.sh/workspace-uid"

	// DevsyKubernetesProviderWorkspaceUIDLabel holds the actual workspace uid of the
	// devsy workspace on resources created by the Devsy Kubernetes provider.
	DevsyKubernetesProviderWorkspaceUIDLabel = "devpod.sh/workspace-uid"

	// DevsyWorkspacePictureAnnotation holds the workspace picture url of the devsy workspace.
	DevsyWorkspacePictureAnnotation = "devsy.sh/workspace-picture"

	// DevsyWorkspaceSourceAnnotation holds the workspace source of the devsy workspace.
	DevsyWorkspaceSourceAnnotation = "devsy.sh/workspace-source"

	// DevsyClientsAnnotation holds the active clients for a workspace networpeer.
	DevsyClientsAnnotation = "devsy.sh/devpod-clients"
)
View Source
var (
	DevsyPlatformOptions = "DEVPOD_PLATFORM_OPTIONS"

	DevsyFlagsUp     = "DEVPOD_FLAGS_UP"
	DevsyFlagsDelete = "DEVPOD_FLAGS_DELETE"
	DevsyFlagsStop   = "DEVPOD_FLAGS_STOP"
)
View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "storage.devsy.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"
	DevsyWorkspaceTemplateKind = "DevsyWorkspaceTemplate"
	DevsyWorkspacePresetKind   = "DevsyWorkspacePreset"
)
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_DevsyWorkspaceInstance added in v1.0.2

func SetObjectDefaults_DevsyWorkspaceInstance(in *DevsyWorkspaceInstance)

func SetObjectDefaults_DevsyWorkspaceInstanceList added in v1.0.2

func SetObjectDefaults_DevsyWorkspaceInstanceList(in *DevsyWorkspaceInstanceList)

func SetObjectDefaults_DevsyWorkspaceTemplate added in v1.0.2

func SetObjectDefaults_DevsyWorkspaceTemplate(in *DevsyWorkspaceTemplate)

func SetObjectDefaults_DevsyWorkspaceTemplateList added in v1.0.2

func SetObjectDefaults_DevsyWorkspaceTemplateList(in *DevsyWorkspaceTemplateList)

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

	// AllowDevsyCLI allows certain read-only management requests to
	// make sure devsy cli works correctly with this specific access key.
	//
	// Deprecated: Use the `roles` field instead
	//  “`yaml
	//  # Example:
	//  roles:
	//    - role: loftCLI
	//  “`
	// +optional
	AllowDevsyCLI 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"
	AccessKeyScopeRoleDevsy       AccessKeyScopeRoleName = "devsy"
	AccessKeyScopeRoleNetworkPeer AccessKeyScopeRoleName = "network-peer"
	AccessKeyScopeRoleDevsyCLI    AccessKeyScopeRoleName = "devsy-cli"
	AccessKeyScopeRoleRunner      AccessKeyScopeRoleName = "runner"
	AccessKeyScopeRoleWorkspace   AccessKeyScopeRoleName = "workspace"
)

type AccessKeyScopeRule

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

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

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

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

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

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

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

AccessKeyScopeRule describes a rule for the access key

func (*AccessKeyScopeRule) DeepCopy

func (in *AccessKeyScopeRule) DeepCopy() *AccessKeyScopeRule

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

func (*AccessKeyScopeRule) DeepCopyInto

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

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

type AccessKeyScopeSpace

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

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

func (*AccessKeyScopeSpace) DeepCopy

func (in *AccessKeyScopeSpace) DeepCopy() *AccessKeyScopeSpace

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

func (*AccessKeyScopeSpace) DeepCopyInto

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

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

type AccessKeyScopeVirtualCluster

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

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

func (*AccessKeyScopeVirtualCluster) DeepCopy

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 devsy itself.
	// +optional
	Type AccessKeyType `json:"type,omitempty"`

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

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

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

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

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

func (*AccessKeySpec) DeepCopy

func (in *AccessKeySpec) DeepCopy() *AccessKeySpec

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

func (*AccessKeySpec) DeepCopyInto

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

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

type AccessKeyStatus

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

AccessKeyStatus holds the status of an access key

func (*AccessKeyStatus) DeepCopy

func (in *AccessKeyStatus) DeepCopy() *AccessKeyStatus

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

func (*AccessKeyStatus) DeepCopyInto

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

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

type AccessKeyType

type AccessKeyType string

AccessKeyType describes the type of an access key

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

These are the valid access key types

type AccessKeyVirtualCluster

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

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

func (*AccessKeyVirtualCluster) DeepCopy

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
	// DevsyWorkspaceTemplate, VirtualClusterTemplate & SpaceTemplate.
	// +optional
	Kind string `json:"kind,omitempty"`

	// Group of the template that is allowed. Currently only supports storage.devsy.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 Devsy 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 'devsy-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 Devsy 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 Devsy.
	// +optional
	SSO *ArgoSSOSpec `json:"sso,omitempty"`

	// Project defines project related values for the ArgoCD Integration. Enabling Project
	// integration will cause Devsy to generate and manage an ArgoCD appProject that corresponds to
	// the Devsy 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 Devsy to create an appProject in ArgoCD that is associated with the Devsy
	// Project. When Project integration is enabled Devsy 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 devsy 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 devsy default roles will be set. If no roles are provided *and* SSO is enabled, devsy 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 Devsy to configure SSO authentication via Devsy 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 devsy
	// and ArgoCD. If not specified OIDC integration will be skipped, but devsys/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 Devsy -- by default
	// this will be the `read-only` role. If any roles are provided this will override the default
	// setting.
	// +optional
	AssignedRoles []string `json:"assignedRoles,omitempty"`
}

func (*ArgoSSOSpec) DeepCopy

func (in *ArgoSSOSpec) DeepCopy() *ArgoSSOSpec

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

func (*ArgoSSOSpec) DeepCopyInto

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

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

type BCMNodeTypeSpec

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

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

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

func (*BCMNodeTypeSpec) DeepCopy

func (in *BCMNodeTypeSpec) DeepCopy() *BCMNodeTypeSpec

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

func (*BCMNodeTypeSpec) DeepCopyInto

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

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

type Chart

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

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

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

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

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

Chart describes a chart

func (*Chart) DeepCopy

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

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

func (*Cluster) GetOwner

func (a *Cluster) GetOwner() *UserOrTeam

func (*Cluster) SetAccess

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

func (*Cluster) SetConditions

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

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

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

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

ClusterSpec holds the cluster specification

func (*ClusterSpec) DeepCopy

func (in *ClusterSpec) DeepCopy() *ClusterSpec

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

func (*ClusterSpec) DeepCopyInto

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

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

type ClusterStatus

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

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

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

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

ClusterStatus holds the user status

func (*ClusterStatus) DeepCopy

func (in *ClusterStatus) DeepCopy() *ClusterStatus

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

func (*ClusterStatus) DeepCopyInto

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

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

type ClusterStatusPhase

type ClusterStatusPhase string

ClusterStatusPhase describes the phase of a cluster

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

These are the valid admin account types

type 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 DevsyCommandDeleteOptions added in v1.0.2

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

func (*DevsyCommandDeleteOptions) DeepCopy added in v1.0.2

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

func (*DevsyCommandDeleteOptions) DeepCopyInto added in v1.0.2

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

type DevsyCommandStatusOptions added in v1.0.2

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

func (*DevsyCommandStatusOptions) DeepCopy added in v1.0.2

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

func (*DevsyCommandStatusOptions) DeepCopyInto added in v1.0.2

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

type DevsyCommandStopOptions added in v1.0.2

type DevsyCommandStopOptions struct{}

func (*DevsyCommandStopOptions) DeepCopy added in v1.0.2

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

func (*DevsyCommandStopOptions) DeepCopyInto added in v1.0.2

func (in *DevsyCommandStopOptions) DeepCopyInto(out *DevsyCommandStopOptions)

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

type DevsyCommandUpOptions added in v1.0.2

type DevsyCommandUpOptions 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 (*DevsyCommandUpOptions) DeepCopy added in v1.0.2

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

func (*DevsyCommandUpOptions) DeepCopyInto added in v1.0.2

func (in *DevsyCommandUpOptions) DeepCopyInto(out *DevsyCommandUpOptions)

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

type DevsyEnvironmentTemplate added in v1.0.2

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

	Spec   DevsyEnvironmentTemplateSpec   `json:"spec,omitempty"`
	Status DevsyEnvironmentTemplateStatus `json:"status,omitempty"`
}

DevsyWorkspaceEnvironmentSource +k8s:openapi-gen=true

func (*DevsyEnvironmentTemplate) DeepCopy added in v1.0.2

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

func (*DevsyEnvironmentTemplate) DeepCopyInto added in v1.0.2

func (in *DevsyEnvironmentTemplate) DeepCopyInto(out *DevsyEnvironmentTemplate)

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

func (*DevsyEnvironmentTemplate) DeepCopyObject added in v1.0.2

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

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

func (*DevsyEnvironmentTemplate) GetAccess added in v1.0.2

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

func (*DevsyEnvironmentTemplate) GetOwner added in v1.0.2

func (a *DevsyEnvironmentTemplate) GetOwner() *UserOrTeam

func (*DevsyEnvironmentTemplate) GetVersions added in v1.0.2

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

func (*DevsyEnvironmentTemplate) SetAccess added in v1.0.2

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

func (*DevsyEnvironmentTemplate) SetOwner added in v1.0.2

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

type DevsyEnvironmentTemplateDefinition added in v1.0.2

type DevsyEnvironmentTemplateDefinition struct {
	// Git holds configuration for git environment spec source
	// +optional
	Git *GitEnvironmentTemplate `json:"git,omitempty"`

	// Inline holds an inline devcontainer.json definition
	// +optional
	Inline string `json:"inline,omitempty"`

	// WorkspaceRepositoryCloneStrategy determines how the workspaces git repository will be checked out in the pod if the workspace is git based
	// +optional
	WorkspaceRepositoryCloneStrategy GitCloneStrategy `json:"workspaceRepositoryCloneStrategy,omitempty"`

	// WorkspaceRepositorySkipLFS specifies if git lfs will be skipped when cloning the repository into the workspace
	// +optional
	WorkspaceRepositorySkipLFS bool `json:"workspaceRepositorySkipLFS,omitempty"`
}

func (*DevsyEnvironmentTemplateDefinition) DeepCopy added in v1.0.2

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

func (*DevsyEnvironmentTemplateDefinition) DeepCopyInto added in v1.0.2

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

type DevsyEnvironmentTemplateList added in v1.0.2

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

DevsyEnvironmentTemplateList contains a list of DevsyEnvironmentTemplate objects.

func (*DevsyEnvironmentTemplateList) DeepCopy added in v1.0.2

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

func (*DevsyEnvironmentTemplateList) DeepCopyInto added in v1.0.2

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

func (*DevsyEnvironmentTemplateList) DeepCopyObject added in v1.0.2

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

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

type DevsyEnvironmentTemplateSpec added in v1.0.2

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

	// Description describes the environment template
	// +optional
	Description string `json:"description,omitempty"`

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

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

	// Template is the inline template to use for Devsy environments
	// +optional
	Template *DevsyEnvironmentTemplateDefinition `json:"template,omitempty"`

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

func (*DevsyEnvironmentTemplateSpec) DeepCopy added in v1.0.2

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

func (*DevsyEnvironmentTemplateSpec) DeepCopyInto added in v1.0.2

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

type DevsyEnvironmentTemplateStatus added in v1.0.2

type DevsyEnvironmentTemplateStatus struct{}

DevsyEnvironmentTemplateStatus holds the status.

func (*DevsyEnvironmentTemplateStatus) DeepCopy added in v1.0.2

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

func (*DevsyEnvironmentTemplateStatus) DeepCopyInto added in v1.0.2

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

type DevsyEnvironmentTemplateVersion added in v1.0.2

type DevsyEnvironmentTemplateVersion struct {
	// Template holds the environment template definition
	// +optional
	Template DevsyEnvironmentTemplateDefinition `json:"template,omitempty"`

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

func (*DevsyEnvironmentTemplateVersion) DeepCopy added in v1.0.2

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

func (*DevsyEnvironmentTemplateVersion) DeepCopyInto added in v1.0.2

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

func (*DevsyEnvironmentTemplateVersion) GetVersion added in v1.0.2

func (a *DevsyEnvironmentTemplateVersion) GetVersion() string

type DevsyProjectSpec added in v1.0.2

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

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

	// RegistryPattern specifies a template pattern to use for building images on the fly.
	// Requires the platform pods to be authenticated against the registry.
	// +optional
	RegistryPattern string `json:"registryPattern,omitempty"`
}

func (*DevsyProjectSpec) DeepCopy added in v1.0.2

func (in *DevsyProjectSpec) DeepCopy() *DevsyProjectSpec

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

func (*DevsyProjectSpec) DeepCopyInto added in v1.0.2

func (in *DevsyProjectSpec) DeepCopyInto(out *DevsyProjectSpec)

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

type DevsyProviderOption added in v1.0.2

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

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

func (*DevsyProviderOption) DeepCopy added in v1.0.2

func (in *DevsyProviderOption) DeepCopy() *DevsyProviderOption

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

func (*DevsyProviderOption) DeepCopyInto added in v1.0.2

func (in *DevsyProviderOption) DeepCopyInto(out *DevsyProviderOption)

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

type DevsyProviderOptionFrom added in v1.0.2

type DevsyProviderOptionFrom 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 (*DevsyProviderOptionFrom) DeepCopy added in v1.0.2

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

func (*DevsyProviderOptionFrom) DeepCopyInto added in v1.0.2

func (in *DevsyProviderOptionFrom) DeepCopyInto(out *DevsyProviderOptionFrom)

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

type DevsyProviderSource added in v1.0.2

type DevsyProviderSource 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 (*DevsyProviderSource) DeepCopy added in v1.0.2

func (in *DevsyProviderSource) DeepCopy() *DevsyProviderSource

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

func (*DevsyProviderSource) DeepCopyInto added in v1.0.2

func (in *DevsyProviderSource) DeepCopyInto(out *DevsyProviderSource)

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

type DevsyWorkspaceContainer added in v1.0.2

type DevsyWorkspaceContainer struct {
	// Name of the container specified as a DNS_LABEL.
	Name string `json:"name"`
	// Container image name.
	// +optional
	Image string `json:"image,omitempty"`
	// Entrypoint array. Not executed within a shell.
	// +optional
	// +listType=atomic
	Command []string `json:"command,omitempty"`
	// Arguments to the entrypoint.
	// +optional
	// +listType=atomic
	Args []string `json:"args,omitempty"`
	// Container's working directory.
	// +optional
	WorkingDir string `json:"workingDir,omitempty"`
	// List of ports to expose from the container. Not specifying a port here
	// +optional
	Ports []corev1.ContainerPort `json:"ports,omitempty"`
	// +optional
	// +listType=atomic
	EnvFrom []corev1.EnvFromSource `json:"envFrom,omitempty"`
	// List of environment variables to set in the container.
	// +optional
	Env []corev1.EnvVar `json:"env,omitempty"`
	// Compute Resources required by this container.
	// +optional
	Resources DevsyWorkspaceResourceRequirements `json:"resources,omitempty"`
	// Resources resize policy for the container.
	// +optional
	// +listType=atomic
	ResizePolicy []corev1.ContainerResizePolicy `json:"resizePolicy,omitempty"`
	// RestartPolicy defines the restart behavior of individual containers in a pod.
	// +optional
	RestartPolicy *corev1.ContainerRestartPolicy `json:"restartPolicy,omitempty"`
	// Pod volumes to mount into the container's filesystem.
	// +optional
	VolumeMounts []corev1.VolumeMount `json:"volumeMounts,omitempty"`
	// volumeDevices is the list of block devices to be used by the container.
	// +optional
	VolumeDevices []corev1.VolumeDevice `json:"volumeDevices,omitempty"`
	// Periodic probe of container liveness.
	// +optional
	LivenessProbe *corev1.Probe `json:"livenessProbe,omitempty"`
	// Periodic probe of container service readiness.
	// +optional
	ReadinessProbe *corev1.Probe `json:"readinessProbe,omitempty"`
	// StartupProbe indicates that the Pod has successfully initialized.
	// +optional
	StartupProbe *corev1.Probe `json:"startupProbe,omitempty"`
	// Actions that the management system should take in response to container lifecycle events.
	// +optional
	Lifecycle *corev1.Lifecycle `json:"lifecycle,omitempty"`
	// Optional: Path at which the file to which the container's termination message
	// +optional
	TerminationMessagePath string `json:"terminationMessagePath,omitempty"`
	// Indicate how the termination message should be populated. File will use the contents of
	// +optional
	TerminationMessagePolicy corev1.TerminationMessagePolicy `json:"terminationMessagePolicy,omitempty"`
	// Image pull policy.
	// +optional
	ImagePullPolicy corev1.PullPolicy `json:"imagePullPolicy,omitempty"`
	// SecurityContext defines the security options the container should be run with.
	// +optional
	SecurityContext *corev1.SecurityContext `json:"securityContext,omitempty"`

	// Whether this container should allocate a buffer for stdin in the container runtime.
	// +optional
	Stdin bool `json:"stdin,omitempty"`
	// StdinOnce default is false
	// +optional
	StdinOnce bool `json:"stdinOnce,omitempty"`
	// TTY default is false.
	// +optional
	TTY bool `json:"tty,omitempty"`
}

// DevsyWorkspacePodResourceRequirements is a less restrictive corev1.Container.

func (*DevsyWorkspaceContainer) DeepCopy added in v1.0.2

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

func (*DevsyWorkspaceContainer) DeepCopyInto added in v1.0.2

func (in *DevsyWorkspaceContainer) DeepCopyInto(out *DevsyWorkspaceContainer)

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

type DevsyWorkspaceInstance added in v1.0.2

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

	Spec   DevsyWorkspaceInstanceSpec   `json:"spec,omitempty"`
	Status DevsyWorkspaceInstanceStatus `json:"status,omitempty"`
}

DevsyWorkspaceInstance +k8s:openapi-gen=true

func (*DevsyWorkspaceInstance) DeepCopy added in v1.0.2

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

func (*DevsyWorkspaceInstance) DeepCopyInto added in v1.0.2

func (in *DevsyWorkspaceInstance) DeepCopyInto(out *DevsyWorkspaceInstance)

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

func (*DevsyWorkspaceInstance) DeepCopyObject added in v1.0.2

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

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

func (*DevsyWorkspaceInstance) GetAccess added in v1.0.2

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

func (*DevsyWorkspaceInstance) GetConditions added in v1.0.2

func (*DevsyWorkspaceInstance) GetOwner added in v1.0.2

func (a *DevsyWorkspaceInstance) GetOwner() *UserOrTeam

func (*DevsyWorkspaceInstance) SetAccess added in v1.0.2

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

func (*DevsyWorkspaceInstance) SetConditions added in v1.0.2

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

func (*DevsyWorkspaceInstance) SetOwner added in v1.0.2

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

type DevsyWorkspaceInstanceContainerResource added in v1.0.2

type DevsyWorkspaceInstanceContainerResource struct {
	// Name is the name of the container
	// +optional
	Name string `json:"name,omitempty"`
	// Resources is the resources of the container
	// +optional
	Resources corev1.ResourceRequirements `json:"resources,omitempty"`
}

func (*DevsyWorkspaceInstanceContainerResource) DeepCopy added in v1.0.2

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

func (*DevsyWorkspaceInstanceContainerResource) DeepCopyInto added in v1.0.2

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

type DevsyWorkspaceInstanceEvent added in v1.0.2

type DevsyWorkspaceInstanceEvent struct {
	// This should be a short, machine understandable string that gives the reason
	// for the transition into the object's current status.
	// TODO: provide exact specification for format.
	// +optional
	Reason string `json:"reason,omitempty" protobuf:"bytes,3,opt,name=reason"`

	// A human-readable description of the status of this operation.
	// TODO: decide on maximum length.
	// +optional
	Message string `json:"message,omitempty" protobuf:"bytes,4,opt,name=message"`

	// The time at which the most recent occurrence of this event was recorded.
	// +optional
	LastTimestamp metav1.Time `json:"lastTimestamp,omitempty" protobuf:"bytes,7,opt,name=lastTimestamp"`

	// Type of this event (Normal, Warning), new types could be added in the future
	// +optional
	Type string `json:"type,omitempty" protobuf:"bytes,9,opt,name=type"`
}

func (*DevsyWorkspaceInstanceEvent) DeepCopy added in v1.0.2

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

func (*DevsyWorkspaceInstanceEvent) DeepCopyInto added in v1.0.2

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

type DevsyWorkspaceInstanceKubernetesStatus added in v1.0.2

type DevsyWorkspaceInstanceKubernetesStatus struct {
	// Last time the condition transitioned from one status to another.
	// +required
	LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"`

	// PodStatus is the status of the pod that is running the workspace
	// +optional
	PodStatus *DevsyWorkspaceInstancePodStatus `json:"podStatus,omitempty"`

	// PersistentVolumeClaimStatus is the pvc that is used to store the workspace.
	// +optional
	PersistentVolumeClaimStatus *DevsyWorkspaceInstancePersistentVolumeClaimStatus `json:"persistentVolumeClaimStatus,omitempty"` //nolint:lll
}

func (*DevsyWorkspaceInstanceKubernetesStatus) DeepCopy added in v1.0.2

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

func (*DevsyWorkspaceInstanceKubernetesStatus) DeepCopyInto added in v1.0.2

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

type DevsyWorkspaceInstanceList added in v1.0.2

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

DevsyWorkspaceInstanceList contains a list of DevsyWorkspaceInstance objects.

func (*DevsyWorkspaceInstanceList) DeepCopy added in v1.0.2

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

func (*DevsyWorkspaceInstanceList) DeepCopyInto added in v1.0.2

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

func (*DevsyWorkspaceInstanceList) DeepCopyObject added in v1.0.2

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

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

type DevsyWorkspaceInstancePersistentVolumeClaimStatus added in v1.0.2

type DevsyWorkspaceInstancePersistentVolumeClaimStatus struct {
	// phase represents the current phase of PersistentVolumeClaim.
	// +optional
	Phase corev1.PersistentVolumeClaimPhase `json:"phase,omitempty" protobuf:"bytes,1,opt,name=phase,casttype=PersistentVolumeClaimPhase"`
	// capacity represents the actual resources of the underlying volume.
	// +optional
	Capacity corev1.ResourceList `json:"capacity,omitempty" protobuf:"bytes,3,rep,name=capacity,casttype=ResourceList,castkey=ResourceName"`
	// conditions is the current Condition of persistent volume claim. If underlying persistent volume is being
	// resized then the Condition will be set to 'Resizing'.
	// +optional
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +listType=map
	// +listMapKey=type
	Conditions []corev1.PersistentVolumeClaimCondition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,4,rep,name=conditions"`
	// Events are the events of the pod that is running the workspace. This will only be filled if the persistent volume claim is not bound.
	// +optional
	Events []DevsyWorkspaceInstanceEvent `json:"events,omitempty"`
}

func (*DevsyWorkspaceInstancePersistentVolumeClaimStatus) DeepCopy added in v1.0.2

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

func (*DevsyWorkspaceInstancePersistentVolumeClaimStatus) DeepCopyInto added in v1.0.2

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

type DevsyWorkspaceInstancePodStatus added in v1.0.2

type DevsyWorkspaceInstancePodStatus struct {
	// The phase of a Pod is a simple, high-level summary of where the Pod is in its lifecycle.
	// The conditions array, the reason and message fields, and the individual container status
	// arrays contain more detail about the pod's status.
	// There are five possible phase values:
	//
	// Pending: The pod has been accepted by the Kubernetes system, but one or more of the
	// container images has not been created. This includes time before being scheduled as
	// well as time spent downloading images over the network, which could take a while.
	// Running: The pod has been bound to a node, and all of the containers have been created.
	// At least one container is still running, or is in the process of starting or restarting.
	// Succeeded: All containers in the pod have terminated in success, and will not be restarted.
	// Failed: All containers in the pod have terminated, and at least one container has
	// terminated in failure. The container either exited with non-zero status or was terminated
	// by the system.
	// Unknown: For some reason the state of the pod could not be obtained, typically due to an
	// error in communicating with the host of the pod.
	//
	// More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-phase
	// +optional
	Phase corev1.PodPhase `json:"phase,omitempty" protobuf:"bytes,1,opt,name=phase,casttype=PodPhase"`
	// Current service state of pod.
	// More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-conditions
	// +optional
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +listType=map
	// +listMapKey=type
	Conditions []corev1.PodCondition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,2,rep,name=conditions"`
	// A human readable message indicating details about why the pod is in this condition.
	// +optional
	Message string `json:"message,omitempty" protobuf:"bytes,3,opt,name=message"`
	// A brief CamelCase message indicating details about why the pod is in this state.
	// e.g. 'Evicted'
	// +optional
	Reason string `json:"reason,omitempty" protobuf:"bytes,4,opt,name=reason"`
	// Statuses of init containers in this pod. The most recent successful non-restartable
	// init container will have ready = true, the most recently started container will have
	// startTime set.
	// Each init container in the pod should have at most one status in this list,
	// and all statuses should be for containers in the pod.
	// However this is not enforced.
	// If a status for a non-existent container is present in the list, or the list has duplicate names,
	// the behavior of various Kubernetes components is not defined and those statuses might be
	// ignored.
	// More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#pod-and-container-status
	// +listType=atomic
	InitContainerStatuses []corev1.ContainerStatus `json:"initContainerStatuses,omitempty" protobuf:"bytes,10,rep,name=initContainerStatuses"`
	// Statuses of containers in this pod.
	// Each container in the pod should have at most one status in this list,
	// and all statuses should be for containers in the pod.
	// However this is not enforced.
	// If a status for a non-existent container is present in the list, or the list has duplicate names,
	// the behavior of various Kubernetes components is not defined and those statuses might be
	// ignored.
	// More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-and-container-status
	// +optional
	// +listType=atomic
	ContainerStatuses []corev1.ContainerStatus `json:"containerStatuses,omitempty" protobuf:"bytes,8,rep,name=containerStatuses"`
	// NodeName is the name of the node that is running the workspace
	// +optional
	NodeName string `json:"nodeName,omitempty"`
	// Events are the events of the pod that is running the workspace. This will only be filled if the pod is not running.
	// +optional
	Events []DevsyWorkspaceInstanceEvent `json:"events,omitempty"`
	// ContainerResources are the resources of the containers that are running the workspace
	// +optional
	ContainerResources []DevsyWorkspaceInstanceContainerResource `json:"containerResources,omitempty"`
	// ContainerMetrics are the metrics of the pod that is running the workspace
	// +optional
	ContainerMetrics []metricsv1beta1.ContainerMetrics `json:"containerMetrics,omitempty"`
}

func (*DevsyWorkspaceInstancePodStatus) DeepCopy added in v1.0.2

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

func (*DevsyWorkspaceInstancePodStatus) DeepCopyInto added in v1.0.2

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

type DevsyWorkspaceInstanceSpec added in v1.0.2

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

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

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

	// PresetRef holds the DevsyWorkspacePreset template reference
	// +optional
	PresetRef *PresetRef `json:"presetRef,omitempty"`

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

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

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

	// Target is the reference to the cluster holding this workspace
	// +optional
	Target WorkspaceTarget `json:"target,omitempty"`

	// RunnerRef is the reference to the 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 Devsy 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 (*DevsyWorkspaceInstanceSpec) DeepCopy added in v1.0.2

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

func (*DevsyWorkspaceInstanceSpec) DeepCopyInto added in v1.0.2

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

type DevsyWorkspaceInstanceStatus added in v1.0.2

type DevsyWorkspaceInstanceStatus struct {
	// ResolvedTarget is the resolved target of the workspace
	// +optional
	ResolvedTarget WorkspaceResolvedTarget `json:"resolvedTarget,omitempty"`

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

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

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

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

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

	// Kubernetes is the status of the workspace on kubernetes
	// +optional
	Kubernetes *DevsyWorkspaceInstanceKubernetesStatus `json:"kubernetes,omitempty"`
}

func (*DevsyWorkspaceInstanceStatus) DeepCopy added in v1.0.2

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

func (*DevsyWorkspaceInstanceStatus) DeepCopyInto added in v1.0.2

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

type DevsyWorkspaceInstanceTemplateDefinition added in v1.0.2

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

func (*DevsyWorkspaceInstanceTemplateDefinition) DeepCopy added in v1.0.2

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

func (*DevsyWorkspaceInstanceTemplateDefinition) DeepCopyInto added in v1.0.2

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

type DevsyWorkspaceKubernetesSpec added in v1.0.2

type DevsyWorkspaceKubernetesSpec struct {
	// Pod holds the definition for workspace pod.
	//
	// Defaults will be applied for fields that aren't specified.
	// +optional
	Pod *DevsyWorkspacePodTemplate `json:"pod,omitempty"`

	// VolumeClaim holds the definition for the main workspace persistent volume.
	// This volume is guaranteed to exist for the lifespan of the workspace.
	//
	// Defaults will be applied for fields that aren't specified.
	// +optional
	VolumeClaim *DevsyWorkspaceVolumeClaimTemplate `json:"volumeClaim,omitempty"`

	// PodTimeout specifies a maximum duration to wait for the workspace pod to start up before failing.
	// Default: 10m
	// +optional
	PodTimeout string `json:"podTimeout,omitempty"`

	// NodeArchitecture specifies the node architecture the workspace image will be built for.
	// Only necessary if you need to build workspace images on the fly in the kubernetes cluster and your cluster is mixed architecture.
	// +optional
	NodeArchitecure string `json:"nodeArchitecture,omitempty"`

	// SpaceTemplateRef is a reference to the space that should get created for this Devsy.
	// 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 Devsy.
	// 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 Devsy.
	// 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 Devsy.
	// If this is specified, the kubernetes provider will be selected automatically.
	// +optional
	VirtualClusterTemplate *VirtualClusterTemplateDefinition `json:"virtualClusterTemplate,omitempty"`
}

func (*DevsyWorkspaceKubernetesSpec) DeepCopy added in v1.0.2

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

func (*DevsyWorkspaceKubernetesSpec) DeepCopyInto added in v1.0.2

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

type DevsyWorkspacePodTemplate added in v1.0.2

type DevsyWorkspacePodTemplate struct {
	// The pods metadata
	// +kubebuilder:pruning:PreserveUnknownFields
	// +optional
	TemplateMetadata `json:"metadata,omitempty"`

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

DevsyWorkspacePodTemplate is a less restrictive PodTemplate.

func (*DevsyWorkspacePodTemplate) DeepCopy added in v1.0.2

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

func (*DevsyWorkspacePodTemplate) DeepCopyInto added in v1.0.2

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

type DevsyWorkspacePodTemplateSpec added in v1.0.2

type DevsyWorkspacePodTemplateSpec struct {
	// List of volumes that can be mounted by containers belonging to the pod.
	// +optional
	Volumes []corev1.Volume `json:"volumes,omitempty"`

	// List of initialization containers belonging to the pod.
	// +optional
	InitContainers []DevsyWorkspaceContainer `json:"initContainers,omitempty"`

	// List of containers belonging to the pod.
	// +optional
	Containers []DevsyWorkspaceContainer `json:"containers,omitempty"`

	// Restart policy for all containers within the pod.
	// +optional
	RestartPolicy corev1.RestartPolicy `json:"restartPolicy,omitempty"`

	// Optional duration in seconds the pod needs to terminate gracefully. May be decreased in delete request.
	// +optional
	TerminationGracePeriodSeconds *int64 `json:"terminationGracePeriodSeconds,omitempty"`

	// Optional duration in seconds the pod may be active on the node relative to
	// +optional
	ActiveDeadlineSeconds *int64 `json:"activeDeadlineSeconds,omitempty"`

	// Set DNS policy for the pod.
	// +optional
	DNSPolicy corev1.DNSPolicy `json:"dnsPolicy,omitempty"`

	// NodeSelector is a selector which must be true for the pod to fit on a node.
	// +optional
	NodeSelector map[string]string `json:"nodeSelector,omitempty"`

	// ServiceAccountName is the name of the ServiceAccount to use to run this pod.
	// +optional
	ServiceAccountName string `json:"serviceAccountName,omitempty"`

	// AutomountServiceAccountToken indicates whether a service account token should be automatically mounted.
	// +optional
	AutomountServiceAccountToken *bool `json:"automountServiceAccountToken,omitempty"`

	// NodeName indicates in which node this pod is scheduled.
	// +optional
	NodeName string `json:"nodeName,omitempty"`

	// Host networking requested for this pod. Use the host's network namespace.
	// +optional
	HostNetwork bool `json:"hostNetwork,omitempty"`

	// Use the host's pid namespace.
	// +optional
	HostPID bool `json:"hostPID,omitempty"`

	// Use the host's ipc namespace.
	// +optional
	HostIPC bool `json:"hostIPC,omitempty"`

	// Share a single process namespace between all of the containers in a pod.
	// +optional
	ShareProcessNamespace *bool `json:"shareProcessNamespace,omitempty"`

	// SecurityContext holds pod-level security attributes and common container settings.
	// +optional
	SecurityContext *corev1.PodSecurityContext `json:"securityContext,omitempty"`

	// ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec.
	// +optional
	ImagePullSecrets []corev1.LocalObjectReference `json:"imagePullSecrets,omitempty"`

	// Specifies the hostname of the Pod
	// +optional
	Hostname string `json:"hostname,omitempty"`

	// If specified, the fully qualified Pod hostname will be "<hostname>.<subdomain>.<pod namespace>.svc.<cluster domain>".
	// +optional
	Subdomain string `json:"subdomain,omitempty"`

	// If specified, the pod's scheduling constraints
	// +optional
	Affinity *corev1.Affinity `json:"affinity,omitempty"`

	// If specified, the pod will be dispatched by specified scheduler.
	// If not specified, the pod will be dispatched by default scheduler.
	// +optional
	SchedulerName string `json:"schedulerName,omitempty"`

	// If specified, the pod's tolerations.
	// +optional
	Tolerations []corev1.Toleration `json:"tolerations,omitempty"`

	// HostAliases is an optional list of hosts and IPs that will be injected into the pod's hosts
	// +optional
	HostAliases []corev1.HostAlias `json:"hostAliases,omitempty"`

	// If specified, indicates the pod's priority.
	// +optional
	PriorityClassName string `json:"priorityClassName,omitempty"`

	// +optional
	Priority *int32 `json:"priority,omitempty"`

	// Specifies the DNS parameters of a pod.
	// +optional
	DNSConfig *corev1.PodDNSConfig `json:"dnsConfig,omitempty"`

	// If specified, all readiness gates will be evaluated for pod readiness.
	// +optional
	ReadinessGates []corev1.PodReadinessGate `json:"readinessGates,omitempty"`

	// RuntimeClassName refers to a RuntimeClass object in the node.k8s.io group, which should be used to run this pod
	// +optional
	RuntimeClassName *string `json:"runtimeClassName,omitempty"`

	// EnableServiceLinks indicates whether information about services should be injected into pod's
	// environment variables, matching the syntax of Docker links.
	// +optional
	EnableServiceLinks *bool `json:"enableServiceLinks,omitempty"`

	// PreemptionPolicy is the Policy for preempting pods with lower priority.
	// +optional
	PreemptionPolicy *corev1.PreemptionPolicy `json:"preemptionPolicy,omitempty"`

	// Overhead represents the resource overhead associated with running a pod for a given RuntimeClass.
	// +optional
	Overhead corev1.ResourceList `json:"overhead,omitempty"`

	// TopologySpreadConstraints describes how a group of pods ought to spread across topology domains.
	// +optional
	TopologySpreadConstraints []corev1.TopologySpreadConstraint `json:"topologySpreadConstraints,omitempty"`

	// If true the pod's hostname will be configured as the pod's FQDN, rather than the leaf name (the default).
	// In Linux containers, this means setting the FQDN in the hostname field of the kernel (the nodename field of struct utsname).
	// In Windows containers, this means setting the registry value of hostname for the registry key HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\Tcpip\\Parameters to FQDN.
	// +optional
	SetHostnameAsFQDN *bool `json:"setHostnameAsFQDN,omitempty"`

	// Specifies the OS of the containers in the pod.
	// +optional
	OS *corev1.PodOS `json:"os,omitempty"`

	// Use the host's user namespace.
	// +optional
	HostUsers *bool `json:"hostUsers,omitempty"`

	// SchedulingGates is an opaque list of values that if specified will block scheduling the pod.
	// If schedulingGates is not empty, the pod will stay in the SchedulingGated state and the
	// scheduler will not attempt to schedule the pod.
	// +optional
	SchedulingGates []corev1.PodSchedulingGate `json:"schedulingGates,omitempty"`

	// ResourceClaims defines which ResourceClaims must be allocated
	// and reserved before the Pod is allowed to start. The resources
	// will be made available to those containers which consume them
	// by name.
	// +optional
	ResourceClaims []corev1.PodResourceClaim `json:"resourceClaims,omitempty"`

	// Resources is the total amount of CPU and Memory resources required by all
	// containers in the pod. It supports specifying Requests and Limits for
	// "cpu" and "memory" resource names only. ResourceClaims are not supported.
	// +optional
	Resources *DevsyWorkspaceResourceRequirements `json:"resources,omitempty"`
}

DevsyWorkspacePodTemplateSpec is a less restrictive PodSpec.

func (*DevsyWorkspacePodTemplateSpec) DeepCopy added in v1.0.2

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

func (*DevsyWorkspacePodTemplateSpec) DeepCopyInto added in v1.0.2

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

type DevsyWorkspacePreset added in v1.0.2

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

	Spec   DevsyWorkspacePresetSpec   `json:"spec,omitempty"`
	Status DevsyWorkspacePresetStatus `json:"status,omitempty"`
}

DevsyWorkspacePreset +k8s:openapi-gen=true

func (*DevsyWorkspacePreset) DeepCopy added in v1.0.2

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

func (*DevsyWorkspacePreset) DeepCopyInto added in v1.0.2

func (in *DevsyWorkspacePreset) DeepCopyInto(out *DevsyWorkspacePreset)

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

func (*DevsyWorkspacePreset) DeepCopyObject added in v1.0.2

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

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

func (*DevsyWorkspacePreset) GetAccess added in v1.0.2

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

func (*DevsyWorkspacePreset) GetOwner added in v1.0.2

func (a *DevsyWorkspacePreset) GetOwner() *UserOrTeam

func (*DevsyWorkspacePreset) SetAccess added in v1.0.2

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

func (*DevsyWorkspacePreset) SetOwner added in v1.0.2

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

type DevsyWorkspacePresetList added in v1.0.2

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

+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object DevsyWorkspacePresetList contains a list of DevsyWorkspacePreset objects.

func (*DevsyWorkspacePresetList) DeepCopy added in v1.0.2

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

func (*DevsyWorkspacePresetList) DeepCopyInto added in v1.0.2

func (in *DevsyWorkspacePresetList) DeepCopyInto(out *DevsyWorkspacePresetList)

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

func (*DevsyWorkspacePresetList) DeepCopyObject added in v1.0.2

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

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

type DevsyWorkspacePresetSource added in v1.0.2

type DevsyWorkspacePresetSource struct {
	// Git stores path to git repo to use as workspace source
	// +optional
	Git string `json:"git,omitempty"`

	// Image stores container image to use as workspace source
	// +optional
	Image string `json:"image,omitempty"`
}

func (*DevsyWorkspacePresetSource) DeepCopy added in v1.0.2

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

func (*DevsyWorkspacePresetSource) DeepCopyInto added in v1.0.2

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

type DevsyWorkspacePresetSpec added in v1.0.2

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

	// Source stores inline path of project source
	Source *DevsyWorkspacePresetSource `json:"source"`

	// InfrastructureRef stores reference to DevsyWorkspaceTemplate to use
	InfrastructureRef *TemplateRef `json:"infrastructureRef"`

	// EnvironmentRef stores reference to DevsyEnvironmentTemplate
	// +optional
	EnvironmentRef *EnvironmentRef `json:"environmentRef,omitempty"`

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

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

	// Access to the Devsy 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 []DevsyWorkspacePresetVersion `json:"versions,omitempty"`
}

func (*DevsyWorkspacePresetSpec) DeepCopy added in v1.0.2

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

func (*DevsyWorkspacePresetSpec) DeepCopyInto added in v1.0.2

func (in *DevsyWorkspacePresetSpec) DeepCopyInto(out *DevsyWorkspacePresetSpec)

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

type DevsyWorkspacePresetStatus added in v1.0.2

type DevsyWorkspacePresetStatus struct{}

DevsyWorkspacePresetStatus holds the status.

func (*DevsyWorkspacePresetStatus) DeepCopy added in v1.0.2

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

func (*DevsyWorkspacePresetStatus) DeepCopyInto added in v1.0.2

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

type DevsyWorkspacePresetVersion added in v1.0.2

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

	// Source stores inline path of project source
	// +optional
	Source *DevsyWorkspacePresetSource `json:"source,omitempty"`

	// InfrastructureRef stores reference to DevsyWorkspaceTemplate to use
	// +optional
	InfrastructureRef *TemplateRef `json:"infrastructureRef,omitempty"`

	// EnvironmentRef stores reference to DevsyEnvironmentTemplate
	// +optional
	EnvironmentRef *EnvironmentRef `json:"environmentRef,omitempty"`
}

func (*DevsyWorkspacePresetVersion) DeepCopy added in v1.0.2

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

func (*DevsyWorkspacePresetVersion) DeepCopyInto added in v1.0.2

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

type DevsyWorkspaceProvider added in v1.0.2

type DevsyWorkspaceProvider struct {
	// Name is the name of the provider. This can also be an url.
	// +optional
	Name string `json:"name,omitempty"`

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

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

func (*DevsyWorkspaceProvider) DeepCopy added in v1.0.2

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

func (*DevsyWorkspaceProvider) DeepCopyInto added in v1.0.2

func (in *DevsyWorkspaceProvider) DeepCopyInto(out *DevsyWorkspaceProvider)

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

type DevsyWorkspaceResourceRequirements added in v1.0.2

type DevsyWorkspaceResourceRequirements struct {
	// Limits describes the maximum amount of compute resources allowed.
	// +optional
	Limits map[corev1.ResourceName]string `json:"limits,omitempty"`

	// Requests describes the minimum amount of compute resources required.
	// +optional
	Requests map[corev1.ResourceName]string `json:"requests,omitempty"`

	// Claims lists the names of resources, defined in spec.resourceClaims,
	// that are used by this container.
	// +optional
	Claims []corev1.ResourceClaim `json:"claims,omitempty"`
}

DevsyWorkspacePodResourceRequirements are less restrictive corev1.ResourceRequirements.

func (*DevsyWorkspaceResourceRequirements) DeepCopy added in v1.0.2

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

func (*DevsyWorkspaceResourceRequirements) DeepCopyInto added in v1.0.2

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

type DevsyWorkspaceTemplate added in v1.0.2

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

	Spec   DevsyWorkspaceTemplateSpec   `json:"spec,omitempty"`
	Status DevsyWorkspaceTemplateStatus `json:"status,omitempty"`
}

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

func (*DevsyWorkspaceTemplate) DeepCopy added in v1.0.2

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

func (*DevsyWorkspaceTemplate) DeepCopyInto added in v1.0.2

func (in *DevsyWorkspaceTemplate) DeepCopyInto(out *DevsyWorkspaceTemplate)

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

func (*DevsyWorkspaceTemplate) DeepCopyObject added in v1.0.2

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

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

func (*DevsyWorkspaceTemplate) GetAccess added in v1.0.2

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

func (*DevsyWorkspaceTemplate) GetOwner added in v1.0.2

func (a *DevsyWorkspaceTemplate) GetOwner() *UserOrTeam

func (*DevsyWorkspaceTemplate) GetVersions added in v1.0.2

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

func (*DevsyWorkspaceTemplate) SetAccess added in v1.0.2

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

func (*DevsyWorkspaceTemplate) SetOwner added in v1.0.2

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

type DevsyWorkspaceTemplateDefinition added in v1.0.2

type DevsyWorkspaceTemplateDefinition struct {
	// Kubernetes holds the definition for kubernetes based workspaces
	Kubernetes *DevsyWorkspaceKubernetesSpec `json:"kubernetes,omitempty"`

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

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

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

	// Provider holds the legacy VM provider configuration
	//
	// +optional
	Provider *DevsyWorkspaceProvider `json:"provider,omitempty"`
}

func (*DevsyWorkspaceTemplateDefinition) DeepCopy added in v1.0.2

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

func (*DevsyWorkspaceTemplateDefinition) DeepCopyInto added in v1.0.2

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

type DevsyWorkspaceTemplateList added in v1.0.2

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

DevsyWorkspaceTemplateList contains a list of DevsyWorkspaceTemplate.

func (*DevsyWorkspaceTemplateList) DeepCopy added in v1.0.2

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

func (*DevsyWorkspaceTemplateList) DeepCopyInto added in v1.0.2

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

func (*DevsyWorkspaceTemplateList) DeepCopyObject added in v1.0.2

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

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

type DevsyWorkspaceTemplateSpec added in v1.0.2

type DevsyWorkspaceTemplateSpec 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 Devsy workspace template
	Template DevsyWorkspaceTemplateDefinition `json:"template,omitempty"`

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

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

DevsyWorkspaceTemplateSpec holds the specification.

func (*DevsyWorkspaceTemplateSpec) DeepCopy added in v1.0.2

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

func (*DevsyWorkspaceTemplateSpec) DeepCopyInto added in v1.0.2

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

type DevsyWorkspaceTemplateStatus added in v1.0.2

type DevsyWorkspaceTemplateStatus struct{}

DevsyWorkspaceTemplateStatus holds the status.

func (*DevsyWorkspaceTemplateStatus) DeepCopy added in v1.0.2

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

func (*DevsyWorkspaceTemplateStatus) DeepCopyInto added in v1.0.2

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

type DevsyWorkspaceTemplateVersion added in v1.0.2

type DevsyWorkspaceTemplateVersion struct {
	// Template holds the Devsy template
	// +optional
	Template DevsyWorkspaceTemplateDefinition `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 (*DevsyWorkspaceTemplateVersion) DeepCopy added in v1.0.2

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

func (*DevsyWorkspaceTemplateVersion) DeepCopyInto added in v1.0.2

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

func (*DevsyWorkspaceTemplateVersion) GetVersion added in v1.0.2

func (a *DevsyWorkspaceTemplateVersion) GetVersion() string

type DevsyWorkspaceVolumeClaimSpec added in v1.0.2

type DevsyWorkspaceVolumeClaimSpec struct {
	// accessModes contains the desired access modes the volume should have.
	// +optional
	// +listType=atomic
	AccessModes []corev1.PersistentVolumeAccessMode `json:"accessModes,omitempty"`
	// selector is a label query over volumes to consider for binding.
	// +optional
	Selector *metav1.LabelSelector `json:"selector,omitempty"`
	// resources represents the minimum resources the volume should have.
	// +optional
	Resources DevsyWorkspaceResourceRequirements `json:"resources,omitempty"`
	// volumeName is the binding reference to the PersistentVolume backing this claim.
	// +optional
	VolumeName string `json:"volumeName,omitempty"`
	// storageClassName is the name of the StorageClass required by the claim.
	// +optional
	StorageClassName *string `json:"storageClassName,omitempty"`
	// volumeMode defines what type of volume is required by the claim.
	// +optional
	VolumeMode *corev1.PersistentVolumeMode `json:"volumeMode,omitempty"`
	// dataSource field can be used to specify either:
	// +optional
	DataSource *corev1.TypedLocalObjectReference `json:"dataSource,omitempty"`
	// dataSourceRef specifies the object from which to populate the volume with data, if a non-empty
	// +optional
	DataSourceRef *corev1.TypedObjectReference `json:"dataSourceRef,omitempty"`
	// volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim.
	// +optional
	VolumeAttributesClassName *string `json:"volumeAttributesClassName,omitempty"`
}

func (*DevsyWorkspaceVolumeClaimSpec) DeepCopy added in v1.0.2

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

func (*DevsyWorkspaceVolumeClaimSpec) DeepCopyInto added in v1.0.2

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

type DevsyWorkspaceVolumeClaimTemplate added in v1.0.2

type DevsyWorkspaceVolumeClaimTemplate struct {
	// The pods metadata
	// +kubebuilder:pruning:PreserveUnknownFields
	// +optional
	TemplateMetadata `json:"metadata,omitempty"`

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

func (*DevsyWorkspaceVolumeClaimTemplate) DeepCopy added in v1.0.2

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

func (*DevsyWorkspaceVolumeClaimTemplate) DeepCopyInto added in v1.0.2

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

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 DevsyEnvironmentTemplate this references
	Name string `json:"name"`

	// Version is the version of DevsyEnvironmentTemplate this references
	// +optional
	Version string `json:"version,omitempty"`
}

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/devsy-org/devsy/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 GitProjectCredentials

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

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

func (*GitProjectCredentials) DeepCopy

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

func (*GitProjectCredentials) DeepCopyInto

func (in *GitProjectCredentials) DeepCopyInto(out *GitProjectCredentials)

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

type GitProjectSpec

type GitProjectSpec struct {
	// HTTP defines additional http related settings like credentials, to be
	// specified as base64 encoded strings.
	// +optional
	HTTP *GitProjectCredentials `json:"http,omitempty"`

	// SSH defines additional ssh related settings like private keys, to be
	// specified as base64 encoded strings.
	// +optional
	SSH *GitProjectCredentials `json:"ssh,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 KubeVirtClusterRef

type KubeVirtClusterRef struct {
	// Cluster is the connected cluster the VMs will be created in
	Cluster string `json:"cluster"`

	// Namespace is the namespace inside the connected cluster holding VMs
	Namespace string `json:"namespace"`
}

func (*KubeVirtClusterRef) DeepCopy

func (in *KubeVirtClusterRef) DeepCopy() *KubeVirtClusterRef

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

func (*KubeVirtClusterRef) DeepCopyInto

func (in *KubeVirtClusterRef) DeepCopyInto(out *KubeVirtClusterRef)

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

type KubeVirtNodeTypeSpec

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

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

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

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

KubeVirtNodeTypeSpec defines single NodeType spec for KubeVirt provider type.

func (*KubeVirtNodeTypeSpec) DeepCopy

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

func (*KubeVirtNodeTypeSpec) DeepCopyInto

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

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

type LocalClusterAccessSpec

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

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

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

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

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

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

func (*LocalClusterAccessSpec) DeepCopy

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 ManagedNodeTypeObjectMeta

type ManagedNodeTypeObjectMeta struct {
	// Labels holds labels to add to this managed NodeType.
	Labels map[string]string `json:"labels,omitempty"`

	// Annotations holds annotations to add to this managed NodeType.
	Annotations map[string]string `json:"annotations,omitempty"`
}

func (*ManagedNodeTypeObjectMeta) DeepCopy

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

func (*ManagedNodeTypeObjectMeta) 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.devsy.sh
	// +optional
	Group string `json:"group,omitempty"`

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

	// ClusterRole is the assigned role for the above member
	ClusterRole string `json:"clusterRole"`
}

func (*Member) DeepCopy

func (in *Member) DeepCopy() *Member

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

func (*Member) DeepCopyInto

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

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

type Metrics

type Metrics struct {
	// Replicas is the number of desired replicas.
	Replicas *int32 `json:"replicas,omitempty"`

	// Resources are compute resource required by the metrics backend
	Resources *corev1.ResourceRequirements `json:"resources,omitempty"`

	// Retention is the metrics data retention period. Default is 1y
	Retention string `json:"retention,omitempty"`

	// Storage contains settings related to the metrics backend's persistent volume configuration
	Storage `json:"storage,omitempty"`
}

func (*Metrics) DeepCopy

func (in *Metrics) DeepCopy() *Metrics

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

func (*Metrics) DeepCopyInto

func (in *Metrics) DeepCopyInto(out *Metrics)

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

type NamedNodeTypeSpec

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

	// Name is the name of this node type.
	Name string `json:"name"`

	// Metadata holds metadata to add to this managed NodeType.
	Metadata ManagedNodeTypeObjectMeta `json:"metadata,omitempty"`
}

func (*NamedNodeTypeSpec) DeepCopy

func (in *NamedNodeTypeSpec) DeepCopy() *NamedNodeTypeSpec

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

func (*NamedNodeTypeSpec) DeepCopyInto

func (in *NamedNodeTypeSpec) DeepCopyInto(out *NamedNodeTypeSpec)

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

type NamespacePattern

type NamespacePattern struct {
	// Space holds the namespace pattern to use for space instances
	// +optional
	Space string `json:"space,omitempty"`

	// VirtualCluster holds the namespace pattern to use for virtual cluster instances
	// +optional
	VirtualCluster string `json:"virtualCluster,omitempty"`

	// DevsyWorkspace holds the namespace pattern to use for Devsy workspaces
	// +optional
	DevsyWorkspace string `json:"devPodWorkspace,omitempty"`
}

func (*NamespacePattern) DeepCopy

func (in *NamespacePattern) DeepCopy() *NamespacePattern

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

func (*NamespacePattern) DeepCopyInto

func (in *NamespacePattern) DeepCopyInto(out *NamespacePattern)

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

type NamespacedRef

type NamespacedRef struct {
	// Name is the name of this resource
	Name string `json:"name"`
	// Namespace is the namespace of this resource
	Namespace string `json:"namespace"`
}

func (*NamespacedRef) DeepCopy

func (in *NamespacedRef) DeepCopy() *NamespacedRef

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

func (*NamespacedRef) DeepCopyInto

func (in *NamespacedRef) DeepCopyInto(out *NamespacedRef)

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

type NetworkPeer

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

	Spec   NetworkPeerSpec   `json:"spec,omitempty"`
	Status NetworkPeerStatus `json:"status,omitempty"`
}

NetworkPeer hols the information of network peers +k8s:openapi-gen=true

func (*NetworkPeer) DeepCopy

func (in *NetworkPeer) DeepCopy() *NetworkPeer

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

func (*NetworkPeer) DeepCopyInto

func (in *NetworkPeer) DeepCopyInto(out *NetworkPeer)

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

func (*NetworkPeer) DeepCopyObject

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

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

type NetworkPeerList

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

NetworkPeerList contains a list of NetworkPeers.

func (*NetworkPeerList) DeepCopy

func (in *NetworkPeerList) DeepCopy() *NetworkPeerList

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

func (*NetworkPeerList) DeepCopyInto

func (in *NetworkPeerList) DeepCopyInto(out *NetworkPeerList)

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

func (*NetworkPeerList) DeepCopyObject

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

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

type NetworkPeerSpec

type NetworkPeerSpec struct {
	// DiscoKey is a key used for DERP discovery
	DiscoKey string `json:"discoKey,omitempty"`
	// MachineKey is used to identify a network peer
	MachineKey string `json:"machineKey,omitempty"`
	// NodeKey is used to identify a session
	NodeKey string `json:"nodeKey,omitempty"`
	// Addresses is a list of IP addresses of this Node directly.
	Addresses []string `json:"addresses,omitempty"`
	// AllowedIPs is a range of IP addresses to route to this node.
	AllowedIPs []string `json:"allowedIPs,omitempty"`
	// Endpoints is a list of IP+port (public via STUN, and local LANs) where
	// this node can be reached.
	Endpoints []string `json:"endpoints,omitempty"`
}

func (*NetworkPeerSpec) DeepCopy

func (in *NetworkPeerSpec) DeepCopy() *NetworkPeerSpec

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

func (*NetworkPeerSpec) DeepCopyInto

func (in *NetworkPeerSpec) DeepCopyInto(out *NetworkPeerSpec)

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

type NetworkPeerStatus

type NetworkPeerStatus struct {
	// LastSeen is when the network peer was last online. It is not updated when
	// Online is true.
	LastSeen string `json:"lastSeen,omitempty"`
	// HomeDerpRegion is the currently preferred DERP region by the network peer
	HomeDerpRegion int `json:"homeDerpRegion,omitempty"`
	// Online is whether the node is currently connected to the coordination
	// server.
	Online bool `json:"online,omitempty"`
}

func (*NetworkPeerStatus) DeepCopy

func (in *NetworkPeerStatus) DeepCopy() *NetworkPeerStatus

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

func (*NetworkPeerStatus) DeepCopyInto

func (in *NetworkPeerStatus) DeepCopyInto(out *NetworkPeerStatus)

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

type NodeClaim

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

	Spec   NodeClaimSpec   `json:"spec,omitempty"`
	Status NodeClaimStatus `json:"status,omitempty"`
}

NodeClaim holds the node claim for vCluster. +k8s:openapi-gen=true

func (*NodeClaim) DeepCopy

func (in *NodeClaim) DeepCopy() *NodeClaim

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

func (*NodeClaim) DeepCopyInto

func (in *NodeClaim) DeepCopyInto(out *NodeClaim)

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

func (*NodeClaim) DeepCopyObject

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

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

func (*NodeClaim) GetConditions

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

func (*NodeClaim) SetConditions

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

type NodeClaimList

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

NodeClaimList contains a list of NodeClaim.

func (*NodeClaimList) DeepCopy

func (in *NodeClaimList) DeepCopy() *NodeClaimList

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

func (*NodeClaimList) DeepCopyInto

func (in *NodeClaimList) DeepCopyInto(out *NodeClaimList)

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

func (*NodeClaimList) DeepCopyObject

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

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

type NodeClaimPhase

type NodeClaimPhase string

NodeClaimPhase defines the phase of the NodeClaim

const (
	// NodeClaimPhasePending is the initial state of a NodeClaim.
	NodeClaimPhasePending NodeClaimPhase = "Pending"
	// NodeClaimPhaseAvailable means the underlying node has been successfully provisioned.
	NodeClaimPhaseAvailable NodeClaimPhase = "Available"
	// NodeClaimPhaseFailed means the provisioning process has failed.
	NodeClaimPhaseFailed NodeClaimPhase = "Failed"
)

type NodeClaimSpec

type NodeClaimSpec struct {
	// Taints will be applied to the NodeClaim's node.
	// +optional
	Taints []corev1.Taint `json:"taints,omitempty"`

	// StartupTaints are taints that are applied to nodes upon startup which are expected to be removed automatically
	// within a short period of time, typically by a DaemonSet that tolerates the taint. These are commonly used by
	// daemonsets to allow initialization and enforce startup ordering.  StartupTaints are ignored for provisioning
	// purposes in that pods are not required to tolerate a StartupTaint in order to have nodes provisioned for them.
	// +optional
	StartupTaints []corev1.Taint `json:"startupTaints,omitempty"`

	// KubeletArgs are additional arguments to pass to the kubelet.
	// +optional
	KubeletArgs map[string]string `json:"kubeletArgs,omitempty"`

	// DesiredCapacity specifies the resources requested by the NodeClaim.
	DesiredCapacity corev1.ResourceList `json:"desiredCapacity,omitempty"`

	// Requirements are the requirements for the NodeClaim.
	Requirements []corev1.NodeSelectorRequirement `json:"requirements,omitempty"`

	// ProviderRef is the name of the NodeProvider that this NodeClaim is based on.
	ProviderRef string `json:"providerRef,omitempty"`

	// TypeRef is the full name of the NodeType that this NodeClaim is based on.
	TypeRef string `json:"typeRef,omitempty"`

	// DevsyRef references source vCluster. This is required.
	DevsyRef string `json:"vClusterRef"`

	// ControlPlane indicates if the node claim is for a control plane node.
	// +optional
	ControlPlane bool `json:"controlPlane,omitempty"`
}

NodeClaimSpec defines spec of node claim.

func (*NodeClaimSpec) DeepCopy

func (in *NodeClaimSpec) DeepCopy() *NodeClaimSpec

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

func (*NodeClaimSpec) DeepCopyInto

func (in *NodeClaimSpec) DeepCopyInto(out *NodeClaimSpec)

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

type NodeClaimStatus

type NodeClaimStatus struct {
	// Phase is the current lifecycle phase of the NodeClaim.
	// +optional
	Phase NodeClaimPhase `json:"phase,omitempty"`

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

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

	// Conditions describe the current state of the platform NodeClaim.
	// +optional
	Conditions agentstoragev1.Conditions `json:"conditions,omitempty"`
}

func (*NodeClaimStatus) DeepCopy

func (in *NodeClaimStatus) DeepCopy() *NodeClaimStatus

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

func (*NodeClaimStatus) DeepCopyInto

func (in *NodeClaimStatus) DeepCopyInto(out *NodeClaimStatus)

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

type NodeEnvironment

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

	Spec   NodeEnvironmentSpec   `json:"spec,omitempty"`
	Status NodeEnvironmentStatus `json:"status,omitempty"`
}

NodeEnvironment holds the node environment for vCluster. +k8s:openapi-gen=true

func (*NodeEnvironment) DeepCopy

func (in *NodeEnvironment) DeepCopy() *NodeEnvironment

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

func (*NodeEnvironment) DeepCopyInto

func (in *NodeEnvironment) DeepCopyInto(out *NodeEnvironment)

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

func (*NodeEnvironment) DeepCopyObject

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

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

func (*NodeEnvironment) GetConditions

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

func (*NodeEnvironment) SetConditions

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

type NodeEnvironmentList

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

NodeEnvironmentList contains a list of NodeEnvironment.

func (*NodeEnvironmentList) DeepCopy

func (in *NodeEnvironmentList) DeepCopy() *NodeEnvironmentList

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

func (*NodeEnvironmentList) DeepCopyInto

func (in *NodeEnvironmentList) DeepCopyInto(out *NodeEnvironmentList)

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

func (*NodeEnvironmentList) DeepCopyObject

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

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

type NodeEnvironmentPhase

type NodeEnvironmentPhase string

NodeEnvironmentPhase defines the phase of the NodeEnvironment

const (
	// NodeEnvironmentPhasePending is the initial state of a NodeEnvironment.
	NodeEnvironmentPhasePending NodeEnvironmentPhase = "Pending"
	// NodeEnvironmentPhaseAvailable means the underlying node environment has been successfully provisioned.
	NodeEnvironmentPhaseAvailable NodeEnvironmentPhase = "Available"
	// NodeEnvironmentPhaseFailed means the provisioning process has failed.
	NodeEnvironmentPhaseFailed NodeEnvironmentPhase = "Failed"
)

type NodeEnvironmentSpec

type NodeEnvironmentSpec struct {
	// Properties are the properties for the NodeEnvironment.
	Properties map[string]string `json:"properties,omitempty"`

	// ProviderRef is the name of the NodeProvider that this NodeEnvironment is based on.
	ProviderRef string `json:"providerRef"`

	// DevsyRef references source vCluster. This is required.
	DevsyRef string `json:"vClusterRef"`
}

NodeEnvironmentSpec defines spec of node environment.

func (*NodeEnvironmentSpec) DeepCopy

func (in *NodeEnvironmentSpec) DeepCopy() *NodeEnvironmentSpec

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

func (*NodeEnvironmentSpec) DeepCopyInto

func (in *NodeEnvironmentSpec) DeepCopyInto(out *NodeEnvironmentSpec)

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

type NodeEnvironmentStatus

type NodeEnvironmentStatus struct {
	// Phase is the current lifecycle phase of the NodeEnvironment.
	// +optional
	Phase NodeEnvironmentPhase `json:"phase,omitempty"`

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

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

	// Conditions describe the current state of the platform NodeClaim.
	// +optional
	Conditions agentstoragev1.Conditions `json:"conditions,omitempty"`
}

func (*NodeEnvironmentStatus) DeepCopy

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

func (*NodeEnvironmentStatus) DeepCopyInto

func (in *NodeEnvironmentStatus) DeepCopyInto(out *NodeEnvironmentStatus)

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

type NodeProvider

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

	Spec   NodeProviderSpec   `json:"spec,omitempty"`
	Status NodeProviderStatus `json:"status,omitempty"`
}

NodeProvider holds the information of a node provider config. This resource defines various ways a node can be provisioned or configured. +k8s:openapi-gen=true

func (*NodeProvider) DeepCopy

func (in *NodeProvider) DeepCopy() *NodeProvider

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

func (*NodeProvider) DeepCopyInto

func (in *NodeProvider) DeepCopyInto(out *NodeProvider)

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

func (*NodeProvider) DeepCopyObject

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

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

func (*NodeProvider) GetConditions

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

func (*NodeProvider) SetConditions

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

type NodeProviderBCM

type NodeProviderBCM struct {
	// SecretRef is a reference to secret with keys for BCM auth.
	SecretRef *NamespacedRef `json:"secretRef"`

	// Endpoint is a address for head node.
	Endpoint string `json:"endpoint"`

	// NodeTypes define NodeTypes that should be automatically created for this provider.
	NodeTypes []BCMNodeTypeSpec `json:"nodeTypes,omitempty"`
}

NodeProviderBCMSpec defines the configuration for a BCM node provider.

func (*NodeProviderBCM) DeepCopy

func (in *NodeProviderBCM) DeepCopy() *NodeProviderBCM

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

func (*NodeProviderBCM) DeepCopyInto

func (in *NodeProviderBCM) DeepCopyInto(out *NodeProviderBCM)

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

type NodeProviderKubeVirt

type NodeProviderKubeVirt struct {
	// ClusterRef is a reference to connected host cluster in which KubeVirt operator is running
	ClusterRef *KubeVirtClusterRef `json:"clusterRef,omitempty"`

	// VirtualMachineTemplate is a KubeVirt VirtualMachine template to use by NodeTypes managed by this NodeProvider
	VirtualMachineTemplate *runtime.RawExtension `json:"virtualMachineTemplate,omitempty"`

	// NodeTypes define NodeTypes that should be automatically created for this provider.
	NodeTypes []KubeVirtNodeTypeSpec `json:"nodeTypes"`
}

NodeProviderKubeVirt defines the configuration for a KubeVirt node provider.

func (*NodeProviderKubeVirt) DeepCopy

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

func (*NodeProviderKubeVirt) DeepCopyInto

func (in *NodeProviderKubeVirt) DeepCopyInto(out *NodeProviderKubeVirt)

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

type NodeProviderList

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

NodeProviderList contains a list of NodeProvider.

func (*NodeProviderList) DeepCopy

func (in *NodeProviderList) DeepCopy() *NodeProviderList

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

func (*NodeProviderList) DeepCopyInto

func (in *NodeProviderList) DeepCopyInto(out *NodeProviderList)

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

func (*NodeProviderList) DeepCopyObject

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

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

type NodeProviderPhase

type NodeProviderPhase string

NodeProviderPhase defines the phase of the NodeProvider

type NodeProviderSpec

type NodeProviderSpec struct {
	// BCM configures a node provider for BCM Bare Metal Cloud environments.
	// +optional
	BCM *NodeProviderBCM `json:"bcm,omitempty"`

	// Kubevirt configures a node provider using KubeVirt, enabling virtual machines
	// to be provisioned as nodes within a vCluster.
	// +optional
	KubeVirt *NodeProviderKubeVirt `json:"kubeVirt,omitempty"`

	// Terraform configures a node provider using Terraform, enabling nodes to be provisioned using Terraform.
	// +optional
	Terraform *NodeProviderTerraform `json:"terraform,omitempty"`

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

NodeProviderSpec defines the desired state of NodeProvider. Only one of the provider types (Pods, BCM, Kubevirt) should be specified at a time.

func (*NodeProviderSpec) DeepCopy

func (in *NodeProviderSpec) DeepCopy() *NodeProviderSpec

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

func (*NodeProviderSpec) DeepCopyInto

func (in *NodeProviderSpec) DeepCopyInto(out *NodeProviderSpec)

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

type NodeProviderStatus

type NodeProviderStatus struct {
	// Conditions describe the current state of the platform NodeProvider.
	// +optional
	Conditions agentstoragev1.Conditions `json:"conditions,omitempty"`

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

	// Phase is the current lifecycle phase of the NodeProvider.
	// +optional
	Phase NodeProviderPhase `json:"phase,omitempty"`

	// Message is a human-readable message indicating details about why the NodeProvider is in its current state.
	// +optional
	Message string `json:"message,omitempty"`
}

NodeProviderStatus defines the observed state of NodeProvider.

func (*NodeProviderStatus) DeepCopy

func (in *NodeProviderStatus) DeepCopy() *NodeProviderStatus

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

func (*NodeProviderStatus) DeepCopyInto

func (in *NodeProviderStatus) DeepCopyInto(out *NodeProviderStatus)

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

type NodeProviderTerraform

type NodeProviderTerraform struct {
	// NodeTemplate is the template to use for this node provider.
	NodeTemplate *TerraformTemplate `json:"nodeTemplate,omitempty"`

	// NodeEnvironmentTemplate is the template to use for this node environment.
	NodeEnvironmentTemplate *TerraformTemplate `json:"nodeEnvironmentTemplate,omitempty"`

	// NodeTypes define NodeTypes that should be automatically created for this provider.
	NodeTypes []TerraformNodeTypeSpec `json:"nodeTypes,omitempty"`
}

func (*NodeProviderTerraform) DeepCopy

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

func (*NodeProviderTerraform) DeepCopyInto

func (in *NodeProviderTerraform) DeepCopyInto(out *NodeProviderTerraform)

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

type NodeType

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

	Spec   NodeTypeSpec   `json:"spec,omitempty"`
	Status NodeTypeStatus `json:"status,omitempty"`
}

NodeType holds the information of a node type. +k8s:openapi-gen=true

func (*NodeType) DeepCopy

func (in *NodeType) DeepCopy() *NodeType

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

func (*NodeType) DeepCopyInto

func (in *NodeType) DeepCopyInto(out *NodeType)

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

func (*NodeType) DeepCopyObject

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

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

func (*NodeType) GetConditions

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

func (*NodeType) SetConditions

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

type NodeTypeCapacity

type NodeTypeCapacity struct {
	// Total is the total number of nodes of this type
	Total int `json:"total"`

	// Claimed is the number of already claimed nodes of this type
	Claimed int `json:"claimed"`
}

IMPORTANT: DO NOT use omitempty for values in NodeTypeCapacity. The values are used in NodePool calculations and for UI.

func (*NodeTypeCapacity) DeepCopy

func (in *NodeTypeCapacity) DeepCopy() *NodeTypeCapacity

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

func (*NodeTypeCapacity) DeepCopyInto

func (in *NodeTypeCapacity) DeepCopyInto(out *NodeTypeCapacity)

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

type NodeTypeList

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

NodeTypeList contains a list of NodeType.

func (*NodeTypeList) DeepCopy

func (in *NodeTypeList) DeepCopy() *NodeTypeList

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

func (*NodeTypeList) DeepCopyInto

func (in *NodeTypeList) DeepCopyInto(out *NodeTypeList)

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

func (*NodeTypeList) DeepCopyObject

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

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

type NodeTypeOverhead

type NodeTypeOverhead struct {
	// KubeReserved is the resource overhead for kubelet and other Kubernetes system daemons.
	// +optional
	KubeReserved corev1.ResourceList `json:"kubeReserved,omitempty"`
}

NodeTypeOverhead defines the resource overhead for a node type.

func (*NodeTypeOverhead) DeepCopy

func (in *NodeTypeOverhead) DeepCopy() *NodeTypeOverhead

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

func (*NodeTypeOverhead) DeepCopyInto

func (in *NodeTypeOverhead) DeepCopyInto(out *NodeTypeOverhead)

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

type NodeTypePhase

type NodeTypePhase string

NodeTypePhase defines the phase of the NodeType

const (
	// PhasePending is the initial state of a NodeType.
	NodeTypePhasePending NodeTypePhase = "Pending"
	// NodeTypePhaseAvailable means the provisioning process has failed.
	NodeTypePhaseAvailable NodeTypePhase = "Available"
	// NodeTypePhaseFailed means the provisioning process has failed.
	NodeTypePhaseFailed NodeTypePhase = "Failed"
)

type NodeTypeSpec

type NodeTypeSpec struct {
	// ProviderRef is the node provider to use for this node type.
	// +optional
	ProviderRef string `json:"providerRef,omitempty"`

	// Properties returns a flexible set of properties that may be selected for scheduling.
	Properties map[string]string `json:"properties,omitempty"`

	// Resources lists the full resources for a single node.
	Resources corev1.ResourceList `json:"resources,omitempty"`

	// Overhead defines the resource overhead for this node type.
	// +optional
	Overhead *NodeTypeOverhead `json:"overhead,omitempty"`

	// Cost is the instance cost. The higher the cost, the less likely it is to be selected. If empty, cost is automatically calculated
	// from the resources specified.
	// +optional
	Cost int64 `json:"cost,omitempty"`

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

func (*NodeTypeSpec) DeepCopy

func (in *NodeTypeSpec) DeepCopy() *NodeTypeSpec

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

func (*NodeTypeSpec) DeepCopyInto

func (in *NodeTypeSpec) DeepCopyInto(out *NodeTypeSpec)

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

type NodeTypeStatus

type NodeTypeStatus struct {
	// Phase is the current lifecycle phase of the NodeType.
	// +optional
	Phase NodeTypePhase `json:"phase,omitempty"`

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

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

	// Cost is the calculated instance cost from the resources specified or the price specified from spec. The higher the cost, the less likely it is to be selected.
	// +optional
	Cost int64 `json:"cost,omitempty"`

	// Capacity is the capacity of the node type.
	// +optional
	Capacity NodeTypeCapacity `json:"capacity,omitempty"`

	// Requirements is the calculated requirements based of the properties for the node type.
	// +optional
	Requirements []corev1.NodeSelectorRequirement `json:"requirements,omitempty"`

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

NodeTypeStatus holds the status of a node type

func (*NodeTypeStatus) DeepCopy

func (in *NodeTypeStatus) DeepCopy() *NodeTypeStatus

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

func (*NodeTypeStatus) DeepCopyInto

func (in *NodeTypeStatus) DeepCopyInto(out *NodeTypeStatus)

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

type ObjectsStatus

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

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

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

func (*ObjectsStatus) DeepCopy

func (in *ObjectsStatus) DeepCopy() *ObjectsStatus

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

func (*ObjectsStatus) DeepCopyInto

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

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

type OpenCost

type OpenCost struct {
	// Replicas is the number of desired replicas.
	Replicas *int32 `json:"replicas,omitempty"`

	// Resources are compute resource required by the OpenCost backend
	Resources *corev1.ResourceRequirements `json:"resources,omitempty"`
}

func (*OpenCost) DeepCopy

func (in *OpenCost) DeepCopy() *OpenCost

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

func (*OpenCost) DeepCopyInto

func (in *OpenCost) DeepCopyInto(out *OpenCost)

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 PresetRef

type PresetRef struct {
	// Name is the name of DevsyWorkspacePreset
	Name string `json:"name"`

	// Version holds the preset 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 Devsy to automatically select
	// the latest major, minor or patch version.
	// +optional
	Version string `json:"version,omitempty"`
}

func (*PresetRef) DeepCopy

func (in *PresetRef) DeepCopy() *PresetRef

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

func (*PresetRef) DeepCopyInto

func (in *PresetRef) DeepCopyInto(out *PresetRef)

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

	// RequirePreset configures if a preset is required for instance creation.
	// +optional
	RequirePreset RequirePreset `json:"requirePreset,omitempty"`

	// Members are the users and teams that are part of this project
	// +optional
	Members []Member `json:"members,omitempty"`

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

	// NamespacePattern specifies template patterns to use for creating each space or virtual cluster's namespace
	// +optional
	NamespacePattern *NamespacePattern `json:"namespacePattern,omitempty"`

	// ArgoIntegration holds information about ArgoCD Integration
	// +optional
	ArgoIntegration *ArgoIntegrationSpec `json:"argoCD,omitempty"`

	// VaultIntegration holds information about Vault Integration
	// +optional
	VaultIntegration *VaultIntegrationSpec `json:"vault,omitempty"`

	// RancherIntegration holds information about Rancher Integration
	// +optional
	RancherIntegration *RancherIntegrationSpec `json:"rancher,omitempty"`

	// Devsy holds Devsy specific configuration for project
	// +optional
	Devsy *DevsyProjectSpec `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 devsy 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 Devsy
	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 devsy management api request
	RequestTargetManagement RequestTarget = "Management"
	// RequestTargetCluster specifies a connected kubernetes cluster request
	RequestTargetCluster RequestTarget = "Cluster"
	// RequestTargetProjectSpace specifies a project space cluster request
	RequestTargetProjectSpace RequestTarget = "ProjectSpace"
	// RequestTargetProjectVirtualCluster specifies a project virtual kubernetes cluster request
	RequestTargetProjectVirtualCluster RequestTarget = "ProjectVirtualCluster"
)

Valid request targets

type RequirePreset

type RequirePreset struct {
	// If true, all users within the project will not be allowed to create a new instance without a preset.
	// By default, all users are allowed to create a new instance without a preset.
	// +optional
	Enabled bool `json:"disabled,omitempty"`
}

func (*RequirePreset) DeepCopy

func (in *RequirePreset) DeepCopy() *RequirePreset

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

func (*RequirePreset) DeepCopyInto

func (in *RequirePreset) DeepCopyInto(out *RequirePreset)

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

type RequireTemplate

type RequireTemplate struct {
	// If true, all users within the project will be allowed to create a new instance without a template.
	// By default, only admins are allowed to create a new instance without a template.
	// +optional
	Disabled bool `json:"disabled,omitempty"`
}

func (*RequireTemplate) DeepCopy

func (in *RequireTemplate) DeepCopy() *RequireTemplate

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

func (*RequireTemplate) DeepCopyInto

func (in *RequireTemplate) DeepCopyInto(out *RequireTemplate)

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

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

type SSOIdentity struct {
	// The subject of the user
	// +optional
	UserID string `json:"userId,omitempty"`

	// The username
	// +optional
	Username string `json:"username,omitempty"`

	// The preferred username / display name
	// +optional
	PreferredUsername string `json:"preferredUsername,omitempty"`

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

	// If the user email was verified
	// +optional
	EmailVerified bool `json:"emailVerified,omitempty"`

	// ExtraClaims are claims that are not otherwise contained in this struct but may be provided by the OIDC
	// provider. Only extra claims that are allowed by the auth config are included.
	// +optional
	ExtraClaims map[string]string `json:"extraClaims,omitempty"`

	// The groups from the identity provider
	// +optional
	Groups []string `json:"groups,omitempty"`

	// Connector is the name of the connector this access key was created from
	// +optional
	Connector string `json:"connector,omitempty"`

	// ConnectorData holds data used by the connector for subsequent requests after initial
	// authentication, such as access tokens for upstream providers.
	//
	// This data is never shared with end users, OAuth clients, or through the API.
	// +optional
	ConnectorData []byte `json:"connectorData,omitempty"`
}

func (*SSOIdentity) DeepCopy

func (in *SSOIdentity) DeepCopy() *SSOIdentity

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

func (*SSOIdentity) DeepCopyInto

func (in *SSOIdentity) DeepCopyInto(out *SSOIdentity)

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

type SecretRef

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

SecretRef is the reference to a secret containing the user password

func (*SecretRef) DeepCopy

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 Storage

type Storage struct {
	// StorageClass the storage class to use when provisioning the metrics backend's persistent volume
	// If set to "-" or "" dynamic provisioning is disabled
	// If set to undefined or null (the default), the cluster's default storage class is used for provisioning
	StorageClass *string `json:"storageClass,omitempty"`

	// Size the size of the metrics backend's persistent volume
	Size string `json:"size,omitempty"`
}

func (*Storage) DeepCopy

func (in *Storage) DeepCopy() *Storage

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

func (*Storage) DeepCopyInto

func (in *Storage) DeepCopyInto(out *Storage)

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

type StreamContainer

type StreamContainer struct {
	// Label selector for pods. The newest matching pod will be used to stream logs from
	// +optional
	Selector metav1.LabelSelector `json:"selector" protobuf:"bytes,2,opt,name=selector"`

	// Container is the container name to use
	// +optional
	Container string `json:"container,omitempty"`
}

func (*StreamContainer) DeepCopy

func (in *StreamContainer) DeepCopy() *StreamContainer

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

func (*StreamContainer) DeepCopyInto

func (in *StreamContainer) DeepCopyInto(out *StreamContainer)

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

type SyncMembersSpec

type SyncMembersSpec struct {
	// Enabled indicates whether to sync rancher project members to the devsy project.
	Enabled bool `json:"enabled,omitempty"`

	// RoleMapping indicates an optional role mapping from a rancher role to a devsy 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 devsy 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 Devsy 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 Devsy 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 TerraformNodeTypeSpec

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

	// NodeTemplate is the template to use for this node type.
	NodeTemplate *TerraformTemplate `json:"nodeTemplate,omitempty"`

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

func (*TerraformNodeTypeSpec) DeepCopy

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

func (*TerraformNodeTypeSpec) DeepCopyInto

func (in *TerraformNodeTypeSpec) DeepCopyInto(out *TerraformNodeTypeSpec)

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

type TerraformTemplate

type TerraformTemplate struct {
	// Inline is the inline template to use for this node type.
	Inline string `json:"inline,omitempty"`

	// Git is the git repository to use for this node type.
	Git *TerraformTemplateSourceGit `json:"git,omitempty"`

	// Timeout is the timeout to use for the terraform operations. Defaults to 60m.
	Timeout string `json:"timeout,omitempty"`
}

func (*TerraformTemplate) DeepCopy

func (in *TerraformTemplate) DeepCopy() *TerraformTemplate

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

func (*TerraformTemplate) DeepCopyInto

func (in *TerraformTemplate) DeepCopyInto(out *TerraformTemplate)

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

type TerraformTemplateSourceGit

type TerraformTemplateSourceGit struct {
	// Repository is the repository to clone
	Repository string `json:"repository,omitempty"`

	// Branch is the branch to use
	Branch string `json:"branch,omitempty"`

	// Commit is the commit SHA to checkout
	Commit string `json:"commit,omitempty"`

	// SubPath is the subpath in the repo to use
	SubPath string `json:"subPath,omitempty"`

	// Credentials is the reference to a secret containing the username and password for the git repository.
	Credentials *SecretRef `json:"credentials,omitempty"`

	// FetchInterval is the interval to use for refetching the git repository. Defaults to 5m. Refetching only checks for remote changes but does not do a complete repull.
	FetchInterval string `json:"fetchInterval,omitempty"`

	// ExtraEnv is the extra environment variables to use for the clone
	ExtraEnv []string `json:"extraEnv,omitempty"`
}

func (*TerraformTemplateSourceGit) DeepCopy

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

func (*TerraformTemplateSourceGit) DeepCopyInto

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 Devsy user.
	// +optional
	User string `json:"user,omitempty"`

	// Team specifies a Devsy team.
	// +optional
	Team string `json:"team,omitempty"`
}

func (*UserOrTeam) DeepCopy

func (in *UserOrTeam) DeepCopy() *UserOrTeam

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

func (*UserOrTeam) DeepCopyInto

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

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

type UserOrTeamEntity

type UserOrTeamEntity struct {
	// User describes an user
	// +optional
	User *EntityInfo `json:"user,omitempty"`

	// Team describes a team
	// +optional
	Team *EntityInfo `json:"team,omitempty"`
}

func (*UserOrTeamEntity) DeepCopy

func (in *UserOrTeamEntity) DeepCopy() *UserOrTeamEntity

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

func (*UserOrTeamEntity) DeepCopyInto

func (in *UserOrTeamEntity) DeepCopyInto(out *UserOrTeamEntity)

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

type UserSpec

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

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

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

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

	// The URL to an icon that should be shown for the user
	// +optional
	Icon string `json:"icon,omitempty"`

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

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

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

	// SSOGroups is used to remember groups that were
	// added from sso.
	// +optional
	SSOGroups []string `json:"ssoGroups,omitempty"`

	// A reference to the user password
	// +optional
	PasswordRef *SecretRef `json:"passwordRef,omitempty"`

	// A reference to the users access keys
	// +optional
	CodesRef *SecretRef `json:"codesRef,omitempty"`

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

	// TokenGeneration can be used to invalidate all user tokens
	// +optional
	TokenGeneration int64 `json:"tokenGeneration,omitempty"`

	// If disabled is true, an user will not be able to login anymore. All other user resources
	// are unaffected and other users can still interact with this user
	// +optional
	Disabled bool `json:"disabled,omitempty"`

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

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

	// ExtraClaims are additional claims that have been added to the user by an admin.
	// +optional
	ExtraClaims map[string]string `json:"extraClaims,omitempty"`
}

func (*UserSpec) DeepCopy

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 devsys.
	// +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 `devsy.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) Devsy 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"`

	// InsecureSkipTlsVerify skips the TLS verification for the helm chart
	// +optional
	InsecureSkipTlsVerify bool `json:"insecureSkipTlsVerify,omitempty"`
}

func (*VirtualClusterHelmChart) DeepCopy

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

func (*VirtualClusterHelmChart) DeepCopyInto

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

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

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

	// Standalone specifies if the virtual cluster is standalone and not hosted in another Kubernetes cluster.
	// +optional
	Standalone bool `json:"standalone,omitempty"`
}

func (*VirtualClusterInstanceSpec) DeepCopy

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

func (*VirtualClusterInstanceSpec) DeepCopyInto

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

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 WorkspaceRef

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

func (*WorkspaceRef) DeepCopy

func (in *WorkspaceRef) DeepCopy() *WorkspaceRef

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

func (*WorkspaceRef) DeepCopyInto

func (in *WorkspaceRef) DeepCopyInto(out *WorkspaceRef)

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

type WorkspaceResolvedTarget

type WorkspaceResolvedTarget struct {
	// Cluster is the reference to the cluster holding this workspace
	// +optional
	Cluster *WorkspaceTargetNamespace `json:"cluster,omitempty"`

	// Cluster is the reference to the virtual cluster holding this workspace
	// +optional
	VirtualCluster *WorkspaceTargetNamespace `json:"virtualCluster,omitempty"`

	// Space is the reference to the space holding this workspace
	// +optional
	Space *WorkspaceTargetName `json:"space,omitempty"`
}

func (*WorkspaceResolvedTarget) DeepCopy

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

func (*WorkspaceResolvedTarget) DeepCopyInto

func (in *WorkspaceResolvedTarget) DeepCopyInto(out *WorkspaceResolvedTarget)

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

func (WorkspaceResolvedTarget) Empty

func (w WorkspaceResolvedTarget) Empty() bool

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.

type WorkspaceTarget

type WorkspaceTarget struct {
	// Cluster is the reference to the cluster holding this workspace
	// +optional
	Cluster *WorkspaceTargetName `json:"cluster,omitempty"`

	// Cluster is the reference to the virtual cluster holding this workspace
	// +optional
	VirtualCluster *WorkspaceTargetName `json:"virtualCluster,omitempty"`
}

func (*WorkspaceTarget) DeepCopy

func (in *WorkspaceTarget) DeepCopy() *WorkspaceTarget

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

func (*WorkspaceTarget) DeepCopyInto

func (in *WorkspaceTarget) DeepCopyInto(out *WorkspaceTarget)

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

type WorkspaceTargetName

type WorkspaceTargetName struct {
	// Name is the name of the target
	Name string `json:"name"`
}

func (*WorkspaceTargetName) DeepCopy

func (in *WorkspaceTargetName) DeepCopy() *WorkspaceTargetName

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

func (*WorkspaceTargetName) DeepCopyInto

func (in *WorkspaceTargetName) DeepCopyInto(out *WorkspaceTargetName)

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

type WorkspaceTargetNamespace

type WorkspaceTargetNamespace struct {
	// Name is the name of the object
	Name string `json:"name"`

	// Namespace is the namespace within the cluster.
	// +optional
	Namespace string `json:"namespace,omitempty"`
}

func (*WorkspaceTargetNamespace) DeepCopy

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

func (*WorkspaceTargetNamespace) DeepCopyInto

func (in *WorkspaceTargetNamespace) DeepCopyInto(out *WorkspaceTargetNamespace)

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