[MVC] CDot Namespace Lookup: Find all relevant namespace information from a single source
<!-- Please complete the template below as best as you can. Make sure to check if this issue has already been raised by someone else first to avoid duplication. For each section below, please add screenshots or links or anything that may help visual learners understand the problem better, even if this takes you an extra minute or two this is a great help to some folks. https://www.learning-styles-online.com/style/visual-spatial/ \--> # Summary In order to edit the trial or subscription information on a namespace as outlined in https://gitlab.com/groups/gitlab-org/-/epics/9451+ and https://gitlab.com/groups/gitlab-org/-/epics/9453+, we first need to be able to search for the namespace and view it's details. A namespace is linked to many different attributes (e.g customer, subscription, gitlab.com users) and we should be able to find the namespace via searching by any of its attributes. # Requirements <!-- Consult with \`@marc_disabatino-admin\` on the customers-gitlab-com\~20279829 team if Zuora business logic is involved. --> 1. Create new navigation item in customersdot with URL: https://customers.gitlab.com/admin/namespaces 2. Provide search box and accept input: - Namespace ID, - Namespace name, - Namespace path name - Namespace owner username - Namespace owner email address - Customer company - Customer ID - Customer email (or parts of it) - Customer first name + Customer last name - Subscription name 3. Search results should return any namespace that matches with the input provided 4. Search result should have columns: - namespace ID | show: namespace ID - path | show: namespace path name | link to: gitlab.com namespace path - customer | show: customer name | link to: customer account in cdot - subscription | show: subscription name | link to: zuora subscription - subscription seats - seats in use - max seats - plan - trial? | show: yes/no/expired - start date - end date ## UI ![namespace-lookup-result](/uploads/2a17926fe5dcae82b4c112549eda9685/namespace-lookup-result.png) ## Permissions - Namespace lookup is allowed for roles with read permission - Create/Update/Delete actions are only allowed for cdot admins with write permissions # Success criteria I can find a namespace by providing any of the following: - Namespace ID, - Namespace name, - Namespace path name - Namespace owner username - Namespace owner email address - Customer company - Customer ID - Customer email (or parts of it) - Customer first name + Customer last name - Subscription name # Prioritization + ROI #### Why is this feature important? Without a namespace lookup, we are not able to build any namespace controls and the support team will have to continue to use Mechanizer to complete namespace actions. Currently the team uses multiple systems to find namespace information: cdot, Zuora, SFDC, gitlab.com, chatops, rails console, and gitlab APIs; this feature should allow the admin to find the namespace and its relevant details by using only cdot. Eliminating 6 other sources of information means less time logging in, navigating, searching, and processing information. TODO: calculate efficiency costs of using multiple sources to find namespace information. # Future iterations Namespace edit actions (aka controls) are not in scope for this issue. Namespace controls are addressed in: 1. https://gitlab.com/groups/gitlab-org/-/epics/9451+ 2. https://gitlab.com/groups/gitlab-org/-/epics/9453+ --- **Support Priority Score:** 7
epic