Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

aws-catalog plugins #27

Merged
merged 17 commits into from
Feb 13, 2024
Merged

aws-catalog plugins #27

merged 17 commits into from
Feb 13, 2024

Conversation

colinodell
Copy link
Member

@colinodell colinodell commented Feb 12, 2024

This PR adds plugins capable of loading AWS resources into the catalog.

@colinodell colinodell self-assigned this Feb 12, 2024
@colinodell colinodell marked this pull request as ready for review February 12, 2024 20:46
@colinodell colinodell marked this pull request as draft February 12, 2024 21:12
@colinodell colinodell force-pushed the codell-aws-catalog branch 2 times, most recently from d90c0e0 to eeb5854 Compare February 12, 2024 22:51
@colinodell colinodell marked this pull request as ready for review February 12, 2024 22:54
plugins/aws-catalog-backend/src/BaseEntityProvider.test.ts Outdated Show resolved Hide resolved
plugins/aws-catalog-backend/src/BaseEntityProvider.test.ts Outdated Show resolved Hide resolved
plugins/aws-catalog-backend/src/BaseEntityProvider.ts Outdated Show resolved Hide resolved
Comment on lines +121 to +129
{
metadata: {
annotations: {
[arn.ANNOTATION]: instanceArn,
[ANNOTATION_LOCATION]: instanceArn,
[ANNOTATION_ORIGIN_LOCATION]: instanceArn,
},
},
},
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

not for this change but i'm trying to better understand how refreshing on a per entity level works. in the out of the box AboutCard there's a guard against refreshing anything with a location that's not url: or file: (not for any reason we have to worry about with arn: locations)

https://github.com/backstage/backstage/blob/ebe7afad9d19f279469168ca0d4feceb92c1ad36/plugins/catalog/src/components/AboutCard/AboutCard.tsx#L201-L215

ui aside, i'm a little confused how refreshing an individual entity works. (maybe has to do with these readLocation on a processor, which is separate from the provider: https://backstage.io/docs/features/software-catalog/external-integrations#creating-a-catalog-data-reader-processor.)

anyway, at some point we'll want to be able to refresh one of our dbs via the ui i'm sure, so wanted to flag that here

Comment on lines +21 to +31
/**
* A db instance from the AWS SDK.
* @public
*/
export type RDSDBInstance = DBInstance;
/**
* Input for the RDSDescribeDBInstancesCommand.
* @public
*/
export type RDSDescribeDBInstancesCommandInput =
DescribeDBInstancesCommandInput;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fwiw, i did this here and in the okta provider as it makes it a bit easier than us rewriting the interface or having users also add the aws library when they use the provider, but it does mean we risk the following:

  1. aws sdk pushes a breaking change to one of these aliased types
  2. we bump the version and release as a non major change (not realizing some interface has updated)
  3. user code breaks

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's a good point. I'm of the opinion that, because AWS also follows semver, this risk is acceptable as long as we never bump the AWS major version without also bumping our own.

plugins/aws-catalog-backend/src/RDSEntityProvider.ts Outdated Show resolved Hide resolved
plugins/aws-catalog-backend/src/RDSEntityProvider.ts Outdated Show resolved Hide resolved
Copy link
Contributor

@zhammer zhammer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

awesome

@colinodell colinodell merged commit 788d5e3 into main Feb 13, 2024
9 checks passed
Copy link

🎉 This PR is included in version 1.0.0 🎉

The release is available on @seatgeek/backstage-plugin-aws-catalog-common@1.0.0

Your semantic-release bot 📦🚀

Copy link

🎉 This PR is included in version 1.0.0 🎉

The release is available on @seatgeek/backstage-plugin-aws-catalog-backend@1.0.0

Your semantic-release bot 📦🚀

Copy link

🎉 This PR is included in version 1.0.2 🎉

The release is available on @seatgeek/backstage-plugin-awards-common@1.0.2

Your semantic-release bot 📦🚀

Copy link

🎉 This PR is included in version 2.0.0 🎉

The release is available on @seatgeek/backstage-plugin-awards@2.0.0

Your semantic-release bot 📦🚀

Copy link

🎉 This PR is included in version 2.0.0 🎉

The release is available on @seatgeek/backstage-plugin-awards-backend@2.0.0

Your semantic-release bot 📦🚀

Copy link

🎉 This PR is included in version 1.0.0 🎉

The release is available on @seatgeek/backstage-plugin-gitlab-catalog-backend@1.0.0

Your semantic-release bot 📦🚀

Copy link

🎉 This PR is included in version 1.0.2 🎉

The release is available on @seatgeek/backstage-plugin-slack-catalog-backend@1.0.2

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants