Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@seatgeek/backstage-plugin-aws-catalog-backend

Package Overview
Dependencies
Maintainers
0
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@seatgeek/backstage-plugin-aws-catalog-backend

This plugin offers the ability to ingest certain types of resources from [AWS](https://aws.amazon.com/) into the Backstage catalog.

  • 1.0.1
  • latest
  • npm
  • Socket score

Version published
Maintainers
0
Created
Source

@seatgeek/backstage-plugin-aws-catalog-backend

This plugin offers the ability to ingest certain types of resources from AWS into the Backstage catalog.

npm latest version

Supported Resources

  • RDS Databases

Installation

Install the @seatgeek/backstage-plugin-aws-catalog-backend package in your backend package:

# From your Backstage root directory
yarn add --cwd packages/backend @seatgeek/backstage-plugin-aws-catalog-backend

Then add the following config to your app-config.yml:

catalog:
  providers:
    aws:
      myOrganizationAws:
        region: 'us-east-1' # required
        # Omit the following fields if using IAM roles (https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/loading-node-credentials-iam.html)
        accessKeyId: ${AWS_ACCESS_KEY_ID} # optional
        secretAccessKey: ${AWS_SECRET_ACCESS_KEY} # optional
        sessionToken: ${AWS_SESSION_TOKEN} # optional

You'll then need to add whichever entity providers you wish to use into your Backstage application's packages/backend/src/plugins/catalog.ts and add it to the CatalogBuilder. For example, to add the RDS entity provider:

import { RDSEntityProvider } from '@seatgeek/backstage-plugin-aws-catalog-backend';

// ...

export default async function createPlugin(
  env: PluginEnvironment,
): Promise<Router> {
  const builder = await CatalogBuilder.create(env);
  builder.addEntityProvider(
    ...RDSEntityProvider.fromConfig(env.config, {
      logger: env.logger,
      schedule: env.scheduler.createScheduledTaskRunner({
        frequency: { days: 1 },
        timeout: { minutes: 5 },
      }),
      // transforms the RDS data from AWS into a ResourceEntity
      dbInstanceTransformer: rdsDBInstance => ({
        apiVersion: 'backstage.io/v1alpha1',
        kind: 'Resource',
        metadata: {
          name: `db-${db.DBInstanceIdentifier}`,
          tags: [db.Engine!],
        },
        spec: {
          type: 'rds',
          owner: 'somebody',
        },
      }),
      // optional filter to limit which entities are ingested
      dbInstanceFilter: dbInstance => true,
    }),
  );
  // ...
}

FAQs

Package last updated on 24 Aug 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc