Last updated Nov 21, 2024

Create, view, update, and archive components

Create a component

A component is an output artifact of your engineering team. It could be a service, a library, an application, or something else.

A component’s catalog listing in Compass is the unified view of all information about the component. The first step to build a component catalog is to create components.

Create a component manually

To create a new component manually:

  1. In Compass, in the top navigation bar, select Create > Component.
  2. Select a component type.
  3. Enter the component’s name.
  4. Select an owner for your component.
    • Although adding a component owner is optional, we highly recommend that you add one. Learn more about why adding an owner is important
    • If the owner team doesn’t exist yet, that's okay. Select + Start a team to create and assign a team to the component right away. Or, you can create your component now, start a new team later, and then assign it to the component when you are ready.
  5. Add the URL for a git repository that holds this component's source code or configuration, if applicable. Get build, deployment, and pull request activity and DORA metrics from our Bitbucket, GitHub, and GitLab integrations.
  6. If there are multiple components in the same git repository, enable the monorepo toggle. Learn more about the monorepo setting in our documentation for the Bitbucket, GitHub, and GitLab integrations.
  7. Select Create.

We’ll add your component to the catalog and take you to the component’s details page, where you can add detailed information such as links to repositories and documentation, chat channels, dependencies, and more.

We recommend that you don't exceed 20,000 components in Compass, beyond which you may notice some performance degradation. We are working on scaling the solution to increase the limits over time.

Create a component using the API

You can also create components using the Compass GraphQL API. Learn how to create components using the API

View a component's details

A component's details page is the single place in Compass where you’ll find everything you want to know about your component. In the details page, you’ll find what the component does, who owns it and how to contact them, its links and dependencies, scores, and more.

To view your component’s details, use any of the following methods:

  • In the component catalog, locate your component and select its name.
  • Search for the component and select its name in the search results.
  • Search for the team that owns your component. On the team’s dashboard, from the Team components list, select the component’s name.

A component’s URL never changes. Bookmark the URL of a component’s details page and use it as an easy reference in the future.

When you view a component, you'll first see the Overview page. This page groups the key details about the component.

A component's Overview page

  1. Basic details: This section is the first place the users look when they view a component’s details. It shows the component’s basic details such as its name and description, lifecycle stage, and labels. For service-type components, the tier appears here.

  2. Activity feed, Scorecards, and Metrics: This section shows the activity feed, scorecards and metrics you apply to a component. The activity feed displays component events from your toolchain in real time. Scorecards show a component’s health based on set criteria. Metrics provide data points that help you track and assess the performance of your processes, products, and teams.

  3. Owner team: This section shows the owner team’s information. An owner team has a defined responsibility towards managing a component. You can assign or change a component’s ownership from this section.

  4. Chat channels: This section shows links to the owner team’s chat channel. Users can reach out to the component's owner team for information about the component.

  5. On-call: This card shows links to a component's on-call roster. The on-call links are available only for service-type components. These links give you access to the people who can provide help with the component or support you during an incident.

  6. Links: These sections list the links to a component’s resources, such as repositories, projects, documentation, dashboards, and other links.

  7. Custom fields: This section shows all custom fields associated with the specific component type. With custom fields, you can add valuable information to a component that’s not available using Compass’s default fields.

  8. Component navigation: Pages providing more information about the component appear in the component navigation. Some of these pages are available by default, for example Activity or Dependencies. Whereas, some pages become available when you install different apps on Compass, for example, Swagger UI or LaunchDarkly.

Component types

Every component has a type, so you can categorize components based on their capabilities. You set a component’s type when you create it, and can change its type at any time.

The following component types are available in Compass:

  • Service — An independently-deployable software unit that is usually is operated by a person or a team. Services can be as large as monoliths or smaller microservices. Service components have a Tier field to indicate how critical the service is to your business.

  • Library — A reusable collection of objects, functions, and methods. A library is typically used by other components.

  • Application — A fully-packaged application, like a mobile application, desktop application, or a CLI-type tool.

  • Capability — A higher-level product functionality that end-users understand and in which they see value. A capability is an abstraction of one or more underlying software components that power it.

  • Cloud resource — An entity or service provided by a cloud vendor, with consumer-managed configuration and monitoring.

  • Data pipeline — A sequence of tools and processes used to automate the transformation and movement of data from a source to a target system.

  • Machine learning model — An algorithm that identifies patterns in a data set and makes predictions over it.

  • UI element — Reusable building blocks of a design system that meet a specific interaction or user interface need and work together to create patterns and user experiences.

  • Website — A single web page or a collection of related web pages under a single domain. Websites mainly consist of audio-visual or text content for reading, listening, or viewing. People can't edit, contribute to, or affect the website content. Websites are typically publicly accessible and don't require authentication.

  • Dataset — A collection of data about a specific topic that can be referenced by code, generally a table.

  • Dashboard — Data visuals that provide views of key performance indicators relevant to a particular objective or business process.

  • Data product — A governed, self-contained, cohesive, read-optimized data unit.

  • Other — A component that doesn’t match the service, library, or application type.

The capability, cloud resource, data pipeline, machine learning model, UI element, and website component types don't yet support importing components from apps, default scorecards, and SDK support. We are working on adding these features for components like these.

For now, create, update, and manage such components manually.

Change a component's type

If your component is managed by a configuration file, you will need to update the compass.yaml and change the typeId.

  1. Go to the component's Overview page.

  2. Select More actions More actions icon > Change component type.

  3. Choose the component type you want to change to.

    • Custom fields and scorecards will be reapplied based on the component type you change to.
    • If you change to the library, application, or other type, the current service tier, and on-call schedules will no longer be visible on the component. Learn more about the component type attributes
    • If you change back to a component type you previously used, you'll get back the original information that was associated with it.
  4. Select Change.

If you delete a component, any information that was ever associated with it will be deleted.

Archive a component

You can archive a component’s catalog listing from Compass, which moves it into your catalog’s Archive. Anyone can make updates to component information, even if they have been archived.

Only Compass product admins can permanently delete components from a catalog. Components that are permanently deleted lose connections to first- and third-party apps, dependencies, scorecards, and metrics. However, we don’t delete any component data from systems outside of Compass.

If your component is managed by a configuration file, you can’t delete it from Compass. You must first disconnect the component from the configuration file before deleting it.

There are two ways to archive components from Compass.

From the Component search page:

  1. Find the component(s) you want to archive in the table.
  2. Select the checkbox next to the component(s) name.
  3. Select Archive.
  4. Confirm that you want to archive the component(s), then select Archive components.

From a component Overview page:

  1. Select More actions More actions icon > Archive from Compass.
  2. Select Archive component to confirm.

Restore a component

If a component is accidentally archived, anyone can visit the component page and restore it. There are two ways to restore components to your catalog in Compass.

From the Component search page:

  1. Select Archived.
  2. Find the archived component(s) you want to restore.
  3. Select the checkbox next to the component(s) name.
  4. Select Restore.
  5. Return to the Published or Pending component search to find the restored component(s).

You can also restore a component that has been archived from its component Overview page:

  1. Go to the component’s Overview page.
  2. Select Restore component.

Rate this page: