Skip to content

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

image

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

Edited by Andrew Thomas