Skip to main content
Version: Next

Amazon Web Services CodeCommit Locations

The AWS CodeCommit integration supports loading catalog entities from CodeCommit Repositories. 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:
awsCodeCommit:
- region: eu-west-1

This most basic example can only be used if you are running Backstage on an instance that has an IAM identity with the following policies:

{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"codecommit:GetFile",
"codecommit:GetFolder"
],
"Resource": "*",
"Effect": "Allow"
}
]
}

If you are running Backstage outside AWS and want to use Access key authentication, you can use the following configuration:

integrations:
awsCodeCommit:
- region: eu-west-1
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 CodeCommit that is in a different AWS account. Using the roleArn parameter as seen below, you can instruct the AWS CodeCommit reader to assume a role before accessing CodeCommit:

integrations:
awsCodeCommit:
- region: eu-west-1
roleArn: 'arn:aws:iam::xxxxxxxxxxxx:role/example-role'
externalId: 'some-id' # optional

Each entry is a structure with the following required elements:

  • region: The AWS region to connect to, to communicate with the CodeCommit services

The configuration can also provide a host property like the other integrations. If it is not provided, it will be determined from the provided region. i.e. When you provide eu-west-1 as the region, Backstage will use the host eu-west-1.console.aws.amazon.com to check whether a provided url matches the integration.

Register an entity on AWS CodeCommit

To register an entity that is stored in an AWS CodeCommit repository, you need to fetch the URL from the AWS Console:

  • Navigate to the Code Commit service in the AWS Console (https://console.aws.amazon.com/codecommit/home)
  • Optional: Make sure you select the correct region if you don't use the default one (us-east-1)
  • Select the repository where the entity file is stored
  • Inside the repository navigate to the backstage entity file (catalog-info.yaml) and open the file
  • Now you can copy-paste the URL from your browser inside Backstage

The format would be something like: https://{region}.console.aws.amazon.com/codesuite/codecommit/repositories/{reponame}/browse/refs/heads/{branch}/--/catalog-info.yaml