v1alpha1

package
v0.0.0-...-46b6b41 Latest Latest
Warning

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

Go to latest
Published: Apr 29, 2024 License: Apache-2.0 Imports: 8 Imported by: 119

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the toolchain.dev.openshift.com v1alpha1 API group +kubebuilder:object:generate=true +groupName=toolchain.dev.openshift.com

Index

Constants

View Source
const (
	// BannedUserEmailHashLabelKey is used for the banneduser email hash label key
	BannedUserEmailHashLabelKey = LabelKeyPrefix + "email-hash"

	// BannedUserPhoneNumberHashLabelKey is used a label key for the hash of a phone of the banned user
	BannedUserPhoneNumberHashLabelKey = LabelKeyPrefix + "phone-hash"
)
View Source
const (
	// IdlerTriggeredNotificationCreated is used to track the status of the notification send to a user
	// when the idler is active for the very first time in user's namespace
	IdlerTriggeredNotificationCreated ConditionType = "IdlerTriggeredNotificationCreated"

	// Status condition reasons
	IdlerUnableToEnsureIdlingReason                = "UnableToEnsureIdling"
	IdlerRunningReason                             = "Running"
	IdlerTriggeredReason                           = "IdlerRunningFirstTime"
	IdlerTriggeredNotificationCreationFailedReason = "UnableToCreateIdlerNotification"
	IdlerNoDeactivationReason                      = "NoDeactivation"
)

These are valid conditions of an Idler

View Source
const (
	// LabelKeyPrefix is a string prefix which will be added to all label and annotation keys
	LabelKeyPrefix = "toolchain.dev.openshift.com/"

	// StateLabelKey is used for setting the actual/expected state of an object like a UserSignup or a Space (not-ready, pending, banned, ...).
	// The main purpose of the label is easy selecting the objects based on the state - eg. get all UserSignups or Spaces on the waiting list (state=pending).
	// It may look like a duplication of the status conditions, but it more reflects the spec part combined with the actual state/configuration of the whole system.
	StateLabelKey = LabelKeyPrefix + "state"

	// StateLabelValuePending is used for identifying that the object is in a pending state.
	StateLabelValuePending = "pending"
)
View Source
const (

	// MasterUserRecordProvisioning means the Master User Record is being provisioned
	MasterUserRecordProvisioning ConditionType = "Provisioning"
	// MasterUserRecordUserAccountNotReady means the User Account failed to be provisioned
	MasterUserRecordUserAccountNotReady ConditionType = "UserAccountNotReady"
	// MasterUserRecordReady means the Master User Record provisioning succeeded
	MasterUserRecordReady ConditionType = "Ready"
	// MasterUserRecordUserProvisionedNotificationCreated means that the Notification CR was created so the user should be notified about the successful provisioning
	MasterUserRecordUserProvisionedNotificationCreated ConditionType = "UserProvisionedNotificationCreated"

	// Status condition reasons
	MasterUserRecordUnableToGetUserAccountReason             = "UnableToGetUserAccount"
	MasterUserRecordUnableToCreateUserAccountReason          = "UnableToCreateUserAccount"
	MasterUserRecordUnableToSynchronizeUserAccountSpecReason = "UnableToSynchronizeUserAccountSpecAccount"
	MasterUserRecordTargetClusterNotReadyReason              = "TargetClusterNotReady"
	MasterUserRecordProvisioningReason                       = provisioningReason
	MasterUserRecordProvisionedReason                        = provisionedReason
	MasterUserRecordUpdatingReason                           = updatingReason
	MasterUserRecordUnableToAddFinalizerReason               = "UnableToAddFinalizer"
	MasterUserRecordUnableToDeleteUserAccountsReason         = "UnableToDeleteUserAccounts"
	MasterUserRecordUnableToRemoveFinalizerReason            = "UnableToRemoveFinalizer"
	MasterUserRecordUnableToCheckLabelsReason                = "UnableToCheckLabels"
	MasterUserRecordDisabledReason                           = disabledReason
	MasterUserRecordNotificationCRCreatedReason              = "NotificationCRCreated"
	MasterUserRecordNotificationCRCreationFailedReason       = "NotificationCRCreationFailed"

	// MasterUserRecordOwnerLabelKey indicates the label value that contains the owner reference for this resource,
	// which will be the UserSignup instance with the corresponding resource name
	MasterUserRecordOwnerLabelKey = OwnerLabelKey
)

These are valid conditions of a MasterUserRecord

View Source
const (

	// NotificationDeletionError indicates that the notification failed to be deleted
	NotificationDeletionError ConditionType = deletionError

	// NotificationSent reflects whether the notification has been sent to the user
	NotificationSent ConditionType = "Sent"

	// Status condition reasons
	NotificationSentReason          = "Sent"
	NotificationDeletionErrorReason = "UnableToDeleteNotification"
	NotificationContextErrorReason  = "NotificationContextError"
	NotificationDeliveryErrorReason = "DeliveryError"

	// NotificationUserNameLabelKey is used to identify the user that the notification belongs to
	NotificationUserNameLabelKey = LabelKeyPrefix + "username"

	// NotificationTypeLabelKey is used to identify the notification type, for example: deactivated
	NotificationTypeLabelKey = LabelKeyPrefix + "type"

	// Notification Types which describe the type of notification being sent
	NotificationTypeDeactivating = "deactivating"
	NotificationTypeDeactivated  = "deactivated"
	NotificationTypeProvisioned  = "provisioned"
	NotificationTypeIdled        = "idled"
)
View Source
const (
	OwnerLabelKey       = LabelKeyPrefix + "owner"
	SpaceLabelKey       = LabelKeyPrefix + "space"
	TypeLabelKey        = LabelKeyPrefix + "type"
	TemplateRefLabelKey = LabelKeyPrefix + "templateref"
	TierLabelKey        = LabelKeyPrefix + "tier"
	ProviderLabelKey    = LabelKeyPrefix + "provider"
	ProviderLabelValue  = "codeready-toolchain"

	LastAppliedSpaceRolesAnnotationKey = LabelKeyPrefix + "last-applied-space-roles"
)
View Source
const (
	NSTemplateSetProvisionedReason                       = provisionedReason
	NSTemplateSetProvisioningReason                      = provisioningReason
	NSTemplateSetUnableToProvisionReason                 = "UnableToProvision"
	NSTemplateSetUnableToProvisionNamespaceReason        = "UnableToProvisionNamespace"
	NSTemplateSetUnableToProvisionClusterResourcesReason = "UnableToProvisionClusteResources"
	NSTemplateSetUnableToProvisionSpaceRolesReason       = "UnableToProvisionSpaceRoles"
	NSTemplateSetTerminatingReason                       = terminatingReason
	NSTemplateSetTerminatingFailedReason                 = terminatingFailedReason
	NSTemplateSetUpdatingReason                          = updatingReason
	NSTemplateSetUpdateFailedReason                      = "UpdateFailed"
)

These are valid status condition reasons of a NSTemplateSet

View Source
const (
	// SocialEventReady means the event has been setup successfully and passes validation requirements
	SocialEventReady ConditionType = "Ready"

	// Status condition reasons
	SocialEventInvalidUserTierReason      = "InvalidUserTier"
	SocialEventUnableToGetUserTierReason  = "UnableToGetUserTier"
	SocialEventInvalidSpaceTierReason     = "InvalidSpaceTier"
	SocialEventUnableToGetSpaceTierReason = "UnableToGetSpaceTier"

	// SocialEventUserSignupLabelKey the key of the label set on the UserSignups who registered with an activation code.
	// The label value is the name of the SocialEvent resource
	SocialEventUserSignupLabelKey = LabelKeyPrefix + "social-event"
)
View Source
const (
	// SpaceCreatorLabelKey is used to label the Space with the ID of its creator (Dev Sandbox UserSignup or AppStudio Workspace)
	SpaceCreatorLabelKey = LabelKeyPrefix + "creator"

	// ParentSpaceLabelKey is used to label the Space with the name of the parent space
	// from which the creation was requested
	ParentSpaceLabelKey = LabelKeyPrefix + "parent-space"
)
View Source
const (
	// Status condition reasons
	SpaceUnableToCreateNSTemplateSetReason = "UnableToCreateNSTemplateSet"
	SpaceUnableToUpdateNSTemplateSetReason = "UnableToUpdateNSTemplateSet"
	SpaceProvisioningReason                = provisioningReason
	SpaceProvisioningPendingReason         = "ProvisioningPending"
	SpaceProvisioningFailedReason          = "UnableToProvision"
	SpaceProvisionedReason                 = provisionedReason
	SpaceTerminatingReason                 = terminatingReason
	SpaceTerminatingFailedReason           = terminatingFailedReason
	SpaceUpdatingReason                    = updatingReason
	SpaceRetargetingReason                 = "Retargeting"
	SpaceRetargetingFailedReason           = "UnableToRetarget"

	// SpaceStateLabelKey is used for setting the actual/expected state of Spaces (pending, or empty).
	// The main purpose of the label is easy selecting the Spaces based on the state - eg. get all Spaces on the waiting list (state=pending).
	SpaceStateLabelKey = StateLabelKey
	// SpaceStateLabelValuePending is used for identifying that the Space is waiting for assigning an available cluster
	SpaceStateLabelValuePending = StateLabelValuePending
	// SpaceStateLabelValueClusterAssigned is used for identifying that the Space has an assigned cluster
	SpaceStateLabelValueClusterAssigned = "cluster-assigned"
)

These are valid status condition reasons of a Space

View Source
const (
	// SpaceBindingSpaceLabelKey is used to label the SpaceBinding with the name of the Space it is bound to
	SpaceBindingSpaceLabelKey = SpaceLabelKey

	// SpaceBindingMasterUserRecordLabelKey is used to label the SpaceBinding with the name of the MasterUserRecord it belongs to
	SpaceBindingMasterUserRecordLabelKey = LabelKeyPrefix + "masteruserrecord"
)
View Source
const (
	// SpaceBindingRequestLabelKey is a label on the SpaceBinding, and will hold the name of the SpaceBindingRequest that created the SpaceBinding resource.
	SpaceBindingRequestLabelKey = LabelKeyPrefix + "spacebindingrequest"
	// SpaceBindingRequestNamespaceLabelKey is a label on the SpaceBinding, and will hold the namespace of the SpaceBindingRequest that created the SpaceBinding resource.
	SpaceBindingRequestNamespaceLabelKey = LabelKeyPrefix + "spacebindingrequest-namespace"

	// SpaceBindingRequestTerminatingReason represents the reason for space binding request termination.
	SpaceBindingRequestTerminatingReason = terminatingReason

	// SpaceBindingRequestTerminatingFailedReason represents the reason for a failed space binding request termination.
	SpaceBindingRequestTerminatingFailedReason = terminatingFailedReason

	// SpaceBindingRequestUnableToCreateSpaceBindingReason represents the reason for a failed space binding creation.
	SpaceBindingRequestUnableToCreateSpaceBindingReason = UnableToCreateSpaceBinding

	// SpaceBindingRequestProvisioningReason represents the reason for space binding request provisioning.
	SpaceBindingRequestProvisioningReason = provisioningReason

	// SpaceBindingRequestProvisionedReason represents the reason for a successfully provisioned space binding request.
	SpaceBindingRequestProvisionedReason = provisionedReason
)
View Source
const (
	SpaceProvisionerConfigToolchainClusterNotFoundReason = "ToolchainClusterNotFound"
	SpaceProvisionerConfigValidReason                    = "AllChecksPassed"
)
View Source
const (
	// SpaceRequestLabelKey is a label on the subSpace, and will hold the name of the SpaceRequest that created the subSpace resource.
	SpaceRequestLabelKey = LabelKeyPrefix + "spacerequest"
	// SpaceRequestNamespaceLabelKey is a label on the subSpace, and will hold the namespace of the SpaceRequest that created the subSpace resource.
	SpaceRequestNamespaceLabelKey = LabelKeyPrefix + "spacerequest-namespace"
	// SpaceRequestProvisionedNamespaceLabelKey is a label on the secret that was created to provide access to a specific namespace provisioned by the SpaceRequest.
	SpaceRequestProvisionedNamespaceLabelKey = LabelKeyPrefix + "spacerequest-provisioned-namespace"

	// AdminServiceAccountName is the service account holding the token that grants admin permissions for the namespace provisioned by the SpaceRequest.
	AdminServiceAccountName = "namespace-manager"
)
View Source
const (
	// ClusterResourcesType contains a type name of the template containing cluster-scoped resources
	ClusterResourcesTemplateType = "clusterresources"

	// TierTemplateObjectOptionalResourceAnnotation is annotation to be used to mark a TierTemplate object as optional.
	// That means that it won't be applied if the corresponding API group is not present in the cluster.
	TierTemplateObjectOptionalResourceAnnotation = LabelKeyPrefix + "optional-resource"
)
View Source
const (
	// ToolchainClusterReady means the cluster is ready to accept workloads.
	ToolchainClusterReady ToolchainClusterConditionType = "Ready"
	// ToolchainClusterOffline means the cluster is temporarily down or not reachable
	ToolchainClusterOffline ToolchainClusterConditionType = "Offline"

	ToolchainClusterClusterReadyReason        = "ClusterReady"
	ToolchainClusterClusterNotReadyReason     = "ClusterNotReady"
	ToolchainClusterClusterNotReachableReason = "ClusterNotReachable"
	ToolchainClusterClusterReachableReason    = "ClusterReachable"
)

These are valid conditions of a cluster.

View Source
const (
	ToolchainConfigSyncComplete     ConditionType = "SyncComplete"
	ToolchainConfigRegServiceDeploy ConditionType = "RegServiceDeploy"

	// Status condition reasons
	// ToolchainConfigSyncedReason when the MemberOperatorConfigs were successfully synced to the member clusters
	ToolchainConfigSyncedReason = "Synced"
	// ToolchainConfigSyncFailedReason when there were failures while syncing MemberOperatorConfigs to the member clusters
	ToolchainConfigSyncFailedReason = "SyncFailed"
	// ToolchainConfigRegServiceDeployingReason when the registration service is being deployed
	ToolchainConfigRegServiceDeployingReason = "Deploying"
	// ToolchainConfigRegServiceDeployedReason when the registration service has deployed successfully
	ToolchainConfigRegServiceDeployedReason = "Deployed"
	// ToolchainConfigRegServiceDeployFailedReason when there were failures while deploying the registration service
	ToolchainConfigRegServiceDeployFailedReason = "DeployFailed"
)

These are valid conditions of a ToolchainConfig

View Source
const (
	// ToolchainStatusUnreadyNotificationCreated is used when a notification has been sent to an admin mailing list
	// after the toolchain status has been in an "unready" condition for an extended period of time
	ToolchainStatusUnreadyNotificationCreated ConditionType = "ToolchainStatusUnreadyNotificationCreated"

	// ToolchainStatusUnreadyNotificationCRCreatedReason is used to indicate the Unready Notification CR has been created
	ToolchainStatusUnreadyNotificationCRCreatedReason = "UnreadyNotificationCRCreated"

	// ToolchainStatusUnreadyNotificationCRCreationFailedReason is set when the controller fails to create an unready notification CR
	ToolchainStatusUnreadyNotificationCRCreationFailedReason = "UnreadyNotificationCRCreationFailed"

	// ToolchainStatusRestoredNotificationCRCreationFailedReason is set when the controller fails to create restored notification
	ToolchainStatusRestoredNotificationCRCreationFailedReason = "RestoredNotificationCRCreationFailed"

	// overall status condition reasons
	ToolchainStatusAllComponentsReadyReason = "AllComponentsReady"
	ToolchainStatusComponentsNotReadyReason = "ComponentsNotReady"

	// deployment reasons
	ToolchainStatusDeploymentReadyReason                      = "DeploymentReady"
	ToolchainStatusDeploymentNotReadyReason                   = "DeploymentNotReady"
	ToolchainStatusDeploymentNotFoundReason                   = "DeploymentNotFound"
	ToolchainStatusDeploymentNotUpToDateReason                = "DeploymentNotUpToDate"
	ToolchainStatusDeploymentUpToDateReason                   = "DeploymentIsUpToDate"
	ToolchainStatusDeploymentRevisionCheckDisabledReason      = "DeploymentRevisionCheckDisabled"
	ToolchainStatusDeploymentRevisionCheckGitHubErrorReason   = "DeploymentRevisionCheckGitHubError"
	ToolchainStatusDeploymentRevisionCheckOperatorErrorReason = "DeploymentRevisionCheckOperatorError"

	// host connection reasons
	ToolchainStatusClusterConnectionReadyReason                 = "HostConnectionReady"
	ToolchainStatusClusterConnectionNotReadyReason              = "HostConnectionNotReady"
	ToolchainStatusClusterConnectionNotFoundReason              = "ToolchainClusterNotFound"
	ToolchainStatusClusterConnectionLastProbeTimeExceededReason = "ToolchainClusterLastProbeTimeExceeded"

	// registration service reasons
	ToolchainStatusRegServiceReadyReason    = "RegServiceReady"
	ToolchainStatusRegServiceNotReadyReason = "RegServiceNotReady"

	// Host routes reasons
	ToolchainStatusProxyRouteUnavailableReason = "ProxyRouteUnavailable"
	ToolchainStatusHostRoutesAvailableReason   = "HostRoutesAvailable"

	// member status reasons
	ToolchainStatusMemberStatusNotFoundReason                  = "MemberStatusNotFound"
	ToolchainStatusMemberToolchainClusterMissingReason         = "MemberToolchainClusterMissing"
	ToolchainStatusMemberStatusConsoleRouteUnavailableReason   = "ConsoleRouteUnavailable"
	ToolchainStatusMemberStatusRoutesAvailableReason           = "RoutesAvailable"
	ToolchainStatusMemberStatusCheRouteUnavailableReason       = "CheRouteUnavailable"
	ToolchainStatusMemberStatusCheUserAPICheckFailedReason     = "CheUserAPICheckFailed"
	ToolchainStatusMemberStatusCheNotRequiredReason            = "CheNotRequired"
	ToolchainStatusMemberStatusCheAdminUserNotConfiguredReason = "CheAdminUserNotConfigured"
	ToolchainStatusMemberStatusCheUserDeletionNotEnabledReason = "CheUserDeletionNotEnabled"
	ToolchainStatusMemberStatusCheReadyReason                  = "CheReady"

	// Metric Keys
	// MasterUserRecordsPerDomainMetricKey the key to store the metric for the number of MasterUserRecords per email address domain
	MasterUserRecordsPerDomainMetricKey = "masterUserRecordsPerDomain"
	// UserSignupsPerActivationAndDomainMetricKey the key to store the metric for the number of UserSignups per activations and per email address domain
	UserSignupsPerActivationAndDomainMetricKey = "userSignupsPerActivationAndDomain"
)

These are valid status condition reasons for Toolchain status

View Source
const (
	// Status condition reasons
	UserAccountUnableToCreateUserReason     = "UnableToCreateUser"
	UserAccountUnableToCreateIdentityReason = "UnableToCreateIdentity"
	UserAccountUnableToCreateMappingReason  = "UnableToCreateMapping"
	UserAccountProvisioningReason           = provisioningReason
	UserAccountProvisionedReason            = provisionedReason
	UserAccountDisabledReason               = disabledReason
	UserAccountDisablingReason              = "Disabling"
	UserAccountTerminatingReason            = terminatingReason
	UserAccountUpdatingReason               = updatingReason

	// AnnotationKeyPrefix is the prefix used for annotation key values
	AnnotationKeyPrefix = LabelKeyPrefix

	// UserIDUserAnnotationKey is used to set an annotation value in the User resource on the member cluster, that
	// contains the user's User ID as set in the user's JWT token.
	UserIDUserAnnotationKey = AnnotationKeyPrefix + "sso-user-id"

	// AccountIDUserAnnotationKey is used to set an annotation value in the User resource on the member cluster, that
	// contains the user's Account ID as set in the user's JWT token.
	AccountIDUserAnnotationKey = AnnotationKeyPrefix + "sso-account-id"

	// EmailUserAnnotationKey is used to set an annotation value in the User resource on the member cluster, that
	// contains the user's Email as set in the user's JWT token.
	EmailUserAnnotationKey = AnnotationKeyPrefix + "user-email"
)

These are valid status condition reasons of a UserAccount

View Source
const (

	// UserSignupApproved reflects whether the signup request has been approved or not
	UserSignupApproved ConditionType = "Approved"
	// UserSignupComplete means provisioning is complete
	UserSignupComplete ConditionType = "Complete"
	// UserSignupUserDeactivatingNotificationCreated is used to track the status of the notification send to a user
	// shortly before their account is due for deactivation
	UserSignupUserDeactivatingNotificationCreated ConditionType = "UserDeactivatingNotificationCreated"
	// UserSignupUserDeactivatedNotificationCreated means that the Notification CR was created so the user should be notified about their deactivated account
	UserSignupUserDeactivatedNotificationCreated ConditionType = "UserDeactivatedNotificationCreated"

	// UserSignupLastTargetClusterAnnotationKey is used for tracking the cluster for returning users
	UserSignupLastTargetClusterAnnotationKey = LabelKeyPrefix + "last-target-cluster"
	// UserSignupVerificationCodeAnnotationKey is used for the usersignup verification code annotation key
	UserSignupVerificationCodeAnnotationKey = LabelKeyPrefix + "verification-code"
	// UserSignupVerificationTimestampAnnotationKey is used for the usersignup verification timestamp annotation key
	UserSignupVerificationTimestampAnnotationKey = LabelKeyPrefix + "verification-timestamp"
	// UserSignupVerificationInitTimestampAnnotationKey is used for the usersignup verification code generated timestamp annotation key
	UserSignupVerificationInitTimestampAnnotationKey = LabelKeyPrefix + "verification-init-timestamp"
	// UserSignupVerificationCounterAnnotationKey is used for the usersignup verification counter annotation key
	UserSignupVerificationCounterAnnotationKey = LabelKeyPrefix + "verification-counter"
	// UserVerificationAttemptsAnnotationKey is used for the usersignup verification attempts annotation key
	UserVerificationAttemptsAnnotationKey = LabelKeyPrefix + "verification-attempts"
	// UserVerificationExpiryAnnotationKey is used for the usersignup verification expiry annotation key
	UserVerificationExpiryAnnotationKey = LabelKeyPrefix + "verification-expiry"
	// SkipAutoCreateSpaceAnnotationKey when true signals the usersignup controller to skip Space creation, otherwise a Space will be created by default
	SkipAutoCreateSpaceAnnotationKey = LabelKeyPrefix + "skip-auto-create-space"
	// UserSignupActivationCounterAnnotationKey is used for the usersignup activation counter annotation key
	// Activations are counted after phone verification succeeded
	UserSignupActivationCounterAnnotationKey = LabelKeyPrefix + "activation-counter"
	// UserSignupCaptchaScoreAnnotationKey is set if captcha verification was used, and contains the last captcha assessment score for the user
	UserSignupCaptchaScoreAnnotationKey = LabelKeyPrefix + "captcha-score"

	// UserSignupUserEmailHashLabelKey is used for the usersignup email hash label key
	UserSignupUserEmailHashLabelKey = LabelKeyPrefix + "email-hash"
	// UserSignupUserPhoneHashLabelKey is used for the usersignup phone hash label key
	UserSignupUserPhoneHashLabelKey = LabelKeyPrefix + "phone-hash"

	// UserSignupSocialEventLabelKey is used to indicate that the user registered via an activation code, and contains
	// the name of the SocialEvent that they signed up for
	UserSignupSocialEventLabelKey = LabelKeyPrefix + "social-event"

	// UserSignupStateLabelKey is used for setting the required/expected state of UserSignups (not-ready, pending, approved, banned, deactivated).
	// The main purpose of the label is easy selecting the UserSignups based on the state - eg. get all UserSignup on the waiting list (state=pending).
	// Another usage of the label is counting the UserSingups for and exposing it through metrics or ToolchainStatus CR.
	// Every value is set before doing the action - approving/deactivating/banning. The only exception is the "not-ready" state which is used as an initial state
	// for all UserSignups that were just created and are still not fully ready - eg. requires verification.
	UserSignupStateLabelKey = StateLabelKey
	// UserSignupStateLabelValueNotReady is used for identifying that the UserSignup is not ready for approval yet (eg. requires verification)
	UserSignupStateLabelValueNotReady = "not-ready"
	// UserSignupStateLabelValuePending is used for identifying that the UserSignup is pending approval
	UserSignupStateLabelValuePending = StateLabelValuePending
	// UserSignupStateLabelValueApproved is used for identifying that the UserSignup is approved
	UserSignupStateLabelValueApproved = "approved"
	// UserSignupStateLabelValueDeactivated is used for identifying that the UserSignup is deactivated
	UserSignupStateLabelValueDeactivated = "deactivated"
	// UserSignupStateLabelValueBanned is used for identifying that the UserSignup is banned
	UserSignupStateLabelValueBanned = "banned"

	// Status condition reasons
	UnableToCreateSpaceBinding                     = "UnableToCreateSpaceBinding"
	UserSignupNoClusterAvailableReason             = "NoClusterAvailable"
	UserSignupNoUserTierAvailableReason            = "NoUserTierAvailable"
	UserSignupNoTemplateTierAvailableReason        = "NoTemplateTierAvailable"
	UserSignupFailedToReadUserApprovalPolicyReason = "FailedToReadUserApprovalPolicy"
	UserSignupUnableToCreateMURReason              = "UnableToCreateMUR"
	UserSignupUnableToUpdateAnnotationReason       = "UnableToUpdateAnnotation"
	UserSignupUnableToUpdateStateLabelReason       = "UnableToUpdateStateLabel"
	UserSignupUnableToDeleteMURReason              = "UnableToDeleteMUR"
	UserSignupUnableToCreateSpaceReason            = "UnableToCreateSpace"
	UserSignupUnableToCreateSpaceBindingReason     = UnableToCreateSpaceBinding
	UserSignupProvisioningSpaceReason              = "ProvisioningSpace"

	// The UserSignupUserDeactivatingReason constant will be replaced with UserSignupDeactivationInProgressReason
	// in order to reduce ambiguity.  The "Deactivating" state should only refer to the period of time before the
	// user is deactivated (by default 3 days), not when the user is in the actual process of deactivation
	UserSignupUserDeactivatingReason       = "Deactivating"
	UserSignupDeactivationInProgressReason = "DeactivationInProgress"

	UserSignupUserDeactivatedReason            = "Deactivated"
	UserSignupInvalidMURStateReason            = "InvalidMURState"
	UserSignupApprovedAutomaticallyReason      = "ApprovedAutomatically"
	UserSignupApprovedByAdminReason            = "ApprovedByAdmin"
	UserSignupPendingApprovalReason            = "PendingApproval"
	UserSignupUserBanningReason                = "Banning"
	UserSignupUserBannedReason                 = "Banned"
	UserSignupFailedToReadBannedUsersReason    = "FailedToReadBannedUsers"
	UserSignupMissingUserEmailReason           = "MissingUserEmail"
	UserSignupMissingUserEmailAnnotationReason = "MissingUserEmailAnnotation"
	UserSignupMissingEmailHashLabelReason      = "MissingEmailHashLabel"
	UserSignupInvalidEmailHashLabelReason      = "InvalidEmailHashLabel"
	UserSignupVerificationRequiredReason       = "VerificationRequired"

	// UserSignupDeactivatedNotificationUserIsActiveReason is the value that the condition reason is set to when
	// a previously deactivated user has been reactivated again (for example when a user signs up again after their
	// sandbox has been deactivated)
	UserSignupDeactivatedNotificationUserIsActiveReason = userIsActive

	UserSignupDeactivatedNotificationCRCreatedReason = notificationCRCreated

	UserSignupDeactivatedNotificationCRCreationFailedReason = notificationCRCreationFailed

	// UserSignupDeactivatingNotificationUserNotInPreDeactivationReason is the value that the condition reason is set to
	// for an active user, before entering the pre-deactivation period
	UserSignupDeactivatingNotificationUserNotInPreDeactivationReason = userNotInPreDeactivation

	UserSignupDeactivatingNotificationCRCreatedReason = notificationCRCreated

	UserSignupDeactivatingNotificationCRCreationFailedReason = notificationCRCreationFailed

	// UserSignupStateApproved - If set then the user has been manually approved.  Otherwise, if not set then
	// the user is subject of auto-approval (if enabled)
	UserSignupStateApproved = UserSignupState("approved")

	// UserSignupStateVerificationRequired - If set then the user must complete the phone verification process
	UserSignupStateVerificationRequired = UserSignupState("verification-required")

	// UserSignupStateDeactivating - If this state is set, it indicates that the user has entered the "pre-deactivation"
	// phase and their account will be deactivated shortly.  Setting this state triggers the sending of a notification
	// to the user to warn them of their pending account deactivation.
	UserSignupStateDeactivating = UserSignupState("deactivating")

	// UserSignupStateDeactivated - If this state is set, it means the user has been deactivated and they may no
	// longer use their account
	UserSignupStateDeactivated = UserSignupState("deactivated")

	// UserSignupStateBanned - If this state is set by an admin then the user's account will be banned.
	UserSignupStateBanned = UserSignupState("banned")
)
View Source
const (
	// FinalizerName the name of the finalizer we use in the operators
	FinalizerName = "finalizer.toolchain.dev.openshift.com"
)
View Source
const NamespaceTypeDefault = "default"

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "toolchain.dev.openshift.com", Version: "v1alpha1"}

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

Functions

Types

type AuthConfig

type AuthConfig struct {
	// Represents the configured identity provider
	// +optional
	Idp *string `json:"idp,omitempty"`
}

Defines all parameters concerned with the autoscaler +k8s:openapi-gen=true

func (*AuthConfig) DeepCopy

func (in *AuthConfig) DeepCopy() *AuthConfig

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

func (*AuthConfig) DeepCopyInto

func (in *AuthConfig) DeepCopyInto(out *AuthConfig)

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

type AutomaticApprovalConfig

type AutomaticApprovalConfig struct {
	// Defines if the automatic approval is enabled or not
	// +optional
	Enabled *bool `json:"enabled,omitempty"`

	// Comma-separated email domains to consider for auto-approval.
	// For example: "domain.com,anotherdomain.org"
	// If domains is not set and enabled is true, it will default to auto approving all authenticated emails.
	// If domains is set and enabled is true, it will allow auto approving only for authenticated emails under
	// the domains entered. If enabled is false domains will be ignored.
	// +optional
	Domains *string `json:"domains,omitempty"`
}

Defines all parameters necessary for automatic approval +k8s:openapi-gen=true

func (*AutomaticApprovalConfig) DeepCopy

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

func (*AutomaticApprovalConfig) DeepCopyInto

func (in *AutomaticApprovalConfig) DeepCopyInto(out *AutomaticApprovalConfig)

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

type AutoscalerConfig

type AutoscalerConfig struct {
	// Defines the flag that determines whether to deploy the autoscaler buffer
	// +optional
	Deploy *bool `json:"deploy,omitempty"`

	// Represents how much memory should be required by the autoscaler buffer
	// +optional
	BufferMemory *string `json:"bufferMemory,omitempty"`

	// Represents the number of autoscaler buffer replicas to request
	// +optional
	BufferReplicas *int `json:"bufferReplicas,omitempty"`
}

Defines all parameters concerned with the autoscaler +k8s:openapi-gen=true

func (*AutoscalerConfig) DeepCopy

func (in *AutoscalerConfig) DeepCopy() *AutoscalerConfig

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

func (*AutoscalerConfig) DeepCopyInto

func (in *AutoscalerConfig) DeepCopyInto(out *AutoscalerConfig)

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

type BannedUser

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

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

BannedUser is used to maintain a list of banned e-mail addresses +k8s:openapi-gen=true +kubebuilder:resource:scope=Namespaced +kubebuilder:printcolumn:name="Email",type="string",JSONPath=`.spec.email` +kubebuilder:validation:XPreserveUnknownFields +operator-sdk:gen-csv:customresourcedefinitions.displayName="Banned User"

func (*BannedUser) DeepCopy

func (in *BannedUser) DeepCopy() *BannedUser

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

func (*BannedUser) DeepCopyInto

func (in *BannedUser) DeepCopyInto(out *BannedUser)

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

func (*BannedUser) DeepCopyObject

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

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

type BannedUserList

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

BannedUserList contains a list of BannedUser

func (*BannedUserList) DeepCopy

func (in *BannedUserList) DeepCopy() *BannedUserList

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

func (*BannedUserList) DeepCopyInto

func (in *BannedUserList) DeepCopyInto(out *BannedUserList)

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

func (*BannedUserList) DeepCopyObject

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

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

type BannedUserSpec

type BannedUserSpec struct {

	// The e-mail address of the account that has been banned
	Email string `json:"email"`
}

BannedUserSpec defines the desired state of BannedUser +k8s:openapi-gen=true

func (*BannedUserSpec) DeepCopy

func (in *BannedUserSpec) DeepCopy() *BannedUserSpec

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

func (*BannedUserSpec) DeepCopyInto

func (in *BannedUserSpec) DeepCopyInto(out *BannedUserSpec)

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

type Binding

type Binding struct {
	// MasterUserRecord is the name of the user that has access to the workspace.
	// This field is immutable via a validating webhook.
	MasterUserRecord string `json:"masterUserRecord,omitempty"`

	// Role is the role of the user in the current workspace. For example "admin" for the user that has all permissions on the current workspace.
	Role string `json:"role,omitempty"`

	// AvailableActions is a list of actions that can be performed on the binding.
	// Available values:
	// - "update" when the role in the current binding can be changed
	// - "delete" when the current binding can be deleted
	// - "override" when the current binding is inherited from a parent workspace, it cannot be updated, but it can be overridden by creating a new binding containing the same MasterUserRecord but different role in the subworkspace.
	// +listType=atomic
	// +optional
	AvailableActions []string `json:"availableActions,omitempty"`

	// BindingRequest provides the name and namespace of the SpaceBindingRequest that generated the SpaceBinding resource.
	// It's available only if the binding was generated using the SpaceBindingRequest mechanism.
	// +optional
	BindingRequest *BindingRequest `json:"bindingRequest,omitempty"`
}

Binding defines a user role in a given workspace, and available actions that can be performed on the role +k8s:openapi-gen=true

func (*Binding) DeepCopy

func (in *Binding) DeepCopy() *Binding

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

func (*Binding) DeepCopyInto

func (in *Binding) DeepCopyInto(out *Binding)

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

type BindingRequest

type BindingRequest struct {
	// Name of the SpaceBindingRequest that generated the SpaceBinding resource.
	Name string `json:"name"`
	// Namespace of the SpaceBindingRequest that generated the SpaceBinding resource.
	Namespace string `json:"namespace"`
}

BindingRequest contains the name and the namespace where of the associated SpaceBindingRequest. +k8s:openapi-gen=true

func (*BindingRequest) DeepCopy

func (in *BindingRequest) DeepCopy() *BindingRequest

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

func (*BindingRequest) DeepCopyInto

func (in *BindingRequest) DeepCopyInto(out *BindingRequest)

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

type CaptchaConfig

type CaptchaConfig struct {
	// Enabled specifies whether the captcha verification feature is enabled or not
	// +optional
	Enabled *bool `json:"enabled,omitempty"`

	// ScoreThreshold defines the captcha assessment score threshold. A score equal to or above the threshold means the user is most likely human and
	// can proceed signing up but a score below the threshold means the score is suspicious and further verification may be required.
	// +optional
	ScoreThreshold *string `json:"scoreThreshold,omitempty"`

	// RequiredScore defines the lowest captcha score, below this score the user cannot proceed with the signup process at all.
	// Users with captcha score lower than the required one can still be approved manually.
	// +optional
	RequiredScore *string `json:"requiredScore,omitempty"`

	// AllowLowScoreReactivation specifies whether the reactivation for users with low captcha score (below the RequiredScore) is enabled without the need for manual approval.
	// +optional
	AllowLowScoreReactivation *bool `json:"allowLowScoreReactivation,omitempty"`

	// SiteKey defines the recaptcha site key to use when making recaptcha requests. There can be different ones for different environments. eg. dev, stage, prod
	// +optional
	SiteKey *string `json:"siteKey,omitempty"`

	// ProjectID defines the GCP project ID that has the recaptcha service enabled.
	// +optional
	ProjectID *string `json:"projectID,omitempty"`
}

CaptchaConfig defines any configuration related to captcha verification +k8s:openapi-gen=true

func (*CaptchaConfig) DeepCopy

func (in *CaptchaConfig) DeepCopy() *CaptchaConfig

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

func (*CaptchaConfig) DeepCopyInto

func (in *CaptchaConfig) DeepCopyInto(out *CaptchaConfig)

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

type CheConfig

type CheConfig struct {
	// Defines the Che/CRW Keycloak route name
	// +optional
	KeycloakRouteName *string `json:"keycloakRouteName,omitempty"`

	// Defines the Che/CRW route name
	// +optional
	RouteName *string `json:"routeName,omitempty"`

	// Defines the Che/CRW operator namespace
	// +optional
	Namespace *string `json:"namespace,omitempty"`

	// Defines a flag that indicates whether the Che/CRW operator is required to be installed on the cluster. May be used in monitoring.
	// +optional
	Required *bool `json:"required,omitempty"`

	// Defines a flag to turn the Che user deletion logic on/off
	// +optional
	UserDeletionEnabled *bool `json:"userDeletionEnabled,omitempty"`

	// Defines all secrets related to Che configuration
	// +optional
	Secret CheSecret `json:"secret,omitempty"`
}

Defines all parameters concerned with Che +k8s:openapi-gen=true

func (*CheConfig) DeepCopy

func (in *CheConfig) DeepCopy() *CheConfig

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

func (*CheConfig) DeepCopyInto

func (in *CheConfig) DeepCopyInto(out *CheConfig)

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

type CheSecret

type CheSecret struct {
	// The reference to the secret that is expected to contain the keys below
	// +optional
	ToolchainSecret `json:",inline"`

	// The key for the Che admin username in the secret values map
	// +optional
	CheAdminUsernameKey *string `json:"cheAdminUsernameKey,omitempty"`

	// The key for the Che admin password in the secret values map
	// +optional
	CheAdminPasswordKey *string `json:"cheAdminPasswordKey,omitempty"`
}

Defines all secrets related to Che configuration +k8s:openapi-gen=true

func (*CheSecret) DeepCopy

func (in *CheSecret) DeepCopy() *CheSecret

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

func (*CheSecret) DeepCopyInto

func (in *CheSecret) DeepCopyInto(out *CheSecret)

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

type CheStatus

type CheStatus struct {
	// Conditions is an array of current Che status conditions
	// Supported condition types: ConditionReady
	// +optional
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +listType=map
	// +listMapKey=type
	Conditions []Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`
}

CheStatus contains information about the status of Che/CRW, such as installed and whether the member configuration is correct +k8s:openapi-gen=true

func (*CheStatus) DeepCopy

func (in *CheStatus) DeepCopy() *CheStatus

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

func (*CheStatus) DeepCopyInto

func (in *CheStatus) DeepCopyInto(out *CheStatus)

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

type Cluster

type Cluster struct {
	// Name is the name of the corresponding ToolchainCluster resource
	Name string `json:"name"`
}

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.

type Condition

type Condition struct {
	// Type of condition
	Type ConditionType `json:"type"`
	// Status of the condition, one of True, False, Unknown.
	Status corev1.ConditionStatus `json:"status"`
	// Last time the condition transit from one status to another.
	// +optional
	LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"`
	// (brief) reason for the condition's last transition.
	// +optional
	Reason string `json:"reason,omitempty"`
	// Human readable message indicating details about last transition.
	// +optional
	Message string `json:"message,omitempty"`
	// Last time the condition was updated
	// +optional
	LastUpdatedTime *metav1.Time `json:"lastUpdatedTime,omitempty"`
}

func (*Condition) DeepCopy

func (in *Condition) DeepCopy() *Condition

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

func (*Condition) DeepCopyInto

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

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

type ConditionType

type ConditionType string
const (
	// ConditionReady specifies that the resource is ready
	ConditionReady ConditionType = "Ready"
)

type ConsoleConfig

type ConsoleConfig struct {
	// Defines the console route namespace
	// +optional
	Namespace *string `json:"namespace,omitempty"`

	// Defines the console route name
	// +optional
	RouteName *string `json:"routeName,omitempty"`
}

Defines all parameters concerned with the console +k8s:openapi-gen=true

func (*ConsoleConfig) DeepCopy

func (in *ConsoleConfig) DeepCopy() *ConsoleConfig

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

func (*ConsoleConfig) DeepCopyInto

func (in *ConsoleConfig) DeepCopyInto(out *ConsoleConfig)

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

type DeactivationConfig

type DeactivationConfig struct {
	// DeactivatingNotificationDays is the number of days after a pre-deactivating notification is sent that actual
	// deactivation occurs.  If this parameter is set to zero, then there will be no delay
	// +optional
	DeactivatingNotificationDays *int `json:"deactivatingNotificationDays,omitempty"`

	// DeactivationDomainsExcluded is a string of comma-separated domains that should be excluded from automatic user deactivation
	// For example: "@redhat.com,@ibm.com"
	// +optional
	DeactivationDomainsExcluded *string `json:"deactivationDomainsExcluded,omitempty"`

	// UserSignupDeactivatedRetentionDays is used to configure how many days we should keep deactivated UserSignup
	// resources before deleting them.  This parameter value should reflect an extended period of time sufficient for
	// gathering user metrics before removing the resources from the cluster.
	// +optional
	UserSignupDeactivatedRetentionDays *int `json:"userSignupDeactivatedRetentionDays,omitempty"`

	// UserSignupUnverifiedRetentionDays is used to configure how many days we should keep unverified (i.e. the user
	// hasn't completed the user verification process via the registration service) UserSignup resources before deleting
	// them.  It is intended for this parameter to define an aggressive cleanup schedule for unverified user signups,
	// and the default configuration value for this parameter reflects this.
	// +optional
	UserSignupUnverifiedRetentionDays *int `json:"userSignupUnverifiedRetentionDays,omitempty"`
}

DeactivationConfig contains all configuration parameters related to deactivation +k8s:openapi-gen=true

func (*DeactivationConfig) DeepCopy

func (in *DeactivationConfig) DeepCopy() *DeactivationConfig

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

func (*DeactivationConfig) DeepCopyInto

func (in *DeactivationConfig) DeepCopyInto(out *DeactivationConfig)

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

type DevSpaces

type DevSpaces struct {
	// SegmentWriteKey specifies the segment write key
	// +optional
	SegmentWriteKey *string `json:"segmentWriteKey,omitempty"`
}

func (*DevSpaces) DeepCopy

func (in *DevSpaces) DeepCopy() *DevSpaces

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

func (*DevSpaces) DeepCopyInto

func (in *DevSpaces) DeepCopyInto(out *DevSpaces)

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

type GitHubSecret

type GitHubSecret struct {
	// The reference to the secret that is expected to contain the keys below
	// +optional
	ToolchainSecret `json:",inline"`

	// The key for the GitHub Access token in the secret values map
	// +optional
	AccessTokenKey *string `json:"accessTokenKey,omitempty"`
}

GitHubSecret defines all secrets related to GitHub authentication/integration +k8s:openapi-gen=true

func (*GitHubSecret) DeepCopy

func (in *GitHubSecret) DeepCopy() *GitHubSecret

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

func (*GitHubSecret) DeepCopyInto

func (in *GitHubSecret) DeepCopyInto(out *GitHubSecret)

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

type HostConfig

type HostConfig struct {
	// Environment specifies the host-operator environment such as prod, stage, unit-tests, e2e-tests, dev, etc
	// +optional
	Environment *string `json:"environment,omitempty"`

	// Keeps parameters necessary for automatic approval
	// +optional
	AutomaticApproval AutomaticApprovalConfig `json:"automaticApproval,omitempty"`

	// Keeps parameters concerned with user deactivation
	// +optional
	Deactivation DeactivationConfig `json:"deactivation,omitempty"`

	// Keeps parameters concerned with metrics
	// +optional
	Metrics MetricsConfig `json:"metrics,omitempty"`

	// Keeps parameters concerned with notifications
	// +optional
	Notifications NotificationsConfig `json:"notifications,omitempty"`

	// Keeps parameters necessary for the registration service
	// +optional
	RegistrationService RegistrationServiceConfig `json:"registrationService,omitempty"`

	// Keeps parameters concerned with tiers
	// +optional
	Tiers TiersConfig `json:"tiers,omitempty"`

	// Keeps parameters concerned with the toolchainstatus
	// +optional
	ToolchainStatus ToolchainStatusConfig `json:"toolchainStatus,omitempty"`

	// Keeps parameters concerned with user management
	// +optional
	Users UsersConfig `json:"users,omitempty"`

	// Keeps parameters necessary for configuring Space provisioning functionality
	// +optional
	SpaceConfig SpaceConfig `json:"spaceConfig,omitempty"`
}

HostConfig contains all configuration parameters of the host operator +k8s:openapi-gen=true

func (*HostConfig) DeepCopy

func (in *HostConfig) DeepCopy() *HostConfig

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

func (*HostConfig) DeepCopyInto

func (in *HostConfig) DeepCopyInto(out *HostConfig)

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

type HostOperatorStatus

type HostOperatorStatus struct {

	// The version of the operator
	Version string `json:"version"`

	// The commit id from the host-operator repository used to build the operator
	Revision string `json:"revision"`

	// The timestamp of the host operator build
	BuildTimestamp string `json:"buildTimestamp"`

	// The status of the host operator's deployment
	DeploymentName string `json:"deploymentName"`

	// Conditions is an array of current host operator status conditions
	// Supported condition types: ConditionReady
	// +optional
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +listType=map
	// +listMapKey=type
	Conditions []Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`

	// The status of the revision check for host operator's deployment
	// +optional
	RevisionCheck RevisionCheck `json:"revisionCheck"`
}

HostOperatorStatus defines the observed state of a toolchain's host operator +k8s:openapi-gen=true

func (*HostOperatorStatus) DeepCopy

func (in *HostOperatorStatus) DeepCopy() *HostOperatorStatus

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

func (*HostOperatorStatus) DeepCopyInto

func (in *HostOperatorStatus) DeepCopyInto(out *HostOperatorStatus)

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

type HostRegistrationServiceStatus

type HostRegistrationServiceStatus struct {

	// Deployment is the status of the registration service's deployment
	Deployment RegistrationServiceDeploymentStatus `json:"deployment"`

	// RegistrationServiceResources is the status for resources created for the registration service
	RegistrationServiceResources RegistrationServiceResourcesStatus `json:"registrationServiceResources"`

	// Health provides health status of the registration service
	Health RegistrationServiceHealth `json:"health"`

	// The status of the revision check for registration service
	// +optional
	RevisionCheck RevisionCheck `json:"revisionCheck"`
}

HostRegistrationServiceStatus defines the observed state of a toolchain's registration service +k8s:openapi-gen=true

func (*HostRegistrationServiceStatus) DeepCopy

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

func (*HostRegistrationServiceStatus) DeepCopyInto

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

type HostRoutes

type HostRoutes struct {
	// ProxyURL is the Proxy URL of the cluster
	// +optional
	ProxyURL string `json:"proxyURL,omitempty"`

	// Conditions is an array of current member operator status conditions
	// Supported condition types: ConditionReady
	// +optional
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +listType=map
	// +listMapKey=type
	Conditions []Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`
}

HostRoutes contains information about the public routes available to the user in the host cluster +k8s:openapi-gen=true

func (*HostRoutes) DeepCopy

func (in *HostRoutes) DeepCopy() *HostRoutes

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

func (*HostRoutes) DeepCopyInto

func (in *HostRoutes) DeepCopyInto(out *HostRoutes)

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

type HostStatus

type HostStatus struct {

	// Conditions is an array of current member operator status conditions
	// Supported condition types: ConditionReady
	// +optional
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +listType=map
	// +listMapKey=type
	Conditions []Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`
}

HostStatus defines the status of the connection with the host cluster

func (*HostStatus) DeepCopy

func (in *HostStatus) DeepCopy() *HostStatus

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

func (*HostStatus) DeepCopyInto

func (in *HostStatus) DeepCopyInto(out *HostStatus)

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

type IdentityClaimsEmbedded

type IdentityClaimsEmbedded struct {

	// PropagatedClaims
	PropagatedClaims `json:",inline"`

	// PreferredUsername contains the user's username
	PreferredUsername string `json:"preferredUsername"`

	// GivenName contains the value of the 'given_name' claim
	// +optional
	GivenName string `json:"givenName,omitempty"`

	// FamilyName contains the value of the 'family_name' claim
	// +optional
	FamilyName string `json:"familyName,omitempty"`

	// Company contains the value of the 'company' claim
	// +optional
	Company string `json:"company,omitempty"`
}

IdentityClaimsEmbedded is used to define a set of SSO claim values that we are interested in storing +k8s:openapi-gen=true

func (*IdentityClaimsEmbedded) DeepCopy

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

func (*IdentityClaimsEmbedded) DeepCopyInto

func (in *IdentityClaimsEmbedded) DeepCopyInto(out *IdentityClaimsEmbedded)

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

type Idler

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

	Spec   IdlerSpec   `json:"spec,omitempty"`
	Status IdlerStatus `json:"status,omitempty"`
}

Idler enables automatic idling of payloads in a user namespaces where the name of the Idler matches the name of the corresponding namespace. For example an Idler with "foo" name will be managing pods in namespace "foo". +k8s:openapi-gen=true +kubebuilder:subresource:status +kubebuilder:resource:scope=Cluster +kubebuilder:printcolumn:name="Timeout",type="integer",JSONPath=`.spec.timeoutSeconds` +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=`.status.conditions[?(@.type=="Ready")].status` +kubebuilder:printcolumn:name="Reason",type="string",JSONPath=`.status.conditions[?(@.type=="Ready")].reason` +kubebuilder:validation:XPreserveUnknownFields +operator-sdk:gen-csv:customresourcedefinitions.displayName="Idler"

func (*Idler) DeepCopy

func (in *Idler) DeepCopy() *Idler

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

func (*Idler) DeepCopyInto

func (in *Idler) DeepCopyInto(out *Idler)

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

func (*Idler) DeepCopyObject

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

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

type IdlerList

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

IdlerList contains a list of Idlers

func (*IdlerList) DeepCopy

func (in *IdlerList) DeepCopy() *IdlerList

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

func (*IdlerList) DeepCopyInto

func (in *IdlerList) DeepCopyInto(out *IdlerList)

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

func (*IdlerList) DeepCopyObject

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

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

type IdlerSpec

type IdlerSpec struct {

	// TimeoutSeconds is the number of seconds before the running pods will be deleted
	TimeoutSeconds int32 `json:"timeoutSeconds"`
}

IdlerSpec defines the desired state of Idler +k8s:openapi-gen=true

func (*IdlerSpec) DeepCopy

func (in *IdlerSpec) DeepCopy() *IdlerSpec

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

func (*IdlerSpec) DeepCopyInto

func (in *IdlerSpec) DeepCopyInto(out *IdlerSpec)

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

type IdlerStatus

type IdlerStatus struct {

	// Pods is an array of tracked pods
	// +optional
	// +patchMergeKey=name
	// +patchStrategy=merge
	// +listType=map
	// +listMapKey=name
	Pods []Pod `json:"pods,omitempty" patchStrategy:"merge" patchMergeKey:"name"`

	// Conditions is an array of current Idler conditions
	// Supported condition types: ConditionReady
	// +optional
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +listType=map
	// +listMapKey=type
	Conditions []Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`
}

IdlerStatus defines the observed state of Idler +k8s:openapi-gen=true

func (*IdlerStatus) DeepCopy

func (in *IdlerStatus) DeepCopy() *IdlerStatus

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

func (*IdlerStatus) DeepCopyInto

func (in *IdlerStatus) DeepCopyInto(out *IdlerStatus)

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

type LocalSecretReference

type LocalSecretReference struct {
	// Name of a secret within the enclosing
	// namespace
	Name string `json:"name"`
}

LocalSecretReference is a reference to a secret within the enclosing namespace. +k8s:openapi-gen=true

func (*LocalSecretReference) DeepCopy

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

func (*LocalSecretReference) DeepCopyInto

func (in *LocalSecretReference) DeepCopyInto(out *LocalSecretReference)

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

type MasterUserRecord

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

	Spec   MasterUserRecordSpec   `json:"spec,omitempty"`
	Status MasterUserRecordStatus `json:"status,omitempty"`
}

MasterUserRecord keeps all information about user, user accounts and namespaces provisioned in CodeReady Toolchain +k8s:openapi-gen=true +kubebuilder:subresource:status +kubebuilder:resource:scope=Namespaced +kubebuilder:resource:shortName=mur +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=`.status.conditions[?(@.type=="Ready")].status` +kubebuilder:printcolumn:name="Reason",type="string",JSONPath=`.status.conditions[?(@.type=="Ready")].reason` +kubebuilder:printcolumn:name="Cluster",type="string",JSONPath=`.status.userAccounts[].cluster.name` +kubebuilder:printcolumn:name="Tier",type="string",JSONPath=`.spec.tierName` +kubebuilder:printcolumn:name="Banned",type="string",JSONPath=`.spec.banned`,priority=1 +kubebuilder:printcolumn:name="Disabled",type="string",JSONPath=`.spec.disabled`,priority=1 +kubebuilder:validation:XPreserveUnknownFields +operator-sdk:gen-csv:customresourcedefinitions.displayName="Master User Record"

func (*MasterUserRecord) DeepCopy

func (in *MasterUserRecord) DeepCopy() *MasterUserRecord

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

func (*MasterUserRecord) DeepCopyInto

func (in *MasterUserRecord) DeepCopyInto(out *MasterUserRecord)

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

func (*MasterUserRecord) DeepCopyObject

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

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

type MasterUserRecordList

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

MasterUserRecordList contains a list of MasterUserRecord

func (*MasterUserRecordList) DeepCopy

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

func (*MasterUserRecordList) DeepCopyInto

func (in *MasterUserRecordList) DeepCopyInto(out *MasterUserRecordList)

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

func (*MasterUserRecordList) DeepCopyObject

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

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

type MasterUserRecordSpec

type MasterUserRecordSpec struct {

	// If set to true then the corresponding user should not be able to login (but the underlying UserAccounts still exists)
	// "false" is assumed by default
	// +optional
	Disabled bool `json:"disabled,omitempty"`

	// The list of user accounts in the member clusters which belong to this MasterUserRecord
	// +listType=map
	// +listMapKey=targetCluster
	UserAccounts []UserAccountEmbedded `json:"userAccounts,omitempty"`

	// TierName is an optional property introduced to retain the name of the tier
	// for which the Dev Sandbox user is provisioned, so we can still deal with deactivation
	// once the NSTemplateSet field has been removed from `[]spec.UserAccounts`
	// temporarily marked as optional until the migration took place (CRT-1321)
	// +optional
	TierName string `json:"tierName,omitempty"`

	// PropagatedClaims contains a selection of claim values from the SSO Identity Provider which are intended to
	// be "propagated" down the resource dependency chain
	// +optional
	PropagatedClaims PropagatedClaims `json:"propagatedClaims,omitempty"`
}

MasterUserRecordSpec defines the desired state of MasterUserRecord +k8s:openapi-gen=true

func (*MasterUserRecordSpec) DeepCopy

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

func (*MasterUserRecordSpec) DeepCopyInto

func (in *MasterUserRecordSpec) DeepCopyInto(out *MasterUserRecordSpec)

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

type MasterUserRecordStatus

type MasterUserRecordStatus struct {

	// Conditions is an array of current Master User Record conditions
	// Supported condition types:
	// Provisioning, UserAccountNotReady and Ready
	// +optional
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +listType=map
	// +listMapKey=type
	Conditions []Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`

	// The status of user accounts in the member clusters which belong to this MasterUserRecord
	// +listType=atomic
	UserAccounts []UserAccountStatusEmbedded `json:"userAccounts,omitempty"`

	// The timestamp when the user was provisioned
	// +optional
	ProvisionedTime *metav1.Time `json:"provisionedTime,omitempty"`
}

MasterUserRecordStatus defines the observed state of MasterUserRecord +k8s:openapi-gen=true

func (*MasterUserRecordStatus) DeepCopy

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

func (*MasterUserRecordStatus) DeepCopyInto

func (in *MasterUserRecordStatus) DeepCopyInto(out *MasterUserRecordStatus)

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

type Member

type Member struct {
	// APIEndpoint is the server API URL of the cluster
	// +optional
	APIEndpoint string `json:"apiEndpoint,omitempty"`

	// The cluster identifier
	ClusterName string `json:"clusterName"`

	// Number of Spaces created within the member cluster
	// +optional
	SpaceCount int `json:"spaceCount,omitempty"`

	// The array of member status objects
	MemberStatus MemberStatusStatus `json:"memberStatus"`
}

Member contains the status of a member cluster +k8s:openapi-gen=true

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 MemberOperatorConfig

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

	Spec   MemberOperatorConfigSpec   `json:"spec,omitempty"`
	Status MemberOperatorConfigStatus `json:"status,omitempty"`
}

MemberOperatorConfig keeps all configuration parameters needed in member operator +kubebuilder:subresource:status +kubebuilder:resource:path=memberoperatorconfigs,scope=Namespaced +kubebuilder:validation:XPreserveUnknownFields +operator-sdk:gen-csv:customresourcedefinitions.displayName="Member Operator Config"

func (*MemberOperatorConfig) DeepCopy

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

func (*MemberOperatorConfig) DeepCopyInto

func (in *MemberOperatorConfig) DeepCopyInto(out *MemberOperatorConfig)

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

func (*MemberOperatorConfig) DeepCopyObject

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

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

type MemberOperatorConfigList

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

MemberOperatorConfigList contains a list of MemberOperatorConfig

func (*MemberOperatorConfigList) DeepCopy

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

func (*MemberOperatorConfigList) DeepCopyInto

func (in *MemberOperatorConfigList) DeepCopyInto(out *MemberOperatorConfigList)

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

func (*MemberOperatorConfigList) DeepCopyObject

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

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

type MemberOperatorConfigSpec

type MemberOperatorConfigSpec struct {
	// Keeps parameters concerned with authentication
	// +optional
	Auth AuthConfig `json:"auth,omitempty"`

	// Keeps parameters concerned with the autoscaler
	// +optional
	Autoscaler AutoscalerConfig `json:"autoscaler,omitempty"`

	// Keeps parameters concerned with Che/CRW
	// +optional
	Che CheConfig `json:"che,omitempty"`

	// Keeps parameters concerned with the console
	// +optional
	Console ConsoleConfig `json:"console,omitempty"`

	// Environment specifies the member-operator environment such as prod, stage, unit-tests, e2e-tests, dev, etc
	// +optional
	Environment *string `json:"environment,omitempty"`

	// Defines the flag that determines whether User and Identity resources should be created for a UserAccount
	// +optional
	SkipUserCreation *bool `json:"skipUserCreation,omitempty"`

	// Keeps parameters concerned with member status
	// +optional
	MemberStatus MemberStatusConfig `json:"memberStatus,omitempty"`

	// Keeps parameters concerned with the toolchaincluster
	// +optional
	ToolchainCluster ToolchainClusterConfig `json:"toolchainCluster,omitempty"`

	// Keeps parameters concerned with the webhook
	// +optional
	Webhook WebhookConfig `json:"webhook,omitempty"`

	// WebConsolePlugin is used to configure the Web Console Plugin parameters
	// +optional
	WebConsolePlugin WebConsolePlugin `json:"webConsolePlugin,omitempty"`
}

MemberOperatorConfigSpec contains all configuration parameters of the member operator +k8s:openapi-gen=true

func (*MemberOperatorConfigSpec) DeepCopy

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

func (*MemberOperatorConfigSpec) DeepCopyInto

func (in *MemberOperatorConfigSpec) DeepCopyInto(out *MemberOperatorConfigSpec)

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

type MemberOperatorConfigStatus

type MemberOperatorConfigStatus struct {
}

MemberOperatorConfigStatus defines the observed state of MemberOperatorConfig +k8s:openapi-gen=true

func (*MemberOperatorConfigStatus) DeepCopy

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

func (*MemberOperatorConfigStatus) DeepCopyInto

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

type MemberOperatorStatus

type MemberOperatorStatus struct {

	// The version of the operator
	Version string `json:"version"`

	// The commit id from the member-operator repository used to build the operator
	Revision string `json:"revision"`

	// The timestamp of the member operator build
	BuildTimestamp string `json:"buildTimestamp"`

	// The status of the member operator's deployment
	DeploymentName string `json:"deploymentName"`

	// Conditions is an array of current member operator status conditions
	// Supported condition types: ConditionReady
	// +optional
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +listType=map
	// +listMapKey=type
	Conditions []Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`

	// The status of the revision check for member operator's deployment
	// +optional
	RevisionCheck RevisionCheck `json:"revisionCheck"`
}

