Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Implement SpaceBindingRequest controller main logic #372

Merged
merged 4 commits into from
Aug 23, 2023
Merged
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions api/v1alpha1/spacebinding_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,23 @@ const (

// SpaceBindingMasterUserRecordLabelKey is used to label the SpaceBinding with the name of the MasterUserRecord it belongs to
SpaceBindingMasterUserRecordLabelKey = LabelKeyPrefix + "masteruserrecord"

// --- Status condition reasons ---

// SpaceBindingTerminatingReason represents the reason for space binding termination.
SpaceBindingTerminatingReason = terminatingReason

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

// SpaceBindingProvisioningFailedReason represents the reason for a failed space binding provisioning.
SpaceBindingProvisioningFailedReason = "UnableToProvision"

// SpaceBindingProvisioningReason represents the reason for space binding provisioning.
SpaceBindingProvisioningReason = provisioningReason

// SpaceBindingProvisionedReason represents the reason for a successfully provisioned space binding.
SpaceBindingProvisionedReason = provisionedReason
Copy link
Contributor

@MatousJobanek MatousJobanek Aug 15, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

shouldn't be these constant placed rather in SpaceBindingRequest file?
and also, since they are going to be used in SBR CR only, then we should name them accordingly.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Similar usage in the UserSignup case: https://github.com/codeready-toolchain/api/blob/master/api/v1alpha1/usersignup_types.go#L80
We could also rename UnableToProvision to UnableToCreateSpaceBinding

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@MatousJobanek thanks for pointing out the usersignup example!

The reason I've added them in the spacebinding_types and kept this naming was mainly because I was following the SpaceRequest example, where we reflect the Ready condition from the Space object to the SpaceRequest. Similarly, as pointed out in one of our Slack discussions, I expected those conditions to be available in the SpaceBinding.Status.Conditions and be able to copy them in the SpaceBindingRequest.Status.Conditions. For the time being I've added them here with the plan of implementing conditions in the SpaceBinding resource , as we discussed. But I don't have a strong opinion on this, let's just decide which example we want to follow (the UserSignup one or the SpaceRequest example).

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@MatousJobanek as discussed in our 1:1 today I've updated the PR and moved the reasons to spacebindingrequest_types.go , also I've renamed them accordingly. Please take a look at fac7152 when you have some time and thanks for your pointers!

)

// SpaceBindingSpec defines the desired state of SpaceBinding
Expand Down
Loading