Amazon Web Services S3 Locations
The AWS S3 integration supports loading catalog entities from an S3 Bucket. Entities can be added to static catalog configuration, or registered with the catalog-import plugin.
Configuration
To use this integration, add configuration to your app-config.yaml
:
integrations:
awsS3:
- accessKeyId: ${AWS_ACCESS_KEY_ID}
secretAccessKey: ${AWS_SECRET_ACCESS_KEY}
Then make sure the environment variables AWS_ACCESS_KEY_ID
and
AWS_SECRET_ACCESS_KEY
are set when you run Backstage.
Users with multiple AWS accounts may want to use a role for S3 storage that is
in a different AWS account. Using the roleArn
parameter as seen below, you can
instruct the AWS S3 reader to assume a role before accessing S3:
integrations:
awsS3:
- accessKeyId: ${AWS_ACCESS_KEY_ID}
secretAccessKey: ${AWS_SECRET_ACCESS_KEY}
roleArn: 'arn:aws:iam::xxxxxxxxxxxx:role/example-role'
externalId: 'some-id' # optional
Configuration allows specifying custom S3 endpoint, along with path-style access to support integration with providers like LocalStack:
integrations:
awsS3:
- endpoint: 'http://localhost:4566'
s3ForcePathStyle: true
accessKeyId: ${AWS_ACCESS_KEY_ID}
secretAccessKey: ${AWS_SECRET_ACCESS_KEY}