@itsyndicate/backstage-plugin-s3-tfstate-parser-backend
v0.1.25
Published
Here’s a combined README for the `s3-tfstate-parser` plugin, covering both frontend and backend setup.
Downloads
188
Readme
Here’s a combined README for the s3-tfstate-parser
plugin, covering both frontend and backend setup.
S3 TFState Parser
Description
The S3 TFState Parser plugin provides insights into AWS resources managed through Terraform. It reads and categorizes resources from Terraform state files stored in S3, allowing users to easily view and manage Terraform-managed AWS resources directly within Backstage.
Functionality
- Fetches and displays AWS resources from Terraform state files in an S3 bucket.
- Categorizes resources by type and allows users to search by name, type, or ID.
- Provides direct links to AWS Console for managing individual resources.
- Customizable AWS region configuration for flexibility.
Installation
Frontend Setup
Install the frontend plugin in your Backstage app:
yarn --cwd packages/app add @internal/backstage-plugin-s3-tfstate-parser
Configure
aws.regions
inapp-config.yaml
to specify the AWS regions:aws: regions: - us-east-1 - us-west-2
Add the
Resources
component to the Backstage catalogEntityPage
:import { Resources } from '@internal/backstage-plugin-s3-tfstate-parser'; // ... const entityPage = ( <EntityLayout> <EntityLayout.Route path="/" title="Overview"> <Grid container spacing={3}> ... <Grid item xs={12} md={6}> <Resources /> </Grid> </Grid> </EntityLayout.Route> </EntityLayout> );
Backend Setup
Install the backend plugin in your Backstage backend:
yarn --cwd packages/backend add @internal/backstage-plugin-s3-tfstate-parser-backend
Add AWS region configurations in
app-config.yaml
:aws: regions: - us-east-1 - us-west-2
Set AWS credentials as environment variables:
export AWS_ACCESS_KEY_ID=your-access-key-id export AWS_SECRET_ACCESS_KEY=your-secret-access-key
Register the backend plugin in
packages/backend/src/index.ts
:const backend = createBackend(); // ... backend.add(import('@internal/backstage-plugin-s3-tfstate-parser-backend'));