Remove unused subscription creation functionality
What does this MR do and why?
Issue: https://gitlab.com/gitlab-org/gitlab/-/issues/472721+
All purchases are now made through CustomersDot, and the purchase flows initiated in GitLab all redirect to that application. This was changed in https://gitlab.com/groups/gitlab-org/-/epics/9569+, which was completed 8 months ago.
Since then, there has been no legitimate path to access the GitlabSubscriptions::SubscriptionsController#create action
This MR:
- Removes the
GitlabSubscriptions::SubscriptionsController#createaction - Removes all methods that were only being called by that action
- Removes the associated
CreateService, which was only used by the controller
This endpoint was not available as an API endpoint, the only intended caller of it was our frontend, which was removed in https://gitlab.com/gitlab-org/gitlab/-/issues/479423+. So there shouldn't be any legitimate usage of this endpoint remaining. If we look on Kibana, we can only see requests where someone is spamming the endpoint (https://log.gprd.gitlab.net/app/r/s/PEL13).
Screenshots or screen recordings
This is a removal of an inaccessible endpoint, so there should be no application change. We can instead go through a regular purchase using the new flow and ensure that is still working.
| Description | master |
branch |
|---|---|---|
| View the billing page | ![]() |
![]() |
| Enter the purchase flow | ![]() |
![]() |
| Sync the subscription | ![]() |
![]() |
How to set up and validate locally
This is a removal of an inaccessible feature, so a green pipeline should be enough. If you want, you can verify the new purchase flow still works as a regression test:
- Start the GDK and CustomersDot. Ensure you're running the GDK in SaaS mode.
- Create a new top level group
- Navigate to
Settings > Billing - Select a plan and enter the purchase flow
- Complete the purchase
- Sync the subscription using ZSim
- View the provisioned subscription on GitLab
MR acceptance checklist
Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.