MemberOperatorStatus defines the observed state of a toolchain's member operator

func (*MemberOperatorStatus) DeepCopy

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

func (*MemberOperatorStatus) DeepCopyInto

func (in *MemberOperatorStatus) DeepCopyInto(out *MemberOperatorStatus)

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

type MemberStatus

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

	Spec   MemberStatusSpec   `json:"spec,omitempty"`
	Status MemberStatusStatus `json:"status,omitempty"`
}

MemberStatus is used to track toolchain member status +k8s:openapi-gen=true +kubebuilder:subresource:status +kubebuilder:resource:scope=Namespaced +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=`.status.conditions[?(@.type=="Ready")].status` +kubebuilder:printcolumn:name="Last Updated",type="string",JSONPath=`.status.conditions[?(@.type=="Ready")].lastUpdatedTime` +kubebuilder:validation:XPreserveUnknownFields +operator-sdk:gen-csv:customresourcedefinitions.displayName="CodeReady Toolchain Member Status"

func (*MemberStatus) DeepCopy

func (in *MemberStatus) DeepCopy() *MemberStatus

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

func (*MemberStatus) DeepCopyInto

func (in *MemberStatus) DeepCopyInto(out *MemberStatus)

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

func (*MemberStatus) DeepCopyObject

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

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

type MemberStatusConfig

type MemberStatusConfig struct {
	// Defines the period between refreshes of the member status
	// +optional
	RefreshPeriod *string `json:"refreshPeriod,omitempty"`

	// Defines all secrets related to GitHub authentication/integration
	// +optional
	GitHubSecret GitHubSecret `json:"gitHubSecret,omitempty"`
}

Defines all parameters concerned with member status +k8s:openapi-gen=true

func (*MemberStatusConfig) DeepCopy

func (in *MemberStatusConfig) DeepCopy() *MemberStatusConfig

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

func (*MemberStatusConfig) DeepCopyInto

func (in *MemberStatusConfig) DeepCopyInto(out *MemberStatusConfig)

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

type MemberStatusList

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

MemberStatusList contains a list of MemberStatus

func (*MemberStatusList) DeepCopy

func (in *MemberStatusList) DeepCopy() *MemberStatusList

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

func (*MemberStatusList) DeepCopyInto

func (in *MemberStatusList) DeepCopyInto(out *MemberStatusList)

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

func (*MemberStatusList) DeepCopyObject

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

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

type MemberStatusSpec

type MemberStatusSpec struct {
}

MemberStatusSpec defines the desired state of MemberStatus +k8s:openapi-gen=true

func (*MemberStatusSpec) DeepCopy

func (in *MemberStatusSpec) DeepCopy() *MemberStatusSpec

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

func (*MemberStatusSpec) DeepCopyInto

func (in *MemberStatusSpec) DeepCopyInto(out *MemberStatusSpec)

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

type MemberStatusStatus

type MemberStatusStatus struct {

	// Che is the status of Che/CRW, such as installed and whether the member configuration is correct
	// +optional
	Che *CheStatus `json:"che,omitempty"`

	// MemberOperator is the status of a toolchain member operator
	// +optional
	MemberOperator *MemberOperatorStatus `json:"memberOperator,omitempty"`

	// HostConnection is the status of the connection with the host cluster
	// +optional
	HostConnection *ToolchainClusterStatus `json:"hostConnection,omitempty"`

	// Host is the status of the connection with the host cluster
	// +optional
	Host *HostStatus `json:"host,omitempty"`

	// Conditions is an array of current toolchain status conditions
	// Supported condition types: ConditionReady
	// +optional
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +listType=map
	// +listMapKey=type
	Conditions []Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`

	// Resource usage of the cluster
	// +optional
	ResourceUsage ResourceUsage `json:"resourceUsage,omitempty"`

	// Routes/URLs of the cluster, such as Console and Che Dashboard URLs
	// +optional
	Routes *Routes `json:"routes,omitempty"`
}

MemberStatusStatus defines the observed state of the toolchain member status +k8s:openapi-gen=true

func (*MemberStatusStatus) DeepCopy

func (in *MemberStatusStatus) DeepCopy() *MemberStatusStatus

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

func (*MemberStatusStatus) DeepCopyInto

func (in *MemberStatusStatus) DeepCopyInto(out *MemberStatusStatus)

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

type Members

type Members struct {
	// Defines default configuration to be applied to all member clusters
	// +optional
	Default MemberOperatorConfigSpec `json:"default,omitempty"`

	// A map of cluster-specific member operator configurations indexed by member toolchaincluster name
	// +optional
	// +mapType=atomic
	SpecificPerMemberCluster map[string]MemberOperatorConfigSpec `json:"specificPerMemberCluster,omitempty"`
}

Members contains all configuration for member operators +k8s:openapi-gen=true

func (*Members) DeepCopy

func (in *Members) DeepCopy() *Members

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

func (*Members) DeepCopyInto

func (in *Members) DeepCopyInto(out *Members)

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

type Metric

type Metric map[string]int

func (Metric) DeepCopy

func (in Metric) DeepCopy() Metric

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

func (Metric) DeepCopyInto

func (in Metric) DeepCopyInto(out *Metric)

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

type MetricsConfig

type MetricsConfig struct {
	// ForceSynchronization is a flag used to trigger synchronization of the metrics
	// based on the resources rather than on the content of `ToolchainStatus.status.metrics`
	// +optional
	ForceSynchronization *bool `json:"forceSynchronization,omitempty"`
}

MetricsConfig contains all configuration parameters related to metrics gathering +k8s:openapi-gen=true

func (*MetricsConfig) DeepCopy

func (in *MetricsConfig) DeepCopy() *MetricsConfig

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

func (*MetricsConfig) DeepCopyInto

func (in *MetricsConfig) DeepCopyInto(out *MetricsConfig)

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

type NSTemplateSet

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

	Spec   NSTemplateSetSpec   `json:"spec,omitempty"`
	Status NSTemplateSetStatus `json:"status,omitempty"`
}

NSTemplateSet defines user environment via templates that are used for namespace provisioning +k8s:openapi-gen=true +kubebuilder:subresource:status +kubebuilder:resource:scope=Namespaced +kubebuilder:printcolumn:name="Tier",type="string",JSONPath=`.spec.tierName` +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=`.status.conditions[?(@.type=="Ready")].status` +kubebuilder:printcolumn:name="Reason",type="string",JSONPath=`.status.conditions[?(@.type=="Ready")].reason` +kubebuilder:validation:XPreserveUnknownFields +operator-sdk:gen-csv:customresourcedefinitions.displayName="Namespace Template Set"

func (*NSTemplateSet) DeepCopy

func (in *NSTemplateSet) DeepCopy() *NSTemplateSet

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

func (*NSTemplateSet) DeepCopyInto

func (in *NSTemplateSet) DeepCopyInto(out *NSTemplateSet)

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

func (*NSTemplateSet) DeepCopyObject

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

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

type NSTemplateSetClusterResources

type NSTemplateSetClusterResources struct {

	// TemplateRef The name of the TierTemplate resource which exists in the host cluster and which contains the template to use
	TemplateRef string `json:"templateRef"`
}

NSTemplateSetClusterResources defines the cluster-scoped resources associated with a given user +k8s:openapi-gen=true

func (*NSTemplateSetClusterResources) DeepCopy

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

func (*NSTemplateSetClusterResources) DeepCopyInto

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

type NSTemplateSetList

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

NSTemplateSetList contains a list of NSTemplateSet

func (*NSTemplateSetList) DeepCopy

func (in *NSTemplateSetList) DeepCopy() *NSTemplateSetList

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

func (*NSTemplateSetList) DeepCopyInto

func (in *NSTemplateSetList) DeepCopyInto(out *NSTemplateSetList)

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

func (*NSTemplateSetList) DeepCopyObject

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

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

type NSTemplateSetNamespace

type NSTemplateSetNamespace struct {

	// TemplateRef The name of the TierTemplate resource which exists in the host cluster and which contains the template to use
	TemplateRef string `json:"templateRef"`
}

NSTemplateSetNamespace the namespace definition in an NSTemplateSet resource +k8s:openapi-gen=true

func (*NSTemplateSetNamespace) DeepCopy

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

func (*NSTemplateSetNamespace) DeepCopyInto

func (in *NSTemplateSetNamespace) DeepCopyInto(out *NSTemplateSetNamespace)

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

type NSTemplateSetSpaceRole

type NSTemplateSetSpaceRole struct {

	// TemplateRef The name of the TierTemplate resource which exists in the host cluster and which contains the template to use
	TemplateRef string `json:"templateRef"`

	// Usernames the usernames to which the template applies
	// +listType=atomic
	Usernames []string `json:"usernames"`
}

NSTemplateSetSpaceRole the role template and the users to whom the templates should be applied to +k8s:openapi-gen=true

func (*NSTemplateSetSpaceRole) DeepCopy

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

func (*NSTemplateSetSpaceRole) DeepCopyInto

func (in *NSTemplateSetSpaceRole) DeepCopyInto(out *NSTemplateSetSpaceRole)

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

type NSTemplateSetSpec

type NSTemplateSetSpec struct {

	// The name of the tier represented by this template set
	TierName string `json:"tierName"`

	// The namespace templates
	// +listType=atomic
	Namespaces []NSTemplateSetNamespace `json:"namespaces"`

	// the cluster resources template (for cluster-wide quotas, etc.)
	// +optional
	ClusterResources *NSTemplateSetClusterResources `json:"clusterResources,omitempty"`

	// the role template and the users to whom the templates should be applied to
	// +optional
	// +listType=atomic
	SpaceRoles []NSTemplateSetSpaceRole `json:"spaceRoles,omitempty"`
}

NSTemplateSetSpec defines the desired state of NSTemplateSet +k8s:openapi-gen=true

func (*NSTemplateSetSpec) DeepCopy

func (in *NSTemplateSetSpec) DeepCopy() *NSTemplateSetSpec

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

func (*NSTemplateSetSpec) DeepCopyInto

func (in *NSTemplateSetSpec) DeepCopyInto(out *NSTemplateSetSpec)

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

type NSTemplateSetStatus

type NSTemplateSetStatus struct {
	// ProvisionedNamespaces is a list of Namespaces that were provisioned by the NSTemplateSet.
	// +optional
	// +listType=atomic
	ProvisionedNamespaces []SpaceNamespace `json:"provisionedNamespaces,omitempty"`

	// Conditions is an array of current NSTemplateSet conditions
	// Supported condition types: ConditionReady
	// +optional
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +listType=map
	// +listMapKey=type
	Conditions []Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`
}

NSTemplateSetStatus defines the observed state of NSTemplateSet +k8s:openapi-gen=true

func (*NSTemplateSetStatus) DeepCopy

func (in *NSTemplateSetStatus) DeepCopy() *NSTemplateSetStatus

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

func (*NSTemplateSetStatus) DeepCopyInto

func (in *NSTemplateSetStatus) DeepCopyInto(out *NSTemplateSetStatus)

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

type NSTemplateTier

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

	Spec   NSTemplateTierSpec   `json:"spec,omitempty"`
	Status NSTemplateTierStatus `json:"status,omitempty"`
}

NSTemplateTier configures user environment via templates used for namespaces the user has access to +k8s:openapi-gen=true +kubebuilder:subresource:status +kubebuilder:resource:scope=Namespaced +kubebuilder:resource:shortName=tier +kubebuilder:validation:XPreserveUnknownFields +operator-sdk:gen-csv:customresourcedefinitions.displayName="Namespace Template Tier"

func (*NSTemplateTier) DeepCopy

func (in *NSTemplateTier) DeepCopy() *NSTemplateTier

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

func (*NSTemplateTier) DeepCopyInto

func (in *NSTemplateTier) DeepCopyInto(out *NSTemplateTier)

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

func (*NSTemplateTier) DeepCopyObject

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

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

type NSTemplateTierClusterResources

type NSTemplateTierClusterResources struct {
	// TemplateRef The name of the TierTemplate resource which exists in the host cluster and which contains the template to use
	TemplateRef string `json:"templateRef"`
}

NSTemplateTierClusterResources defines the cluster-scoped resources associated with a given user

func (*NSTemplateTierClusterResources) DeepCopy

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

func (*NSTemplateTierClusterResources) DeepCopyInto

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

type NSTemplateTierHistory

type NSTemplateTierHistory struct {
	// StartTime is the time when the NSTemplateTier was updated
	StartTime metav1.Time `json:"startTime"`
	// Hash the hash matching on the templateRefs in the resource spec
	Hash string `json:"hash"`
	// CompletionTime is the time when the last MasterUserRecord was updated
	// +optional
	CompletionTime *metav1.Time `json:"completionTime,omitempty"`
	// Failures is the number of MasterUserRecords which failed to be updated
	Failures int `json:"failures"`
	// FailedAccounts
	// +optional
	FailedAccounts []string `json:"failedAccounts,omitempty"`
}

NSTemplateTierHistory a track record of an update

func (*NSTemplateTierHistory) DeepCopy

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

func (*NSTemplateTierHistory) DeepCopyInto

func (in *NSTemplateTierHistory) DeepCopyInto(out *NSTemplateTierHistory)

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

type NSTemplateTierList

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

NSTemplateTierList contains a list of NSTemplateTier

func (*NSTemplateTierList) DeepCopy

func (in *NSTemplateTierList) DeepCopy() *NSTemplateTierList

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

func (*NSTemplateTierList) DeepCopyInto

func (in *NSTemplateTierList) DeepCopyInto(out *NSTemplateTierList)

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

func (*NSTemplateTierList) DeepCopyObject

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

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

type NSTemplateTierNamespace

type NSTemplateTierNamespace struct {
	// TemplateRef The name of the TierTemplate resource which exists in the host cluster and which contains the template to use
	TemplateRef string `json:"templateRef"`
}

NSTemplateTierNamespace the namespace definition in an NSTemplateTier resource

func (*NSTemplateTierNamespace) DeepCopy

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

func (*NSTemplateTierNamespace) DeepCopyInto

func (in *NSTemplateTierNamespace) DeepCopyInto(out *NSTemplateTierNamespace)

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

type NSTemplateTierSpaceRole

type NSTemplateTierSpaceRole struct {
	// TemplateRef The name of the TierTemplate resource which exists in the host cluster and which contains the template to use
	TemplateRef string `json:"templateRef"`
}

NSTemplateTierSpaceRole the space roles definition in an NSTemplateTier resource

func (*NSTemplateTierSpaceRole) DeepCopy

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

func (*NSTemplateTierSpaceRole) DeepCopyInto

func (in *NSTemplateTierSpaceRole) DeepCopyInto(out *NSTemplateTierSpaceRole)

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

type NSTemplateTierSpec

type NSTemplateTierSpec struct {

	// The namespace templates
	// +listType=atomic
	Namespaces []NSTemplateTierNamespace `json:"namespaces"`

	// the cluster resources template (for cluster-wide quotas, etc.)
	// +optional
	ClusterResources *NSTemplateTierClusterResources `json:"clusterResources,omitempty"`

	// the templates to set the spaces roles, indexed by role
	// +optional
	// +mapType=atomic
	SpaceRoles map[string]NSTemplateTierSpaceRole `json:"spaceRoles,omitempty"`

	// SpaceRequestConfig stores all the configuration related to the Space Request feature
	// +optional
	SpaceRequestConfig *SpaceRequestConfig `json:"spaceRequestConfig,omitempty"`
}

NSTemplateTierSpec defines the desired state of NSTemplateTier +k8s:openapi-gen=true

func (*NSTemplateTierSpec) DeepCopy

func (in *NSTemplateTierSpec) DeepCopy() *NSTemplateTierSpec

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

func (*NSTemplateTierSpec) DeepCopyInto

func (in *NSTemplateTierSpec) DeepCopyInto(out *NSTemplateTierSpec)

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

type NSTemplateTierStatus

type NSTemplateTierStatus struct {

	// Conditions is an array of current NSTemplateTier conditions
	// Supported condition types: ConditionReady
	// +optional
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +listType=map
	// +listMapKey=type
	Conditions []Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`

	// Updates is an array of all NSTemplateTier updates
	// +optional
	// +patchMergeKey=startTime
	// +patchStrategy=merge
	// +listType=map
	// +listMapKey=startTime
	Updates []NSTemplateTierHistory `json:"updates,omitempty" patchStrategy:"merge" patchMergeKey:"startTime"`
}

NSTemplateTierStatus defines the observed state of NSTemplateTier +k8s:openapi-gen=true

func (*NSTemplateTierStatus) DeepCopy

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

func (*NSTemplateTierStatus) DeepCopyInto

func (in *NSTemplateTierStatus) DeepCopyInto(out *NSTemplateTierStatus)

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

type NamespaceAccess

type NamespaceAccess struct {
	// Name is the corresponding name of the provisioned namespace
	Name string `json:"name"`
	// SecretRef is the name of the secret with a SA token that has admin-like
	// (or whatever we set in the tier template) permissions in the namespace
	SecretRef string `json:"secretRef"`
}

NamespaceAccess defines the name of the namespace and the secret reference to access it

func (*NamespaceAccess) DeepCopy

func (in *NamespaceAccess) DeepCopy() *NamespaceAccess

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

func (*NamespaceAccess) DeepCopyInto

func (in *NamespaceAccess) DeepCopyInto(out *NamespaceAccess)

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

type Notification

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

	Spec   NotificationSpec   `json:"spec,omitempty"`
	Status NotificationStatus `json:"status,omitempty"`
}

Notification registers a notification in the CodeReady Toolchain +k8s:openapi-gen=true +kubebuilder:subresource:status +kubebuilder:resource:scope=Namespaced +kubebuilder:printcolumn:name="User ID",type="string",JSONPath=`.spec.userID`,priority=1 +kubebuilder:printcolumn:name="Sent",type="string",JSONPath=`.status.conditions[?(@.type=="Sent")].status` +kubebuilder:validation:XPreserveUnknownFields +operator-sdk:gen-csv:customresourcedefinitions.displayName="Notification"

func (*Notification) DeepCopy

func (in *Notification) DeepCopy() *Notification

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

func (*Notification) DeepCopyInto

func (in *Notification) DeepCopyInto(out *Notification)

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

func (*Notification) DeepCopyObject

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

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

type NotificationList

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

NotificationList contains a list of Notification

func (*NotificationList) DeepCopy

func (in *NotificationList) DeepCopy() *NotificationList

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

func (*NotificationList) DeepCopyInto

func (in *NotificationList) DeepCopyInto(out *NotificationList)

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

func (*NotificationList) DeepCopyObject

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

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

type NotificationSecret

type NotificationSecret struct {
	// The reference to the secret that is expected to contain the keys below
	// +optional
	ToolchainSecret `json:",inline"`

	// The key for the host operator mailgun domain used for creating an instance of mailgun
	// +optional
	MailgunDomain *string `json:"mailgunDomain,omitempty"`

	// The key for the host operator mailgun api key used for creating an instance of mailgun
	// +optional
	MailgunAPIKey *string `json:"mailgunAPIKey,omitempty"`

	// The key for the host operator mailgun senders email
	// +optional
	MailgunSenderEmail *string `json:"mailgunSenderEmail,omitempty"`

	// The key for the reply-to email address that will be set in sent notifications
	// +optional
	MailgunReplyToEmail *string `json:"mailgunReplyToEmail,omitempty"`
}

Defines all secrets related to notification configuration +k8s:openapi-gen=true

func (*NotificationSecret) DeepCopy

func (in *NotificationSecret) DeepCopy() *NotificationSecret

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

func (*NotificationSecret) DeepCopyInto

func (in *NotificationSecret) DeepCopyInto(out *NotificationSecret)

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

type NotificationSpec

type NotificationSpec struct {

	// UserID is the user ID from RHD Identity Provider token (“sub” claim).  The UserID is used by
	// the notification service (i.e. the NotificationController) to lookup the UserSignup resource for the user,
	// and extract from it the values required to generate the notification content and to deliver the notification
	// Deprecated: replaced by Context
	// +optional
	UserID string `json:"userID,omitempty"`

	// Recipient is used to specify the email address where the notification will be delivered.  It must comply with
	// section 3.4.1 of RFC2822, and should be formatted to include the user's first and last names,
	// e.g. "John Smith <jsmith@example.com>"
	Recipient string `json:"recipient,omitempty"`

	// Context is used to set a number of arbitrary values to be passed to the notification content text formatter,
	// for inclusion in the body of the notification.
	// +optional
	Context map[string]string `json:"context,omitempty"`

	// Template is the name of the NotificationTemplate resource that will be used to generate the notification
	Template string `json:"template,omitempty"`

	// Subject is used when no template value is specified, in cases where the complete notification subject is
	// specified at notification creation time
	Subject string `json:"subject,omitempty"`

	// Content is used when no template value is specified, in cases where the complete notification content is
	// specified at notification creation time
	Content string `json:"content,omitempty"`
}

NotificationSpec defines the desired state of Notification +k8s:openapi-gen=true

func (*NotificationSpec) DeepCopy

func (in *NotificationSpec) DeepCopy() *NotificationSpec

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

func (*NotificationSpec) DeepCopyInto

func (in *NotificationSpec) DeepCopyInto(out *NotificationSpec)

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

type NotificationStatus

type NotificationStatus struct {

	// Conditions is an array of current Notification conditions
	// Supported condition types:
	// Sent
	// +optional
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +listType=map
	// +listMapKey=type
	Conditions []Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`
}

NotificationStatus defines the observed state of Notification +k8s:openapi-gen=true

func (*NotificationStatus) DeepCopy

func (in *NotificationStatus) DeepCopy() *NotificationStatus

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

func (*NotificationStatus) DeepCopyInto

func (in *NotificationStatus) DeepCopyInto(out *NotificationStatus)

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

type NotificationsConfig

type NotificationsConfig struct {
	// NotificationDeliveryService is notification delivery service to use for notifications
	// +optional
	NotificationDeliveryService *string `json:"notificationDeliveryService,omitempty"`

	// DurationBeforeNotificationDeletion is notification delivery service to use for notifications
	// +optional
	DurationBeforeNotificationDeletion *string `json:"durationBeforeNotificationDeletion,omitempty"`

	// The administrator email address for system notifications
	// +optional
	AdminEmail *string `json:"adminEmail,omitempty"`

	// TemplateSetName defines the set of notification templates. Different Sandbox instances can use different notification templates. For example Dev Sandbox and AppStudio instances use different templates. By default, the "sandbox" template set name is used.
	// +optional
	TemplateSetName *string `json:"templateSetName,omitempty"`

	// Defines all secrets related to notification configuration
	// +optional
	Secret NotificationSecret `json:"secret,omitempty"`
}

NotificationsConfig contains all configuration parameters related to notifications +k8s:openapi-gen=true

func (*NotificationsConfig) DeepCopy

func (in *NotificationsConfig) DeepCopy() *NotificationsConfig

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

func (*NotificationsConfig) DeepCopyInto

func (in *NotificationsConfig) DeepCopyInto(out *NotificationsConfig)

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

type OpenShiftRouteTarget

type OpenShiftRouteTarget struct {
	Namespace string `json:"namespace"`
	Name      string `json:"name"`
}

OpenShiftRouteTarget captures the look up information for retrieving an OpenShift Route object in the member cluster.

func (*OpenShiftRouteTarget) DeepCopy

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

func (*OpenShiftRouteTarget) DeepCopyInto

func (in *OpenShiftRouteTarget) DeepCopyInto(out *OpenShiftRouteTarget)

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

type Pod

type Pod struct {
	Name      string      `json:"name"`
	StartTime metav1.Time `json:"startTime"`
}

func (*Pod) DeepCopy

func (in *Pod) DeepCopy() *Pod

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

func (*Pod) DeepCopyInto

func (in *Pod) DeepCopyInto(out *Pod)

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

type PropagatedClaims

type PropagatedClaims struct {
	// Sub contains the value of the 'sub' claim
	Sub string `json:"sub"`

	// UserID contains the value of the 'user_id' claim
	// +optional
	UserID string `json:"userID,omitempty"`

	// AccountID contains the value of the 'account_id' claim
	// +optional
	AccountID string `json:"accountID,omitempty"`

	// OriginalSub is an optional property temporarily introduced for the purpose of migrating the users to
	// a new IdP provider client, and contains the user's "original-sub" claim
	// +optional
	OriginalSub string `json:"originalSub,omitempty"`

	// Email contains the user's email address
	Email string `json:"email"`
}

+k8s:openapi-gen=true

func (*PropagatedClaims) DeepCopy

func (in *PropagatedClaims) DeepCopy() *PropagatedClaims

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

func (*PropagatedClaims) DeepCopyInto

func (in *PropagatedClaims) DeepCopyInto(out *PropagatedClaims)

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

type ProxyPlugin

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

	Spec   ProxyPluginSpec   `json:"spec,omitempty"`
	Status ProxyPluginStatus `json:"status,omitempty"`
}

ProxyPlugin represents the configuration to handle GET's to k8s services in member clusters that first route through the registration service running in the sandbox host cluster. Two forms of URL are supported: https://<proxy-host>/plugins/<ProxyPlugin.ObjectMeta.Name>/v1alpha2/<namespace-name>/ https://<proxy-host>/plugins/<ProxyPlugin.ObjectMeta.Name>/workspaces/<workspace-name>/v1alpha2/<namespace-name> +k8s:openapi-gen=true +kubebuilder:subresource:status +kubebuilder:resource:scope=Namespaced +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=`.status.conditions[?(@.type=="Ready")].status` +kubebuilder:printcolumn:name="Reason",type="string",JSONPath=`.status.conditions[?(@.type=="Ready")].reason` +kubebuilder:validation:XPreserveUnknownFields +operator-sdk:gen-csv:customresourcedefinitions.displayName="Proxy Plugin"

func (*ProxyPlugin) DeepCopy

func (in *ProxyPlugin) DeepCopy() *ProxyPlugin

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

func (*ProxyPlugin) DeepCopyInto

func (in *ProxyPlugin) DeepCopyInto(out *ProxyPlugin)

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

func (*ProxyPlugin) DeepCopyObject

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

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

type ProxyPluginList

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

ProxyPluginList contains a list of ProxyPlugin

func (*ProxyPluginList) DeepCopy

func (in *ProxyPluginList) DeepCopy() *ProxyPluginList

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

func (*ProxyPluginList) DeepCopyInto

func (in *ProxyPluginList) DeepCopyInto(out *ProxyPluginList)

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

func (*ProxyPluginList) DeepCopyObject

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

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

type ProxyPluginSpec

type ProxyPluginSpec struct {

	// OpenShiftRouteTargetEndpoint is an optional field that represents the look up information for an OpenShift Route
	// as the endpoint for the registration service to proxy requests to that have the https://<proxy-host>/plugins/<ProxyPlugin.ObjectMeta.Name>
	// in its incoming URL.  As we add more types besides OpenShift Routes, we will add more optional fields to this spec
	// object
	// +optional
	OpenShiftRouteTargetEndpoint *OpenShiftRouteTarget `json:"openShiftRouteTargetEndpoint,omitempty"`
}

ProxyPluginSpec defines the desired state of ProxyPlugin +k8s:openapi-gen=true

func (*ProxyPluginSpec) DeepCopy

func (in *ProxyPluginSpec) DeepCopy() *ProxyPluginSpec

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

func (*ProxyPluginSpec) DeepCopyInto

func (in *ProxyPluginSpec) DeepCopyInto(out *ProxyPluginSpec)

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

type ProxyPluginStatus

type ProxyPluginStatus struct {

	// Conditions is an array of current Proxy Plugin conditions
	// Supported condition types: ConditionReady
	// +optional
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +listType=map
	// +listMapKey=type
	Conditions []Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`
}

ProxyPluginStatus defines the observed state of ProxyPlugin +k8s:openapi-gen=true

func (*ProxyPluginStatus) DeepCopy

func (in *ProxyPluginStatus) DeepCopy() *ProxyPluginStatus

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

func (*ProxyPluginStatus) DeepCopyInto

func (in *ProxyPluginStatus) DeepCopyInto(out *ProxyPluginStatus)

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

type RegistrationServiceAnalyticsConfig

type RegistrationServiceAnalyticsConfig struct {
	// DevSpaces contains the analytics configuration parameters for devspaces
	// +optional
	DevSpaces DevSpaces `json:"devSpaces,omitempty"`

	// SegmentWriteKey specifies the segment write key for sandbox
	// +optional
	SegmentWriteKey *string `json:"segmentWriteKey,omitempty"`
}

RegistrationServiceAnalyticsConfig contains the subset of registration service configuration parameters related to analytics +k8s:openapi-gen=true

func (*RegistrationServiceAnalyticsConfig) DeepCopy

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

func (*RegistrationServiceAnalyticsConfig) DeepCopyInto

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

type RegistrationServiceAuthConfig

type RegistrationServiceAuthConfig struct {
	// AuthClientLibraryURL specifies the auth library location
	// +optional
	AuthClientLibraryURL *string `json:"authClientLibraryURL,omitempty"`

	// AuthClientConfigContentType specifies the auth config content type
	// +optional
	AuthClientConfigContentType *string `json:"authClientConfigContentType,omitempty"`

	// AuthClientConfigRaw specifies the URL used to access the registration service
	// +optional
	AuthClientConfigRaw *string `json:"authClientConfigRaw,omitempty"`

	// AuthClientPublicKeysURL specifies the public keys URL
	// +optional
	AuthClientPublicKeysURL *string `json:"authClientPublicKeysURL,omitempty"`

	// SSOBaseURL specifies the SSO base URL such as https://sso.redhat.com
	// +optional
	SSOBaseURL *string `json:"ssoBaseURL,omitempty"`

	// SSORealm specifies the SSO realm name
	// +optional
	SSORealm *string `json:"ssoRealm,omitempty"`
}

RegistrationServiceAuthConfig contains the subset of registration service configuration parameters related to authentication +k8s:openapi-gen=true

func (*RegistrationServiceAuthConfig) DeepCopy

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

func (*RegistrationServiceAuthConfig) DeepCopyInto

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

type RegistrationServiceConfig

type RegistrationServiceConfig struct {
	// Keeps parameters necessary for the registration service analytics config
	// +optional
	Analytics RegistrationServiceAnalyticsConfig `json:"analytics,omitempty"`

	// Keeps parameters necessary for the registration service authentication config
	// +optional
	Auth RegistrationServiceAuthConfig `json:"auth,omitempty"`

	// Environment specifies the environment such as prod, stage, unit-tests, e2e-tests, dev, etc
	// +optional
	Environment *string `json:"environment,omitempty"`

	// LogLevel specifies the logging level
	// +optional
	LogLevel *string `json:"logLevel,omitempty"`

	// Namespace specifies the namespace in which the registration service and host operator is running
	// Consumed by host operator and set as env var on registration-service deployment
	// +optional
	Namespace *string `json:"namespace,omitempty"`

	// RegistrationServiceURL is the URL used to a ccess the registration service
	// +optional
	RegistrationServiceURL *string `json:"registrationServiceURL,omitempty"`

	// Replicas specifies the number of replicas to use for the registration service deployment
	// +optional
	Replicas *int32 `json:"replicas,omitempty"`

	// Keeps parameters necessary for the registration service verification config
	// +optional
	Verification RegistrationServiceVerificationConfig `json:"verification,omitempty"`
}

RegistrationServiceConfig contains all configuration parameters related to the registration service +k8s:openapi-gen=true

func (*RegistrationServiceConfig) DeepCopy

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

func (*RegistrationServiceConfig) DeepCopyInto

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

type RegistrationServiceDeploymentStatus

type RegistrationServiceDeploymentStatus struct {
	// The host operator deployment name
	Name string `json:"name"`

	// Conditions is an array of current deployment status conditions for a host operator
	// Supported condition types: Available, Progressing
	// +optional
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +listType=map
	// +listMapKey=type
	Conditions []Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`
}

RegistrationServiceDeploymentStatus contains status of the registration service's deployment +k8s:openapi-gen=true

func (*RegistrationServiceDeploymentStatus) DeepCopy

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

func (*RegistrationServiceDeploymentStatus) DeepCopyInto

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

type RegistrationServiceHealth

type RegistrationServiceHealth struct {
	Alive       string `json:"alive"`
	BuildTime   string `json:"buildTime"`
	Environment string `json:"environment"`
	Revision    string `json:"revision"`
	StartTime   string `json:"startTime"`

	// Conditions is an array of status conditions for the health of the registration service
	// Supported condition types: ConditionReady
	// +optional
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +listType=map
	// +listMapKey=type
	Conditions []Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`
}

RegistrationServiceHealth contains health status of the registration service +k8s:openapi-gen=true

func (*RegistrationServiceHealth) DeepCopy

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

func (*RegistrationServiceHealth) DeepCopyInto

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

type RegistrationServiceResourcesStatus

type RegistrationServiceResourcesStatus struct {
	// Conditions is an array of current registration service resource status conditions
	// Supported condition types: Deployed, Deploying, DeployingFailed
	// +optional
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +listType=map
	// +listMapKey=type
	Conditions []Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`
}

RegistrationServiceResourcesStatus contains conditions for creation/deployment of registration service resources +k8s:openapi-gen=true

func (*RegistrationServiceResourcesStatus) DeepCopy

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

func (*RegistrationServiceResourcesStatus) DeepCopyInto

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

type RegistrationServiceVerificationConfig

type RegistrationServiceVerificationConfig struct {
	// Defines all secrets related to the registration service verification configuration
	// +optional
	Secret RegistrationServiceVerificationSecret `json:"secret,omitempty"`

	// VerificationEnabled specifies whether verification is enabled or not
	// Verification enablement works in the following way:
	//   1. verification.enabled == false
	//      No verification during the signup process at all. (no phone, no captcha)
	//   2. verification.enabled == true && verification.captcha.enabled == true
	//      Captcha is enabled and will bypass phone verification if the score is above the threshold but if the score is
	//      below the threshold then phone verification kicks in.
	//   3. verification.enabled == true && verification.captcha.enabled == false
	//      Only phone verification is effect.
	// +optional
	Enabled *bool `json:"enabled,omitempty"`

	// Captcha defines any configuration related to captcha verification
	// +optional
	Captcha CaptchaConfig `json:"captcha,omitempty"`

	// VerificationDailyLimit specifies the number of times a user may initiate a phone verification request within a
	// 24 hour period
	// +optional
	DailyLimit *int `json:"dailyLimit,omitempty"`

	// VerificationAttemptsAllowed specifies the number of times a user may attempt to correctly enter a verification code,
	// if they fail then they must request another code
	// +optional
	AttemptsAllowed *int `json:"attemptsAllowed,omitempty"`

	// VerificationMessageTemplate specifies the message template used to generate the content sent to users via SMS for
	// phone verification
	// +optional
	MessageTemplate *string `json:"messageTemplate,omitempty"`

	// VerificationExcludedEmailDomains specifies the list of email address domains for which phone verification
	// is not required
	// +optional
	ExcludedEmailDomains *string `json:"excludedEmailDomains,omitempty"`

	// VerificationCodeExpiresInMin specifies an int representing the number of minutes before a verification code should
	// be expired
	// +optional
	CodeExpiresInMin *int `json:"codeExpiresInMin,omitempty"`

	// NotificationSender is used to specify which service should be used to send verification notifications. Allowed
	// values are "twilio", "aws".  If not specified, the Twilio sender will be used.
	// +optional
	NotificationSender *string `json:"notificationSender,omitempty"`

	// AWSRegion to use when sending notification SMS
	// +optional
	AWSRegion *string `json:"awsRegion,omitempty"`

	// AWSSenderID the Alphanumeric Sender ID to use, e.g. "DevSandbox"
	// +optional
	AWSSenderID *string `json:"awsSenderID,omitempty"`

	// AWSSMSType is the type of SMS message to send, either `Promotional` or `Transactional`
	// See https://docs.aws.amazon.com/sns/latest/dg/sms_publish-to-phone.html for details
	// +optional
	AWSSMSType *string `json:"awsSMSType,omitempty"`

	// TwilioSenderConfigs is an array of TwilioSenderConfig objects
	// +optional
	// +listType=atomic
	TwilioSenderConfigs []TwilioSenderConfig `json:"twilioSenderConfigs,omitempty"`
}

RegistrationServiceVerificationConfig contains the subset of registration service configuration parameters related to verification +k8s:openapi-gen=true

func (*RegistrationServiceVerificationConfig) DeepCopy

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

func (*RegistrationServiceVerificationConfig) DeepCopyInto

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

type RegistrationServiceVerificationSecret

type RegistrationServiceVerificationSecret struct {
	// The reference to the secret that is expected to contain the keys below
	// +optional
	ToolchainSecret `json:",inline"`

	// TwilioAccountSID specifies the Twilio account identifier, used for sending phone verification messages
	// +optional
	TwilioAccountSID *string `json:"twilioAccountSID,omitempty"`

	// TwilioAuthToken specifies the Twilio authentication token, used for sending phone verification messages
	// +optional
	TwilioAuthToken *string `json:"twilioAuthToken,omitempty"`

	// TwilioFromNumber specifies the phone number or alphanumeric "Sender ID" for sending phone verification messages
	// +optional
	TwilioFromNumber *string `json:"twilioFromNumber,omitempty"`

	// AWSAccessKeyId is the AWS Access Key used to authenticate in order to access AWS services
	// +optional
	AWSAccessKeyID *string `json:"awsAccessKeyID,omitempty"`

	// AWSSecretAccessKey is the AWS credential used to authenticate in order to access AWS services
	// +optional
	AWSSecretAccessKey *string `json:"awsSecretAccessKey,omitempty"`

	// RecaptchaServiceAccountFile is the GCP service account file contents encoded in base64, it is
	// to be used with the recaptcha client for authentication
	// +optional
	RecaptchaServiceAccountFile *string `json:"recaptchaServiceAccountFile,omitempty"`
}

Defines all secrets related to registration service verification configuration +k8s:openapi-gen=true

func (*RegistrationServiceVerificationSecret) DeepCopy

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

func (*RegistrationServiceVerificationSecret) DeepCopyInto

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

type ResourceUsage

type ResourceUsage struct {
	// How many percent of the available memory is used per node role (eg. worker, master)
	// +optional
	MemoryUsagePerNodeRole map[string]int `json:"memoryUsagePerNodeRole,omitempty"`
}

Contains information about the resource usage of the cluster +k8s:openapi-gen=true

func (*ResourceUsage) DeepCopy

func (in *ResourceUsage) DeepCopy() *ResourceUsage

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

func (*ResourceUsage) DeepCopyInto

func (in *ResourceUsage) DeepCopyInto(out *ResourceUsage)

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

type RevisionCheck

type RevisionCheck struct {
	// Conditions is an array of status conditions for the health of the registration service
	// Supported condition types: ConditionReady
	// +optional
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +listType=map
	// +listMapKey=type
	Conditions []Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`
}

RevisionCheck contains status of revision check for the component, it highlights if the component is up-to-date and the deployed version matches the latest one in the GitHub repository. +k8s:openapi-gen=true

func (*RevisionCheck) DeepCopy

func (in *RevisionCheck) DeepCopy() *RevisionCheck

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

func (*RevisionCheck) DeepCopyInto

func (in *RevisionCheck) DeepCopyInto(out *RevisionCheck)

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

type Routes

type Routes struct {
	// ConsoleURL is the web console URL of the cluster
	// +optional
	ConsoleURL string `json:"consoleURL,omitempty"`

	// CheDashboardURL is the Che Dashboard URL of the cluster if Che is installed
	// +optional
	CheDashboardURL string `json:"cheDashboardURL,omitempty"`

	// Conditions is an array of current member operator status conditions
	// Supported condition types: ConditionReady
	// +optional
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +listType=map
	// +listMapKey=type
	Conditions []Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`
}

Routes contains information about the public routes available to the user in the cluster +k8s:openapi-gen=true

func (*Routes) DeepCopy

func (in *Routes) DeepCopy() *Routes

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

func (*Routes) DeepCopyInto

func (in *Routes) DeepCopyInto(out *Routes)

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

type SocialEvent

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

	Spec   SocialEventSpec   `json:"spec,omitempty"`
	Status SocialEventStatus `json:"status,omitempty"`
}

SocialEvent registers a social event in Dev Sandbox +k8s:openapi-gen=true +kubebuilder:subresource:status +kubebuilder:resource:scope=Namespaced +kubebuilder:printcolumn:name="StartTime",type="string",JSONPath=`.spec.startTime` +kubebuilder:printcolumn:name="EndTime",type="string",JSONPath=`.spec.endTime` +kubebuilder:printcolumn:name="Description",type="string",JSONPath=`.spec.description` +kubebuilder:printcolumn:name="MaxAttendees",type="string",JSONPath=`.spec.maxAttendees` +kubebuilder:printcolumn:name="CurrentAttendees",type="string",JSONPath=`.status.activationCount` +kubebuilder:validation:XPreserveUnknownFields +operator-sdk:gen-csv:customresourcedefinitions.displayName="Toolchain Event"

func (*SocialEvent) DeepCopy

func (in *SocialEvent) DeepCopy() *SocialEvent

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

func (*SocialEvent) DeepCopyInto

func (in *SocialEvent) DeepCopyInto(out *SocialEvent)

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

func (*SocialEvent) DeepCopyObject

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

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

type SocialEventList

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

SocialEventList contains a list of SocialEvent

func (*SocialEventList) DeepCopy

func (in *SocialEventList) DeepCopy() *SocialEventList

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

func (*SocialEventList) DeepCopyInto

func (in *SocialEventList) DeepCopyInto(out *SocialEventList)

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

func (*SocialEventList) DeepCopyObject

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

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

type SocialEventSpec

type SocialEventSpec struct {

	// The timestamp from which users may register via this event's activation code
	StartTime metav1.Time `json:"startTime"`

	// The timestamp after which users may no longer register via this event's activation code
	EndTime metav1.Time `json:"endTime"`

	// An optional description that may be provided describing the purpose of the event
	// +optional
	Description string `json:"description,omitempty"`

	// The maximum number of attendees
	MaxAttendees int `json:"maxAttendees"`

	// The tier to assign to users registering for the event.
	// This must be the valid name of an nstemplatetier resource.
	UserTier string `json:"userTier"`

	// The tier to assign to spaces created for users who registered for the event.
	// This must be the valid name of an nstemplatetier resource.
	SpaceTier string `json:"spaceTier"`

	// If true, best effort is made to provision all attendees of the event on the same cluster
	// +optional
	PreferSameCluster bool `json:"preferSameCluster,omitempty"`

	// If true, the user will also be required to complete standard phone verification
	// +optional
	VerificationRequired bool `json:"verificationRequired,omitempty"`
}

SocialEventSpec defines the parameters for a Social event, such as a training session or workshop. Users may register for the event by using the event's unique activation code

+k8s:openapi-gen=true

func (*SocialEventSpec) DeepCopy

func (in *SocialEventSpec) DeepCopy() *SocialEventSpec

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

func (*SocialEventSpec) DeepCopyInto

func (in *SocialEventSpec) DeepCopyInto(out *SocialEventSpec)

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

type SocialEventStatus

type SocialEventStatus struct {

	// Conditions is an array of current SocialEventStatus conditions
	// Supported condition types:
	// Ready
	// +optional
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +listType=map
	// +listMapKey=type
	Conditions []Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`

	ActivationCount int `json:"activationCount"`
}

SocialEventStatus defines the observed state of SocialEvent +k8s:openapi-gen=true

func (*SocialEventStatus) DeepCopy

func (in *SocialEventStatus) DeepCopy() *SocialEventStatus

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

func (*SocialEventStatus) DeepCopyInto

func (in *SocialEventStatus) DeepCopyInto(out *SocialEventStatus)

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

type Space

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

	Spec   SpaceSpec   `json:"spec,omitempty"`
	Status SpaceStatus `json:"status,omitempty"`
}

+kubebuilder:object:root=true +kubebuilder:subresource:status Space is the Schema for the spaces API +k8s:openapi-gen=true +kubebuilder:resource:scope=Namespaced +kubebuilder:printcolumn:name="Cluster",type="string",JSONPath=`.spec.targetCluster` +kubebuilder:printcolumn:name="Tier",type="string",JSONPath=`.spec.tierName` +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=`.status.conditions[?(@.type=="Ready")].status` +kubebuilder:printcolumn:name="Reason",type="string",JSONPath=`.status.conditions[?(@.type=="Ready")].reason` +kubebuilder:validation:XPreserveUnknownFields +operator-sdk:gen-csv:customresourcedefinitions.displayName="Space"

func (*Space) DeepCopy

func (in *Space) DeepCopy() *Space

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

func (*Space) DeepCopyInto

func (in *Space) DeepCopyInto(out *Space)

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

func (*Space) DeepCopyObject

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

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

type SpaceBinding

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

	Spec   SpaceBindingSpec   `json:"spec,omitempty"`
	Status SpaceBindingStatus `json:"status,omitempty"`
}

+kubebuilder:object:root=true +kubebuilder:subresource:status SpaceBinding is the Schema for the spacebindings API which defines relationship between Spaces and MasterUserRecords +k8s:openapi-gen=true +kubebuilder:resource:scope=Namespaced +kubebuilder:printcolumn:name="MUR",type="string",JSONPath=`.spec.masterUserRecord` +kubebuilder:printcolumn:name="Space",type="string",JSONPath=`.spec.space` +kubebuilder:printcolumn:name="SpaceRole",type="string",JSONPath=`.spec.spaceRole` +kubebuilder:validation:XPreserveUnknownFields +operator-sdk:gen-csv:customresourcedefinitions.displayName="SpaceBinding"

func (*SpaceBinding) DeepCopy

func (in *SpaceBinding) DeepCopy() *SpaceBinding

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

func (*SpaceBinding) DeepCopyInto

func (in *SpaceBinding) DeepCopyInto(out *SpaceBinding)

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

func (*SpaceBinding) DeepCopyObject

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

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

type SpaceBindingList

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

SpaceBindingList contains a list of SpaceBinding +k8s:openapi-gen=true

func (*SpaceBindingList) DeepCopy

func (in *SpaceBindingList) DeepCopy() *SpaceBindingList

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

func (*SpaceBindingList) DeepCopyInto

func (in *SpaceBindingList) DeepCopyInto(out *SpaceBindingList)

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

func (*SpaceBindingList) DeepCopyObject

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

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

type SpaceBindingRequest

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

	Spec   SpaceBindingRequestSpec   `json:"spec,omitempty"`
	Status SpaceBindingRequestStatus `json:"status,omitempty"`
}

SpaceBindingRequest is the Schema for the SpaceBindingRequest API +k8s:openapi-gen=true +kubebuilder:resource:scope=Namespaced +kubebuilder:printcolumn:name="MUR",type="string",JSONPath=`.spec.masterUserRecord` +kubebuilder:printcolumn:name="SpaceRole",type="string",JSONPath=`.spec.spaceRole` +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=`.status.conditions[?(@.type=="Ready")].status` +kubebuilder:printcolumn:name="Reason",type="string",JSONPath=`.status.conditions[?(@.type=="Ready")].reason` +kubebuilder:validation:XPreserveUnknownFields +operator-sdk:gen-csv:customresourcedefinitions.displayName="SpaceBindingRequest"

func (*SpaceBindingRequest) DeepCopy

func (in *SpaceBindingRequest) DeepCopy() *SpaceBindingRequest

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

func (*SpaceBindingRequest) DeepCopyInto

func (in *SpaceBindingRequest) DeepCopyInto(out *SpaceBindingRequest)

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

func (*SpaceBindingRequest) DeepCopyObject

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

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

type SpaceBindingRequestList

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

SpaceBindingRequestList contains a list of SpaceBindingRequests

func (*SpaceBindingRequestList) DeepCopy

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

func (*SpaceBindingRequestList) DeepCopyInto

func (in *SpaceBindingRequestList) DeepCopyInto(out *SpaceBindingRequestList)

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

func (*SpaceBindingRequestList) DeepCopyObject

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

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

type SpaceBindingRequestSpec

type SpaceBindingRequestSpec struct {
	// MasterUserRecord is a required property introduced to retain the name of the MUR
	// for which this SpaceBinding is provisioned.
	MasterUserRecord string `json:"masterUserRecord"`

	// SpaceRole is a required property which defines the role that will be granted to the MUR in the current Space by the SpaceBinding resource.
	SpaceRole string `json:"spaceRole"`
}

SpaceBindingRequestSpec defines the desired state of SpaceBindingRequest +k8s:openapi-gen=true

func (*SpaceBindingRequestSpec) DeepCopy

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

func (*SpaceBindingRequestSpec) DeepCopyInto

func (in *SpaceBindingRequestSpec) DeepCopyInto(out *SpaceBindingRequestSpec)

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

type SpaceBindingRequestStatus

type SpaceBindingRequestStatus struct {
	// Conditions is an array of SpaceBindingRequest conditions
	// Supported condition types:
	// Provisioning, SpaceBindingNotReady and Ready
	// +optional
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +listType=map
	// +listMapKey=type
	Conditions []Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`
}

SpaceBindingRequestStatus defines the observed state of SpaceBinding +k8s:openapi-gen=true

func (*SpaceBindingRequestStatus) DeepCopy

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

func (*SpaceBindingRequestStatus) DeepCopyInto

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

type SpaceBindingSpec

type SpaceBindingSpec struct {

	// The MasterUserRecord is a name of the MasterUserRecord this SpaceBinding belongs to.
	MasterUserRecord string `json:"masterUserRecord"`

	// The Space is a name of the Space this SpaceBinding is bound to.
	Space string `json:"space"`

	// The SpaceRole is a name of the SpaceRole that is granted to the user for the Space. For example: admin, view, ...
	SpaceRole string `json:"spaceRole"`
}

SpaceBindingSpec defines the desired state of SpaceBinding +k8s:openapi-gen=true

func (*SpaceBindingSpec) DeepCopy

func (in *SpaceBindingSpec) DeepCopy() *SpaceBindingSpec

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

func (*SpaceBindingSpec) DeepCopyInto

func (in *SpaceBindingSpec) DeepCopyInto(out *SpaceBindingSpec)

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

type SpaceBindingStatus

type SpaceBindingStatus struct {
}

SpaceBindingStatus defines the observed state of SpaceBinding +k8s:openapi-gen=true

func (*SpaceBindingStatus) DeepCopy

func (in *SpaceBindingStatus) DeepCopy() *SpaceBindingStatus

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

func (*SpaceBindingStatus) DeepCopyInto

func (in *SpaceBindingStatus) DeepCopyInto(out *SpaceBindingStatus)

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

type SpaceConfig

type SpaceConfig struct {
	// SpaceRequestEnabled specifies whether the SpaceRequest controller should start or not.
	// This is specifically useful in order to enable/disable this functionality from configuration (e.g. disabled by default in Sandbox and enabled only for AppStudio stage/prod ...).
	// +optional
	SpaceRequestEnabled *bool `json:"spaceRequestEnabled,omitempty"`

	// SpaceBindingRequestEnabled specifies whether the SpaceBindingRequest controller should start or not.
	// This is specifically useful in order to enable/disable this functionality from configuration (e.g. disabled by default in Sandbox and enabled only for AppStudio stage/prod ...).
	// +optional
	SpaceBindingRequestEnabled *bool `json:"spaceBindingRequestEnabled,omitempty"`
}

SpaceConfig allows to configure Space provisioning related functionality. +k8s:openapi-gen=true

func (*SpaceConfig) DeepCopy

func (in *SpaceConfig) DeepCopy() *SpaceConfig

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

func (*SpaceConfig) DeepCopyInto

func (in *SpaceConfig) DeepCopyInto(out *SpaceConfig)

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

type SpaceList

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

SpaceList contains a list of Space

func (*SpaceList) DeepCopy

func (in *SpaceList) DeepCopy() *SpaceList

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

func (*SpaceList) DeepCopyInto

func (in *SpaceList) DeepCopyInto(out *SpaceList)

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

func (*SpaceList) DeepCopyObject

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

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

type SpaceNamespace

type SpaceNamespace struct {

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

	// Type the type of the namespace. eg. default
	// +optional
	Type string `json:"type,omitempty"`
}

SpaceNamespace is a common type to define the information about a namespace within a Space Used in NSTemplateSet, Space and Workspace status

func (*SpaceNamespace) DeepCopy

func (in *SpaceNamespace) DeepCopy() *SpaceNamespace

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

func (*SpaceNamespace) DeepCopyInto

func (in *SpaceNamespace) DeepCopyInto(out *SpaceNamespace)

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

type SpaceProvisionerCapacityThresholds

type SpaceProvisionerCapacityThresholds struct {
	// MaxNumberOfSpaces is the maximum number of spaces that can be provisioned to the referenced cluster.
	//
	// 0 or undefined value means no limit.
	//
	// +kubebuilder:validation:Minimum=0
	// +optional
	MaxNumberOfSpaces uint `json:"maxNumberOfSpaces,omitempty"`
	// MaxMemoryUtilizationPercent is the maximum memory utilization of the cluster to permit provisioning
	// new spaces to it.
	//
	// 0 or undefined value means no limit.
	//
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Maximum=100
	// +optional
	MaxMemoryUtilizationPercent uint `json:"maxMemoryUtilizationPercent,omitempty"`
}

SpaceProvisionerCapacityThresholds defines the capacity thresholds of the space provisioner +k8s:openapi-gen=true

func (*SpaceProvisionerCapacityThresholds) DeepCopy

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

func (*SpaceProvisionerCapacityThresholds) DeepCopyInto

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

type SpaceProvisionerConfig

type SpaceProvisionerConfig struct {
	Spec              SpaceProvisionerConfigSpec   `json:"spec,omitempty"`
	Status            SpaceProvisionerConfigStatus `json:"status,omitempty"`
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
}

SpaceProvisionerConfig is the configuration of space provisioning in the member clusters.

+k8s:openapi-gen=true +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:scope=Namespaced +kubebuilder:printcolumn:name="Cluster",type="string",JSONPath=`.spec.toolchainCluster` +kubebuilder:printcolumn:name="Enabled",type="boolean",JSONPath=`.spec.enabled` +kubebuilder:validation:XPreserveUnknownFields +operator-sdk:gen-csv:customresourcedefinitions.displayName="SpaceProvisionerConfig"

func (*SpaceProvisionerConfig) DeepCopy

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

func (*SpaceProvisionerConfig) DeepCopyInto

func (in *SpaceProvisionerConfig) DeepCopyInto(out *SpaceProvisionerConfig)

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

func (*SpaceProvisionerConfig) DeepCopyObject

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

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

type SpaceProvisionerConfigList

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

SpaceProvisionerConfigList contains a list of SpaceProvisionerConfig +k8s:openapi-gen=true

func (*SpaceProvisionerConfigList) DeepCopy

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

func (*SpaceProvisionerConfigList) DeepCopyInto

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

func (*SpaceProvisionerConfigList) DeepCopyObject

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

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

type SpaceProvisionerConfigSpec

type SpaceProvisionerConfigSpec struct {
	// PlacementRoles is the list of roles, or flavors, that the provisioner possesses that influence
	// the space scheduling decisions.
	// +optional
	// +listType=set
	PlacementRoles []string `json:"placementRoles,omitempty"`

	// ToolchainCluster is the name of the ToolchainCluster CR of the member cluster that this config is for.
	ToolchainCluster string `json:"toolchainCluster"`

	// Enabled specifies whether the member cluster is enabled (and therefore can hold spaces) or not.
	// +optional
	// +kubebuilder:default=false
	Enabled bool `json:"enabled"`

	// CapacityThresholds specifies the max capacities allowed in this provisioner
	// +optional
	CapacityThresholds SpaceProvisionerCapacityThresholds `json:"capacityThresholds"`
}

+k8s:openapi-gen=true

func (*SpaceProvisionerConfigSpec) DeepCopy

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

func (*SpaceProvisionerConfigSpec) DeepCopyInto

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

type SpaceProvisionerConfigStatus

type SpaceProvisionerConfigStatus struct {
	// Conditions describes the state of the configuration (its validity).
	// The only known condition type is "Ready".
	// +optional
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +listType=map
	// +listMapKey=type
	Conditions []Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`
}

+k8s:openapi-gen=true

func (*SpaceProvisionerConfigStatus) DeepCopy

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

func (*SpaceProvisionerConfigStatus) DeepCopyInto

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

type SpaceRequest

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

	Spec   SpaceRequestSpec   `json:"spec,omitempty"`
	Status SpaceRequestStatus `json:"status,omitempty"`
}

SpaceRequest is the Schema for the space request API +k8s:openapi-gen=true +kubebuilder:resource:scope=Namespaced +kubebuilder:printcolumn:name="Tier",type="string",JSONPath=`.spec.tierName` +kubebuilder:printcolumn:name="TargetClusterURL",type="string",JSONPath=`.status.targetClusterURL` +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=`.status.conditions[?(@.type=="Ready")].status` +kubebuilder:printcolumn:name="Reason",type="string",JSONPath=`.status.conditions[?(@.type=="Ready")].reason` +kubebuilder:validation:XPreserveUnknownFields +operator-sdk:gen-csv:customresourcedefinitions.displayName="SpaceRequest"

func (*SpaceRequest) DeepCopy

func (in *SpaceRequest) DeepCopy() *SpaceRequest

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

func (*SpaceRequest) DeepCopyInto

func (in *SpaceRequest) DeepCopyInto(out *SpaceRequest)

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

func (*SpaceRequest) DeepCopyObject

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

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

type SpaceRequestConfig

type SpaceRequestConfig struct {
	// Provides the name of the Service Account whose token is to be copied
	// +optional
	ServiceAccountName string `json:"serviceAccountName,omitempty"`
}

SpaceRequestConfig contains all the configuration related to the Space Request feature +k8s:openapi-gen=true

func (*SpaceRequestConfig) DeepCopy

func (in *SpaceRequestConfig) DeepCopy() *SpaceRequestConfig

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

func (*SpaceRequestConfig) DeepCopyInto

func (in *SpaceRequestConfig) DeepCopyInto(out *SpaceRequestConfig)

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

type SpaceRequestList

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

SpaceRequestList contains a list of SpaceRequests

func (*SpaceRequestList) DeepCopy

func (in *SpaceRequestList) DeepCopy() *SpaceRequestList

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

func (*SpaceRequestList) DeepCopyInto

func (in *SpaceRequestList) DeepCopyInto(out *SpaceRequestList)

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

func (*SpaceRequestList) DeepCopyObject

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

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

type SpaceRequestSpec

type SpaceRequestSpec struct {
	// TierName is a required property introduced to retain the name of the tier
	// for which this Space is provisioned.
	TierName string `json:"tierName"`

	// TargetClusterRoles one or more label keys that define a set of clusters
	// where the Space can be provisioned.
	// The target cluster has to match ALL the roles defined in this field in order for the space to be provisioned there.
	// +optional
	// +listType=atomic
	TargetClusterRoles []string `json:"targetClusterRoles,omitempty"`

	// DisableInheritance indicates whether or not SpaceBindings from the parent-spaces are
	// automatically inherited to all sub-spaces in the tree.
	//
	// Set to True to disable SpaceBinding inheritance from the parent-spaces.
	// Default is False.
	// +optional
	DisableInheritance bool `json:"disableInheritance,omitempty"`
}

SpaceRequestSpec defines the desired state of Space +k8s:openapi-gen=true

func (*SpaceRequestSpec) DeepCopy

func (in *SpaceRequestSpec) DeepCopy() *SpaceRequestSpec

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

func (*SpaceRequestSpec) DeepCopyInto

func (in *SpaceRequestSpec) DeepCopyInto(out *SpaceRequestSpec)

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

type SpaceRequestStatus

type SpaceRequestStatus struct {

	// TargetClusterURL The API URL of the cluster where Space is currently provisioned
	// Can be empty if provisioning did not start or failed
	// The URL is just for informative purposes for developers and controllers that are placed in member clusters.
	// +optional
	TargetClusterURL string `json:"targetClusterURL,omitempty"`

	// NamespaceAccess is the list with the provisioned namespace and secret to access it
	// +listType=atomic
	// +optional
	NamespaceAccess []NamespaceAccess `json:"namespaceAccess,omitempty"`

	// Conditions is an array of SpaceRequest conditions
	// Supported condition types:
	// Provisioning, SpaceNotReady and Ready
	// +optional
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +listType=map
	// +listMapKey=type
	Conditions []Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`
}

SpaceRequestStatus defines the observed state of Space +k8s:openapi-gen=true

func (*SpaceRequestStatus) DeepCopy

func (in *SpaceRequestStatus) DeepCopy() *SpaceRequestStatus

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

func (*SpaceRequestStatus) DeepCopyInto

func (in *SpaceRequestStatus) DeepCopyInto(out *SpaceRequestStatus)

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

type SpaceSpec

type SpaceSpec struct {

	// TargetCluster The cluster in which this Space is going to be provisioned
	// If not set then the target cluster will be picked automatically
	// +optional
	TargetCluster string `json:"targetCluster,omitempty"`

	// TargetClusterRoles one or more label keys that define a set of clusters
	// where the Space can be provisioned.
	// The target cluster has to match ALL the roles defined in this field in order for the space to be provisioned there.
	// It can be used as an alternative to targetCluster field, which has precedence in case both roles and name are provided.
	// +optional
	// +listType=atomic
	TargetClusterRoles []string `json:"targetClusterRoles,omitempty"`

	// TierName is introduced to retain the name of the tier
	// for which this Space is provisioned
	// If not set then the tier name will be set automatically
	// +optional
	TierName string `json:"tierName,omitempty"`

	// ParentSpace holds the name of the context (Space) from which this space was created (requested),
	// enabling hierarchy relationships between different Spaces.
	//
	// Keeping this association brings two main benefits:
	// 1. SpaceBindings are inherited from the parent Space
	// 2. Ability to easily monitor quota for the requested sub-spaces
	// +optional
	ParentSpace string `json:"parentSpace,omitempty"`

	// DisableInheritance indicates whether or not SpaceBindings from the parent-spaces are
	// automatically inherited to all sub-spaces in the tree.
	//
	// Set to True to disable SpaceBinding inheritance from the parent-spaces.
	// Default is False.
	// +optional
	DisableInheritance bool `json:"disableInheritance,omitempty"`
}

SpaceSpec defines the desired state of Space +k8s:openapi-gen=true

func (*SpaceSpec) DeepCopy

func (in *SpaceSpec) DeepCopy() *SpaceSpec

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

func (*SpaceSpec) DeepCopyInto

func (in *SpaceSpec) DeepCopyInto(out *SpaceSpec)

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

type SpaceStatus

type SpaceStatus struct {

	// TargetCluster The cluster in which this Space is currently provisioned
	// Can be empty if provisioning did not start or failed
	// To be used to de-provision the NSTemplateSet if the Spec.TargetCluster is either changed or removed
	// +optional
	TargetCluster string `json:"targetCluster,omitempty"`

	// ProvisionedNamespaces is a list of Namespaces that were provisioned for the Space.
	// +optional
	// +listType=atomic
	ProvisionedNamespaces []SpaceNamespace `json:"provisionedNamespaces,omitempty"`

	// Conditions is an array of current Space conditions
	// Supported condition types: ConditionReady
	// +optional
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +listType=map
	// +listMapKey=type
	Conditions []Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`
}

SpaceStatus defines the observed state of Space +k8s:openapi-gen=true

func (*SpaceStatus) DeepCopy

func (in *SpaceStatus) DeepCopy() *SpaceStatus

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

func (*SpaceStatus) DeepCopyInto

func (in *SpaceStatus) DeepCopyInto(out *SpaceStatus)

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

type TLSValidation

type TLSValidation string
const (
	TLSAll            TLSValidation = "*"
	TLSSubjectName    TLSValidation = "SubjectName"
	TLSValidityPeriod TLSValidation = "ValidityPeriod"
)

type TierTemplate

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

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

TierTemplate is the Schema for the tiertemplates API +kubebuilder:resource:path=tiertemplates,scope=Namespaced +kubebuilder:printcolumn:name="Type",type="string",JSONPath=`.spec.type` +kubebuilder:printcolumn:name="Revision",type="string",JSONPath=`.spec.revision` +kubebuilder:validation:XPreserveUnknownFields +operator-sdk:gen-csv:customresourcedefinitions.displayName="Template Tier"

func (*TierTemplate) DeepCopy

func (in *TierTemplate) DeepCopy() *TierTemplate

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

func (*TierTemplate) DeepCopyInto

func (in *TierTemplate) DeepCopyInto(out *TierTemplate)

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

func (*TierTemplate) DeepCopyObject

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

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

type TierTemplateList

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

TierTemplateList contains a list of TierTemplate

func (*TierTemplateList) DeepCopy

func (in *TierTemplateList) DeepCopy() *TierTemplateList

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

func (*TierTemplateList) DeepCopyInto

func (in *TierTemplateList) DeepCopyInto(out *TierTemplateList)

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

func (*TierTemplateList) DeepCopyObject

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

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

type TierTemplateSpec

type TierTemplateSpec struct {

	// The tier of the template. For example: "basic", "advanced", or "team"
	TierName string `json:"tierName"`

	// The type of the template. For example: "code", "dev", "stage" or "cluster"
	Type string `json:"type"`

	// The revision of the corresponding template
	Revision string `json:"revision"`

	// Template contains an OpenShift Template to be used to provision either a user's namespace or cluster-wide resources
	Template templatev1.Template `json:"template"`
}

TierTemplateSpec defines the desired state of TierTemplate +k8s:openapi-gen=true

func (*TierTemplateSpec) DeepCopy

func (in *TierTemplateSpec) DeepCopy() *TierTemplateSpec

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

func (*TierTemplateSpec) DeepCopyInto

func (in *TierTemplateSpec) DeepCopyInto(out *TierTemplateSpec)

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

type TiersConfig

type TiersConfig struct {
	// DefaultUserTier specifies the default tier to assign for new users
	// +optional
	DefaultUserTier *string `json:"defaultUserTier,omitempty"`

	// DefaultSpaceTier specifies the default tier to assign for new spaces
	// +optional
	DefaultSpaceTier *string `json:"defaultSpaceTier,omitempty"`

	// DurationBeforeChangeTierRequestDeletion specifies the duration before a ChangeTierRequest resource is deleted
	// +optional
	DurationBeforeChangeTierRequestDeletion *string `json:"durationBeforeChangeTierRequestDeletion,omitempty"`

	// TemplateUpdateRequestMaxPoolSize specifies the maximum number of concurrent TemplateUpdateRequests
	// when updating MasterUserRecords
	// +optional
	TemplateUpdateRequestMaxPoolSize *int `json:"templateUpdateRequestMaxPoolSize,omitempty"`
}

TiersConfig contains all configuration parameters related to tiers +k8s:openapi-gen=true

func (*TiersConfig) DeepCopy

func (in *TiersConfig) DeepCopy() *TiersConfig

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

func (*TiersConfig) DeepCopyInto

func (in *TiersConfig) DeepCopyInto(out *TiersConfig)

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

type ToolchainCluster

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

	Spec ToolchainClusterSpec `json:"spec"`
	// +optional
	Status ToolchainClusterStatus `json:"status,omitempty"`
}

ToolchainCluster configures Toolchain to be aware of a Kubernetes cluster and encapsulates the details necessary to communicate with the cluster. +k8s:openapi-gen=true +kubebuilder:subresource:status +kubebuilder:resource:scope=Namespaced +kubebuilder:resource:path=toolchainclusters +kubebuilder:printcolumn:name=age,type=date,JSONPath=.metadata.creationTimestamp +kubebuilder:printcolumn:name=ready,type=string,JSONPath=.status.conditions[?(@.type=='Ready')].status +kubebuilder:subresource:status +kubebuilder:validation:XPreserveUnknownFields +operator-sdk:gen-csv:customresourcedefinitions.displayName="Toolchain Cluster"

func (*ToolchainCluster) DeepCopy

func (in *ToolchainCluster) DeepCopy() *ToolchainCluster

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

func (*ToolchainCluster) DeepCopyInto

func (in *ToolchainCluster) DeepCopyInto(out *ToolchainCluster)

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

func (*ToolchainCluster) DeepCopyObject

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

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

type ToolchainClusterCondition

type ToolchainClusterCondition struct {
	// Type of cluster condition, Ready or Offline.
	Type ToolchainClusterConditionType `json:"type"`
	// Status of the condition, one of True, False, Unknown.
	Status corev1.ConditionStatus `json:"status"`
	// Last time the condition was checked.
	LastProbeTime metav1.Time `json:"lastProbeTime"`
	// Last time the condition transit from one status to another.
	// +optional
	LastTransitionTime *metav1.Time `json:"lastTransitionTime,omitempty"`
	// (brief) reason for the condition's last transition.
	// +optional
	Reason string `json:"reason,omitempty"`
	// Human readable message indicating details about last transition.
	// +optional
	Message string `json:"message,omitempty"`
}

ToolchainClusterCondition describes current state of a cluster. +k8s:openapi-gen=true

func (*ToolchainClusterCondition) DeepCopy

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

func (*ToolchainClusterCondition) DeepCopyInto

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

type ToolchainClusterConditionType

type ToolchainClusterConditionType string

type ToolchainClusterConfig

type ToolchainClusterConfig struct {
	// Defines the period in between health checks
	// +optional
	HealthCheckPeriod *string `json:"healthCheckPeriod,omitempty"`

	// Defines the timeout for each health check
	// +optional
	HealthCheckTimeout *string `json:"healthCheckTimeout,omitempty"`
}

Defines all parameters concerned with the toolchaincluster resource +k8s:openapi-gen=true

func (*ToolchainClusterConfig) DeepCopy

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

func (*ToolchainClusterConfig) DeepCopyInto

func (in *ToolchainClusterConfig) DeepCopyInto(out *ToolchainClusterConfig)

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

type ToolchainClusterList

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

ToolchainClusterList contains a list of ToolchainCluster

func (*ToolchainClusterList) DeepCopy

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

func (*ToolchainClusterList) DeepCopyInto

func (in *ToolchainClusterList) DeepCopyInto(out *ToolchainClusterList)

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

func (*ToolchainClusterList) DeepCopyObject

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

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

type ToolchainClusterSpec

type ToolchainClusterSpec struct {
	// The API endpoint of the member cluster. This can be a hostname,
	// hostname:port, IP or IP:port.
	APIEndpoint string `json:"apiEndpoint"`

	// CABundle contains the certificate authority information.
	// +optional
	CABundle string `json:"caBundle,omitempty"`

	// Name of the secret containing the token required to access the
	// member cluster. The secret needs to exist in the same namespace
	// as the control plane and should have a "token" key.
	SecretRef LocalSecretReference `json:"secretRef"`

	// DisabledTLSValidations defines a list of checks to ignore when validating
	// the TLS connection to the member cluster.  This can be any of *, SubjectName, or ValidityPeriod.
	// If * is specified, it is expected to be the only option in list.
	// +optional
	// +listType=set
	DisabledTLSValidations []TLSValidation `json:"disabledTLSValidations,omitempty"`
}

ToolchainClusterSpec defines the desired state of ToolchainCluster +k8s:openapi-gen=true

func (*ToolchainClusterSpec) DeepCopy

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

func (*ToolchainClusterSpec) DeepCopyInto

func (in *ToolchainClusterSpec) DeepCopyInto(out *ToolchainClusterSpec)

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

type ToolchainClusterStatus

type ToolchainClusterStatus struct {
	// Conditions is an array of current cluster conditions.
	// +listType=atomic
	Conditions []ToolchainClusterCondition `json:"conditions"`
}

ToolchainClusterStatus contains information about the current status of a cluster updated periodically by cluster controller. +k8s:openapi-gen=true

func (*ToolchainClusterStatus) DeepCopy

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

func (*ToolchainClusterStatus) DeepCopyInto

func (in *ToolchainClusterStatus) DeepCopyInto(out *ToolchainClusterStatus)

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

type ToolchainConfig

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

	Spec   ToolchainConfigSpec   `json:"spec,omitempty"`
	Status ToolchainConfigStatus `json:"status,omitempty"`
}

ToolchainConfig keeps all configuration parameters needed for host and member operators +kubebuilder:subresource:status +kubebuilder:resource:path=toolchainconfigs,scope=Namespaced +kubebuilder:printcolumn:name="AutomaticApproval",type="boolean",JSONPath=`.spec.host.automaticApproval.enabled` +kubebuilder:validation:XPreserveUnknownFields +operator-sdk:gen-csv:customresourcedefinitions.displayName="Toolchain Operator Config"

func (*ToolchainConfig) DeepCopy

func (in *ToolchainConfig) DeepCopy() *ToolchainConfig

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

func (*ToolchainConfig) DeepCopyInto

func (in *ToolchainConfig) DeepCopyInto(out *ToolchainConfig)

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

func (*ToolchainConfig) DeepCopyObject

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

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

type ToolchainConfigList

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

ToolchainConfigList contains a list of ToolchainConfig

func (*ToolchainConfigList) DeepCopy

func (in *ToolchainConfigList) DeepCopy() *ToolchainConfigList

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

func (*ToolchainConfigList) DeepCopyInto

func (in *ToolchainConfigList) DeepCopyInto(out *ToolchainConfigList)

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

func (*ToolchainConfigList) DeepCopyObject

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

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

type ToolchainConfigSpec

type ToolchainConfigSpec struct {
	// Contains all host operator configuration
	// +optional
	Host HostConfig `json:"host,omitempty"`

	// Contains all member operator configurations for all member clusters
	// +optional
	Members Members `json:"members,omitempty"`
}

ToolchainConfigSpec contains all configuration for host and member operators +k8s:openapi-gen=true

func (*ToolchainConfigSpec) DeepCopy

func (in *ToolchainConfigSpec) DeepCopy() *ToolchainConfigSpec

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

func (*ToolchainConfigSpec) DeepCopyInto

func (in *ToolchainConfigSpec) DeepCopyInto(out *ToolchainConfigSpec)

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

type ToolchainConfigStatus

type ToolchainConfigStatus struct {
	// SyncErrors is a map of sync errors indexed by toolchaincluster name that indicates whether
	// an attempt to sync configuration to a member cluster failed
	// +optional
	// +mapType=atomic
	SyncErrors map[string]string `json:"syncErrors,omitempty"`

	// Conditions is an array of the current ToolchainConfig conditions
	// Supported condition types: ConditionReady
	// +optional
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +listType=map
	// +listMapKey=type
	Conditions []Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`
}

ToolchainConfigStatus defines the observed state of ToolchainConfig +k8s:openapi-gen=true

func (*ToolchainConfigStatus) DeepCopy

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

func (*ToolchainConfigStatus) DeepCopyInto

func (in *ToolchainConfigStatus) DeepCopyInto(out *ToolchainConfigStatus)

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

type ToolchainSecret

type ToolchainSecret struct {
	// Reference is the name of the secret resource to look up
	// +optional
	Ref *string `json:"ref,omitempty"`
}

ToolchainSecret defines a reference to a secret, this type should be included inline in any structs that contain secrets eg. NotificationSecret +k8s:openapi-gen=true

func (*ToolchainSecret) DeepCopy

func (in *ToolchainSecret) DeepCopy() *ToolchainSecret

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

func (*ToolchainSecret) DeepCopyInto

func (in *ToolchainSecret) DeepCopyInto(out *ToolchainSecret)

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

type ToolchainStatus

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

	Spec   ToolchainStatusSpec   `json:"spec,omitempty"`
	Status ToolchainStatusStatus `json:"status,omitempty"`
}

ToolchainStatus is used to track overall toolchain status +k8s:openapi-gen=true +kubebuilder:subresource:status +kubebuilder:resource:scope=Namespaced +kubebuilder:printcolumn:name="MURs",type="integer",JSONPath=`.status.hostOperator.masterUserRecordCount` +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=`.status.conditions[?(@.type=="Ready")].status` +kubebuilder:printcolumn:name="Last Updated",type="string",JSONPath=`.status.conditions[?(@.type=="Ready")].lastUpdatedTime` +kubebuilder:validation:XPreserveUnknownFields +operator-sdk:gen-csv:customresourcedefinitions.displayName="CodeReady Toolchain Status"

func (*ToolchainStatus) DeepCopy

func (in *ToolchainStatus) DeepCopy() *ToolchainStatus

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

func (*ToolchainStatus) DeepCopyInto

func (in *ToolchainStatus) DeepCopyInto(out *ToolchainStatus)

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

func (*ToolchainStatus) DeepCopyObject

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

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

type ToolchainStatusConfig

type ToolchainStatusConfig struct {
	// ToolchainStatusRefreshTime specifies how often the ToolchainStatus should load and refresh the current hosted-toolchain status
	// +optional
	ToolchainStatusRefreshTime *string `json:"toolchainStatusRefreshTime,omitempty"`

	// Defines all secrets related to GitHub authentication/integration
	// +optional
	GitHubSecret GitHubSecret `json:"gitHubSecret,omitempty"`
}

ToolchainStatusConfig contains all configuration parameters related to the toolchain status component +k8s:openapi-gen=true

func (*ToolchainStatusConfig) DeepCopy

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

func (*ToolchainStatusConfig) DeepCopyInto

func (in *ToolchainStatusConfig) DeepCopyInto(out *ToolchainStatusConfig)

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

type ToolchainStatusList

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

ToolchainStatusList contains a list of ToolchainStatus

func (*ToolchainStatusList) DeepCopy

func (in *ToolchainStatusList) DeepCopy() *ToolchainStatusList

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

func (*ToolchainStatusList) DeepCopyInto

func (in *ToolchainStatusList) DeepCopyInto(out *ToolchainStatusList)

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

func (*ToolchainStatusList) DeepCopyObject

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

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

type ToolchainStatusSpec

type ToolchainStatusSpec struct {
}

ToolchainStatusSpec defines the desired state of ToolchainStatus +k8s:openapi-gen=true

func (*ToolchainStatusSpec) DeepCopy

func (in *ToolchainStatusSpec) DeepCopy() *ToolchainStatusSpec

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

func (*ToolchainStatusSpec) DeepCopyInto

func (in *ToolchainStatusSpec) DeepCopyInto(out *ToolchainStatusSpec)

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

type ToolchainStatusStatus

type ToolchainStatusStatus struct {

	// HostOperator is the status of a toolchain host operator
	// +optional
	HostOperator *HostOperatorStatus `json:"hostOperator,omitempty"`

	// RegistrationService is the status of the registration service
	// +optional
	RegistrationService *HostRegistrationServiceStatus `json:"registrationService,omitempty"`

	// Members is an array of member status objects
	// +optional
	// +patchMergeKey=clusterName
	// +patchStrategy=merge
	// +listType=map
	// +listMapKey=clusterName
	Members []Member `json:"members,omitempty" patchStrategy:"merge" patchMergeKey:"clusterName"`

	// Metrics is a map that stores metrics to be exposed on Prometheus.
	// +optional
	// +mapType=atomic
	// +patchStrategy=merge
	Metrics map[string]Metric `json:"metrics,omitempty" patchStrategy:"merge"`

	// HostRoutes/URLs of the host cluster, such as Proxy URL
	// +optional
	HostRoutes HostRoutes `json:"hostRoutes,omitempty"`

	// Conditions is an array of the current overall toolchain status conditions
	// Supported condition types: ConditionReady
	// +optional
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +listType=map
	// +listMapKey=type
	Conditions []Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`
}

ToolchainStatusStatus defines the observed state of the toolchain, including host cluster and member cluster components +k8s:openapi-gen=true

func (*ToolchainStatusStatus) DeepCopy

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

func (*ToolchainStatusStatus) DeepCopyInto

func (in *ToolchainStatusStatus) DeepCopyInto(out *ToolchainStatusStatus)

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

type TwilioSenderConfig

type TwilioSenderConfig struct {
	// SenderID
	SenderID string `json:"senderID"`

	// CountryCodes
	// +optional
	// +listType=set
	CountryCodes []string `json:"countryCodes,omitempty"`
}

TwilioSenderConfig is used to associate a particular sender ID (a sender ID is a text value that appears instead of a phone number when receiving an SMS message), for example "RED HAT", with an array of country code values for which the Sender ID value will be set via the Twilio API when sending a verification code to a user in any of the country codes specified.

Since some countries are starting to block long form phone numbers (i.e. SMS messages from international phone numbers) the Sender ID may be an acceptable alternative to requiring the verification message to be sent from a local phone number.

+k8s:openapi-gen=true

func (*TwilioSenderConfig) DeepCopy

func (in *TwilioSenderConfig) DeepCopy() *TwilioSenderConfig

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

func (*TwilioSenderConfig) DeepCopyInto

func (in *TwilioSenderConfig) DeepCopyInto(out *TwilioSenderConfig)

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

type UserAccount

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

	Spec   UserAccountSpec   `json:"spec,omitempty"`
	Status UserAccountStatus `json:"status,omitempty"`
}

UserAccount keeps all information about user provisioned in the cluster +k8s:openapi-gen=true +kubebuilder:subresource:status +kubebuilder:resource:scope=Namespaced +kubebuilder:printcolumn:name="User ID",type="string",JSONPath=`.spec.userID`,priority=1 +kubebuilder:printcolumn:name="Created_at",type="string",JSONPath=`.metadata.creationTimestamp` +kubebuilder:printcolumn:name="Tier",type="string",JSONPath=`.metadata.labels.toolchain\.dev\.openshift\.com/tier` +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=`.status.conditions[?(@.type=="Ready")].status` +kubebuilder:printcolumn:name="Reason",type="string",JSONPath=`.status.conditions[?(@.type=="Ready")].reason` +kubebuilder:printcolumn:name="Disabled",type="boolean",JSONPath=`.spec.disabled`,priority=1 +kubebuilder:validation:XPreserveUnknownFields +operator-sdk:gen-csv:customresourcedefinitions.displayName="User Account"

func (*UserAccount) DeepCopy

func (in *UserAccount) DeepCopy() *UserAccount

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

func (*UserAccount) DeepCopyInto

func (in *UserAccount) DeepCopyInto(out *UserAccount)

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

func (*UserAccount) DeepCopyObject

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

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

type UserAccountEmbedded

type UserAccountEmbedded struct {

	// The cluster in which the user exists
	TargetCluster string `json:"targetCluster"`
}

func (*UserAccountEmbedded) DeepCopy

func (in *UserAccountEmbedded) DeepCopy() *UserAccountEmbedded

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

func (*UserAccountEmbedded) DeepCopyInto

func (in *UserAccountEmbedded) DeepCopyInto(out *UserAccountEmbedded)

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

type UserAccountList

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

UserAccountList contains a list of UserAccount

func (*UserAccountList) DeepCopy

func (in *UserAccountList) DeepCopy() *UserAccountList

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

func (*UserAccountList) DeepCopyInto

func (in *UserAccountList) DeepCopyInto(out *UserAccountList)

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

func (*UserAccountList) DeepCopyObject

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

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

type UserAccountSpec

type UserAccountSpec struct {

	// If set to true then the corresponding user should not be able to login
	// "false" is assumed by default
	// +optional
	Disabled bool `json:"disabled,omitempty"`

	// PropagatedClaims contains a selection of claim values from the SSO Identity Provider which are intended to
	// be "propagated" down the resource dependency chain
	// +optional
	PropagatedClaims PropagatedClaims `json:"propagatedClaims,omitempty"`
}

UserAccountSpec defines the desired state of UserAccount +k8s:openapi-gen=true

func (*UserAccountSpec) DeepCopy

func (in *UserAccountSpec) DeepCopy() *UserAccountSpec

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

func (*UserAccountSpec) DeepCopyInto

func (in *UserAccountSpec) DeepCopyInto(out *UserAccountSpec)

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

type UserAccountStatus

type UserAccountStatus struct {

	// Conditions is an array of current User Account conditions
	// Supported condition types: ConditionReady
	// +optional
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +listType=map
	// +listMapKey=type
	Conditions []Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`
}

UserAccountStatus defines the observed state of UserAccount +k8s:openapi-gen=true

func (*UserAccountStatus) DeepCopy

func (in *UserAccountStatus) DeepCopy() *UserAccountStatus

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

func (*UserAccountStatus) DeepCopyInto

func (in *UserAccountStatus) DeepCopyInto(out *UserAccountStatus)

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

type UserAccountStatusEmbedded

type UserAccountStatusEmbedded struct {

	// Cluster is the cluster in which the user exists
	Cluster Cluster `json:"cluster"`

	// Inherits the status from the corresponding UserAccount status
	UserAccountStatus `json:",inline"`
}

func (*UserAccountStatusEmbedded) DeepCopy

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

func (*UserAccountStatusEmbedded) DeepCopyInto

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

type UserSignup

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

	Spec   UserSignupSpec   `json:"spec,omitempty"`
	Status UserSignupStatus `json:"status,omitempty"`
}

UserSignup registers a user in the CodeReady Toolchain +k8s:openapi-gen=true +kubebuilder:subresource:status +kubebuilder:resource:scope=Namespaced +kubebuilder:printcolumn:name="Username",type="string",JSONPath=`.spec.identityClaims.preferredUsername` +kubebuilder:printcolumn:name="First Name",type="string",JSONPath=`.spec.identityClaims.givenName`,priority=1 +kubebuilder:printcolumn:name="Last Name",type="string",JSONPath=`.spec.identityClaims.familyName`,priority=1 +kubebuilder:printcolumn:name="Company",type="string",JSONPath=`.spec.identityClaims.company`,priority=1 +kubebuilder:printcolumn:name="TargetCluster",type="string",JSONPath=`.spec.targetCluster`,priority=1 +kubebuilder:printcolumn:name="Complete",type="string",JSONPath=`.status.conditions[?(@.type=="Complete")].status` +kubebuilder:printcolumn:name="Reason",type="string",JSONPath=`.status.conditions[?(@.type=="Complete")].reason` +kubebuilder:printcolumn:name="Approved",type="string",JSONPath=`.status.conditions[?(@.type=="Approved")].status`,priority=1 +kubebuilder:printcolumn:name="ApprovedBy",type="string",JSONPath=`.status.conditions[?(@.type=="Approved")].reason`,priority=1 +kubebuilder:printcolumn:name="States",type="string",JSONPath=`.spec.states`,priority=1 +kubebuilder:printcolumn:name="CompliantUsername",type="string",JSONPath=`.status.compliantUsername` +kubebuilder:printcolumn:name="Email",type="string",JSONPath=`.spec.identityClaims.email` +kubebuilder:validation:XPreserveUnknownFields +operator-sdk:gen-csv:customresourcedefinitions.displayName="User Signup"

func (*UserSignup) DeepCopy

func (in *UserSignup) DeepCopy() *UserSignup

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

func (*UserSignup) DeepCopyInto

func (in *UserSignup) DeepCopyInto(out *UserSignup)

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

func (*UserSignup) DeepCopyObject

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

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

type UserSignupList

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

UserSignupList contains a list of UserSignup

func (*UserSignupList) DeepCopy

func (in *UserSignupList) DeepCopy() *UserSignupList

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

func (*UserSignupList) DeepCopyInto

func (in *UserSignupList) DeepCopyInto(out *UserSignupList)

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

func (*UserSignupList) DeepCopyObject

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

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

type UserSignupSpec

type UserSignupSpec struct {

	// The cluster in which the user is provisioned in
	// If not set then the target cluster will be picked automatically
	// +optional
	TargetCluster string `json:"targetCluster,omitempty"`

	// States contains a number of values that reflect the desired state of the UserSignup.
	// +optional
	// +listType=atomic
	States []UserSignupState `json:"states,omitempty"`

	// IdentityClaims contains as-is claim values extracted from the user's access token
	IdentityClaims IdentityClaimsEmbedded `json:"identityClaims"`
}

UserSignupSpec defines the desired state of UserSignup +k8s:openapi-gen=true

func (*UserSignupSpec) DeepCopy

func (in *UserSignupSpec) DeepCopy() *UserSignupSpec

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

func (*UserSignupSpec) DeepCopyInto

func (in *UserSignupSpec) DeepCopyInto(out *UserSignupSpec)

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

type UserSignupState

type UserSignupState string

type UserSignupStatus

type UserSignupStatus struct {

	// Conditions is an array of current UserSignup conditions
	// Supported condition types:
	// PendingApproval, Provisioning, Complete
	// +optional
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +listType=map
	// +listMapKey=type
	Conditions []Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`

	// CompliantUsername is used to store the transformed, DNS-1123 compliant username
	// +optional
	CompliantUsername string `json:"compliantUsername,omitempty"`

	// HomeSpace is the name of the Space that is created for the user
	// immediately after their account is approved.
	// This is used by the proxy when no workspace context is provided.
	// +optional
	HomeSpace string `json:"homeSpace,omitempty"`

	// ScheduledDeactivationTimestamp is the calculated timestamp after which the user's account will be deactivated, typically
	// after the expiry of their trial and based on the term specific by their UserTier.  This property may be used as
	// a convenience to determine the amount of time an account has left before deactivation, without requiring a separate
	// lookup for the UserTier and subsequent calculation.  It is managed by the Deactivation controller in the host operator.
	// +optional
	ScheduledDeactivationTimestamp *metav1.Time `json:"scheduledDeactivationTimestamp,omitempty"`
}

UserSignupStatus defines the observed state of UserSignup +k8s:openapi-gen=true

func (*UserSignupStatus) DeepCopy

func (in *UserSignupStatus) DeepCopy() *UserSignupStatus

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

func (*UserSignupStatus) DeepCopyInto

func (in *UserSignupStatus) DeepCopyInto(out *UserSignupStatus)

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

type UserTier

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

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

UserTier contains user-specific configuration +k8s:openapi-gen=true +kubebuilder:resource:scope=Namespaced +kubebuilder:validation:XPreserveUnknownFields +operator-sdk:gen-csv:customresourcedefinitions.displayName="User Tier"

func (*UserTier) DeepCopy

func (in *UserTier) DeepCopy() *UserTier

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

func (*UserTier) DeepCopyInto

func (in *UserTier) DeepCopyInto(out *UserTier)

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

func (*UserTier) DeepCopyObject

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

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

type UserTierList

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

UserTierList contains a list of UserTier

func (*UserTierList) DeepCopy

func (in *UserTierList) DeepCopy() *UserTierList

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

func (*UserTierList) DeepCopyInto

func (in *UserTierList) DeepCopyInto(out *UserTierList)

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

func (*UserTierList) DeepCopyObject

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

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

type UserTierSpec

type UserTierSpec struct {

	// the period (in days) after which users within the tier will be deactivated
	// +optional
	DeactivationTimeoutDays int `json:"deactivationTimeoutDays,omitempty"`
}

UserTierSpec defines the desired state of UserTier +k8s:openapi-gen=true

func (*UserTierSpec) DeepCopy

func (in *UserTierSpec) DeepCopy() *UserTierSpec

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

func (*UserTierSpec) DeepCopyInto

func (in *UserTierSpec) DeepCopyInto(out *UserTierSpec)

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

type UsersConfig

type UsersConfig struct {
	// MasterUserRecordUpdateFailureThreshold specifies the number of allowed failures before stopping attempts to update a MasterUserRecord
	// +optional
	MasterUserRecordUpdateFailureThreshold *int `json:"masterUserRecordUpdateFailureThreshold,omitempty"`

	// ForbiddenUsernamePrefixes is a comma-separated string that defines the prefixes that a username may not have when signing up.
	// If a username has a forbidden prefix, then the username compliance prefix is added to the username
	// +optional
	ForbiddenUsernamePrefixes *string `json:"forbiddenUsernamePrefixes,omitempty"`

	// ForbiddenUsernameSuffixes is a comma-separated string that defines the suffixes that a username may not have when signing up.  If a
	// username has a forbidden suffix, then the username compliance suffix is added to the username
	// +optional
	ForbiddenUsernameSuffixes *string `json:"forbiddenUsernameSuffixes,omitempty"`
}

UsersConfig contains all configuration parameters related to users +k8s:openapi-gen=true

func (*UsersConfig) DeepCopy

func (in *UsersConfig) DeepCopy() *UsersConfig

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

func (*UsersConfig) DeepCopyInto

func (in *UsersConfig) DeepCopyInto(out *UsersConfig)

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

type WebConsolePlugin

type WebConsolePlugin struct {
	// Deploy determines whether the plugin will be deployed or not
	Deploy *bool `json:"deploy,omitempty"`

	// PendoKey is the key value used to interact with the Pendo API
	// +optional
	PendoKey *string `json:"pendoKey,omitempty"`

	// PendoHost allows a host URL to be configured instead of communicating directly with the Pendo domain
	// +optional
	PendoHost *string `json:"pendoHost,omitempty"`
}

WebConsolePlugin defines the configuration parameters relating to the Web Console Plugin

func (*WebConsolePlugin) DeepCopy

func (in *WebConsolePlugin) DeepCopy() *WebConsolePlugin

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

func (*WebConsolePlugin) DeepCopyInto

func (in *WebConsolePlugin) DeepCopyInto(out *WebConsolePlugin)

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

type WebhookConfig

type WebhookConfig struct {
	// Defines the flag that determines whether to deploy the Webhook
	// +optional
	Deploy *bool `json:"deploy,omitempty"`

	// Defines all secrets related to webhook configuration
	// +optional
	Secret *WebhookSecret `json:"secret,omitempty"`
}

Defines all parameters concerned with the Webhook +k8s:openapi-gen=true

func (*WebhookConfig) DeepCopy

func (in *WebhookConfig) DeepCopy() *WebhookConfig

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

func (*WebhookConfig) DeepCopyInto

func (in *WebhookConfig) DeepCopyInto(out *WebhookConfig)

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

type WebhookSecret

type WebhookSecret struct {
	// The reference to the secret that is expected to contain the keys below
	// +optional
	ToolchainSecret `json:",inline"`

	// The key in the secret values map that contains a comma-separated list of SSH keys
	// +optional
	VirtualMachineAccessKey *string `json:"virtualMachineAccessKey,omitempty"`
}

WebhookSecret defines all secrets related to webhook configuration +k8s:openapi-gen=true

func (*WebhookSecret) DeepCopy

func (in *WebhookSecret) DeepCopy() *WebhookSecret

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

func (*WebhookSecret) DeepCopyInto

func (in *WebhookSecret) DeepCopyInto(out *WebhookSecret)

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

type Workspace

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

	Status WorkspaceStatus `json:"status,omitempty"`
}

+kubebuilder:object:root=true +kubebuilder:subresource:status Workspace is the Schema for the workspaces API but it is only for use by the Proxy. There will be no actual Workspace CRs in the host/member clusters. The CRD will be installed in member clusters for API discovery purposes only. The schema will be used by the proxy's workspace lister API. +k8s:openapi-gen=true +kubebuilder:resource:scope=Cluster +kubebuilder:printcolumn:name="Owner",type="string",JSONPath=`.status.owner` +kubebuilder:printcolumn:name="Role",type="string",JSONPath=`.status.role` +kubebuilder:validation:XPreserveUnknownFields +operator-sdk:gen-csv:customresourcedefinitions.displayName="Workspace"

func (*Workspace) DeepCopy

func (in *Workspace) DeepCopy() *Workspace

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

func (*Workspace) DeepCopyInto

func (in *Workspace) DeepCopyInto(out *Workspace)

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

func (*Workspace) DeepCopyObject

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

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

type WorkspaceList

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

WorkspaceList contains a list of Workspaces

func (*WorkspaceList) DeepCopy

func (in *WorkspaceList) DeepCopy() *WorkspaceList

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

func (*WorkspaceList) DeepCopyInto

func (in *WorkspaceList) DeepCopyInto(out *WorkspaceList)

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

func (*WorkspaceList) DeepCopyObject

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

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

type WorkspaceStatus

type WorkspaceStatus struct {
	// The list of namespaces belonging to the Workspace.
	// +optional
	// +listType=atomic
	Namespaces []SpaceNamespace `json:"namespaces,omitempty"`

	// Owner the name of the UserSignup that owns the workspace. It’s the user who is being charged
	// for the usage and whose quota is used for the workspace. There is only one user for this kind
	// of relationship and it can be transferred to someone else during the lifetime of the workspace.
	// By default, it’s the creator who becomes the owner as well.
	// +optional
	Owner string `json:"owner,omitempty"`

	// Role defines what kind of permissions the user has in the given workspace.
	// +optional
	Role string `json:"role,omitempty"`

	// Type defines the type of workspace. For example, "home" for a user's given workspace upon first
	// signing up. It is currently valid for this value to be empty.
	// +optional
	Type string `json:"type,omitempty"`

	// AvailableRoles contains the roles for this tier. For example, "admin|contributor|maintainer".
	// +listType=atomic
	// +optional
	AvailableRoles []string `json:"availableRoles,omitempty"`

	// Bindings enumerates the permissions that have been granted to users within the current workspace, and actions that can be applied to those permissions.
	// +listType=atomic
	// +optional
	Bindings []Binding `json:"bindings,omitempty"`
}

WorkspaceStatus defines the observed state of a Workspace +k8s:openapi-gen=true

func (*WorkspaceStatus) DeepCopy

func (in *WorkspaceStatus) DeepCopy() *WorkspaceStatus

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

func (*WorkspaceStatus) DeepCopyInto

func (in *WorkspaceStatus) DeepCopyInto(out *WorkspaceStatus)

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