Service Registry- Second Iteration
Note: The first iteration of this feature is being tracked here: #259289 This issue describes a proposed section iteration of the GitLab Service Registry.
Problem to solve
As companies grow, the services used to support internal and external applications grows alongside the company. As time goes by, it becomes more and more challenging to list and/or document all the running services (along with details such as who owns, where it's deployed, etc) let alone all the information surrounding them.
Development teams often work on creating independent services and they require tooling to stay informed on the status, version, and contacts for other services. Further, Operations team members need access to configuration, runbooks, and escalation contacts for services to aid in troubleshooting when complex systems fail.
Engineers do love challenges but not the type of challenge that requires memorization of tons of information and recall it. This problem is often solved with the use of a service catalog application. GitLab already contains significant information about projects (applications), version, contact as well as infrastructure configuration (instance/group/project kubernetes clusters), runbooks and escalations (incidents).
Intended users
operators, developers
Further details
The infra team describes this problem at lenght on the Service Inventory Catalog page
Infra team has put together an application that displays the contents of the curated service-catalog.yml, dubbed service catalog app
Proposal
Users of GitLab could potentially create a service catalog of their own and have GitLab render the contents of their service-catalog.yml file for easy consumption.
In Scope
If a properly structured service-catalog.yml file is found in the repository:
- Render the content as one large markdown table on a page referenced from
Project->Operations->Service Catalog
Out of Scope
- Pagination
- Filtering
- User references
- Label styling
- Search
Current UI we're trying to port
Permissions and Security
Documentation
Testing
What does success look like, and how can we measure that?
What is the type of buyer?
Links / references
This could perhaps be an upstream dependency that could be leveraged for many apps to show inside an iframe https://gitlab.com/gitlab-org/gitlab-ce/issues/59422
