CI Minutes provisioning - New mechanism for storing CI Minutes purchases on GitLab
Establish CI Minute Purchase Identifiers on GitLab
The following outlines requirements from the architecture proposal as defined in !3142, we've split up the tasks into separate issues along system boundaries.
Base components
-
Add a table in the GitLab DB to store the array of purchase identifier data structures from CustomersDot.
API (re-)Sync components
-
Create a new endpoint that accepts a POST/PATCH of CI minute purchases from CustomersDot following the unique Purchase Identifier -
Reuse of the same endpoint for re-syncing purchases from CustomersDot is preferable as the sync action should be idempotent
Support Namespace Changes
-
Trigger an update of the namespace ID in the Purchase Identifier table from the current to the new namespace ID.
Previous Summary
## SummaryCreate a mechanism for receiving and storing Additional CI Minutes purchases in GitLab core. Possibly in a new table that tracks purchased buckets of minutes
the details of which are unknown at this time. Possibly include the expiry date (other payload ideas are above)
Availability & Testing
See #2925 (closed)
Edited by Vijay Hawoldar