Learn how to help your team build confidently (and securely!) in prod in our upcoming Tech Talk: Sign up here.

You can use service dependencies to manage the dependencies between services within your organization. It allows you to see the state of your service and those around it.

Service Dependencies

Dependencies can be viewed from the Service Details Page, under the Dependencies tab. From here, you are presented with two tables.

Dependencies are the services that the current service is dependent upon while Dependents is the reverse.

An alert icon will be visible on the Dependencies tab, the dependency graph edge, and the service row in the table if a service is dependent on a lower tier service.

Dependency Table

Visualizing Dependencies

The interactive service dependency graph is the best way to visualize the different dependents and dependencies for your service:

Dependency Graph

Defining Dependencies

Defining dependencies between two services can be done through the Service Details page, the GraphQL API or with config as code using opslevel.yml.

Service Details Page

To create a service dependency from the Service Details Page, navigate to the service you wish to define dependencies from. Once there, navigate to the Dependencies tab.

Dependency Show Tab

If the current service has no depdendencies, the table will have an Add Dependency button.

Dependency CTA

Clicking the button will reveal a dropdown which you can use to search for services in OpsLevel.

Dependency CTA Dropdown

If there are existing dependencies then you can click on the Add Dependency button on the top right to see the dropdown of all your services. Services with existing dependencies will be greyed out and not selectable in the dropdown.

Dependency Dropdown

After creating the service dependency, the service will appear in the Dependencies table. A similar record will appear in the Dependents table of the service on the opposite side of the dependency relationship.

opslevel.yml

You can also define service dependencies opslevel.yml by adding a dependency attribute under a service. Refer to the opslevel.yml docs for more information.