Here’s a combined README for the s3-tfstate-parser
plugin, covering both frontend and backend setup.
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.
- 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.
-
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> );
-
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'));