Kind Code Component

A Code Component in the T-matic platform represents a software entity, often closely associated with its source code. Developers typically recognize it as a distinct software unit, which is usually linkable or deployable as a unique artifact.

Within the T-matic platform, a Code Component symbolizes distinct software units. These units, often closely aligned with their source code, offer a clear, deployable, or linkable artifact which developers can associate with.

Example Descriptor for Code Component

apiVersion: backstage.io/v1alpha1
kind: Component
metadata:
  name: ecommerce-checkout-web
  description: Checkout for ecommerce website
spec:
  type: website
  lifecycle: production
  owner: ecommerce-team
  system: ecommerce-website
  providesApis:
    - checkout-api

Code Component Structure

  • apiVersion and kind [required]:

  • spec.type [required]:

    • Denotes the component's type, like "website" or "service."

  • spec.lifecycle [required]:

    • Indicates the lifecycle status of the component, such as "production" or "experimental."

  • spec.owner [required]:

    • An entity pointing to the component's owner, primarily for display purposes within T-matic to indicate responsibility.

  • spec.system [optional]:

    • Associates the component with a specific system or platform.

  • spec.subcomponentOf [optional]:

    • Points to a larger component that this component is a subset of.

  • spec.providesApis [optional]:

    • Lists the APIs the component offers.

  • spec.consumesApis [optional]:

    • Enumerates the APIs the component uses.

  • spec.dependsOn [optional]:

    • Mentions components that this component relies on.

Considerations

  1. T-matic's software catalog accepts various values for type and lifecycle, but standardizing these terms across the organization is essential for consistency.

  2. Owners in T-matic usually refer to teams or entities responsible for the component's development and upkeep.

  3. Association fields like system, subcomponentOf, and dependsOn enhance the interconnectedness of components within the platform, ensuring clarity in dependencies and hierarchies.

In essence, when defining a Code Component in T-matic, it's crucial to understand its lifecycle, dependencies, and associated responsibilities to leverage the platform's full capabilities.

Last updated