End of Life logo

Backstage End of Life Plugin

End of Life data for your software catalog

Created by dweber019

Available on Roadie

Set up Backstage in minutes with Roadie

Installation steps

Install the EoL plugin into Backstage.

yarn --cwd packages/app add @dweber019/backstage-plugin-endoflife

Add endoflife.date/products metadata to your catalog-info files to tag entities with relevant dependencies. Multiple values can be comma separated.

apiVersion: backstage.io/v1alpha1
kind: Component
metadata:
  name: some-angular-nginx-component
  annotations:
    endoflife.date/products: angular, nginx

You can also add specific versions for more precise tracking

apiVersion: backstage.io/v1alpha1
kind: Component
metadata:
  name: some-angular-nginx-component
  annotations:
    endoflife.date/products: angular@17,nginx@1.25

Add the EntityEndOfLifeCard to the EntityPage.

// packages/app/src/components/catalog/EntityPage.tsx

import { EntityEndOfLifeCard } from '@dweber019/backstage-plugin-endoflife';

const overviewContent = (
  <Grid container spacing={3} alignItems="stretch">
    {entityWarningContent}
    ...
    <EntitySwitch>
      <EntitySwitch.Case if={hasLabels}>
        <Grid item md={4} xs={12}>
          <EntityLabelsCard />
        </Grid>
      </EntitySwitch.Case>
    </EntitySwitch>
    <EntitySwitch>
      <EntitySwitch.Case if={isEndOfLifeAvailable}>
        <Grid item md={6}>
          <EntityEndOfLifeCard />
        </Grid>
      </EntitySwitch.Case>
    </EntitySwitch>
    ...
  </Grid>
);

Found a mistake? Update these instructions.

Things to know

Set up Backstage in minutes with Roadie