Skip to content

Commit

Permalink
Merge pull request #80 from awslabs/v0.3.3
Browse files Browse the repository at this point in the history
V0.3.3 updates
  • Loading branch information
acwatson authored Feb 27, 2024
2 parents 471a72f + 0356b85 commit bee2ce2
Show file tree
Hide file tree
Showing 145 changed files with 29,467 additions and 332 deletions.
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
# Crash log files
crash.log

*.zip
# *.zip
*.pem

# Ignore any .tfvars files that are generated automatically for each Terraform run. Most
Expand Down Expand Up @@ -72,6 +72,7 @@ cicd/iam-role/final-cicd-iam-role.json
iac/bootstrap/final-tf-backend-cf-stack.json
*.bak
config/.env
localenv.sh

# transpiled JavaScript, Typings and test files

Expand Down
52 changes: 38 additions & 14 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,48 +1,71 @@
# Changelog

## 0.3.3 - 2024-02-26

### New Features
* Amazon ECS using EC2 nodes sample added to reference template
* Add check for cdk bootstrap during environment provider provisioning to avoid manual pre-req
* GenAI runtime environment provider template
* GenAI RAG application template

### Bug Fixes
* Ensure Terraform state bucket name uniqueness
* Hard-coded region in EKS provider
* code hygiene

### Documentation
* Security and Permissions updates
* Kubernetes runtime and template docs
* Contribution guidance
* Architecture description and diagram improvements
* General fixes to typos and clarifications
* GenAI runtime and template docs

## 0.3.2 - 2024-01-29

### Fixed

* fixes reference repository pipelines to correct build issues
* fixes installation doc image referencing GitLab 16.8.1 in the AWS Marketplace

## 0.3.1 - 2024-01-24

### Fixed

* Backstage plugin version identifiers required for 0.3.0 release
* introduces a workaround for GitLab 16.8 error when creating new user
* introduces a workaround for an image build error due to upgraded "swagger-ui-react" module

## 0.3.0 - 2024-01-23

### New Features
* Support for Kubernetes:
* Add AWS EKS provider
* Import existing AWS EKS clusters
* Add AWS EKS Application for K8s Kustomize pattern
* Add AWS EKS Application for K8s Helm pattern
* Add Amazon EKS provider
* Import existing Amazon EKS clusters
* Add Amazon EKS Application for K8s Kustomize pattern
* Add Amazon EKS Application for K8s Helm pattern
* Add CI/CD patterns for K8s applications
* New UI Page for K8s with control panel to operate the application
* S3 Bucket as a shared resource
* Reuse existing VPC when creating providers(Import existing VPC)
* AWS ECS provider with EC2 clusters for tailored workloads
* Amazon ECS provider with EC2 clusters for tailored workloads
* Updated Backstage platform to v1.21
* Support filter relevant environments for new apps

### New Documentation
* Security documentation
* Test cases
* Add a basic provider template - example for starting your own provider templates.
* Security documentation
* Test cases
* Add a basic provider template - example for starting your own provider templates.

### Refactor
* Remove hyphenated names from entities
* Adding support for component subType for easy identification of internal AWS component classification
* Remove hyphenated names from entities
* Adding support for component subType for easy identification of internal AWS component classification

### Bug Fixes
* Delete provider - case name issue
* Delete app - case name issue
* Delete resource - remove secret deletion + adjusted stack name mapping
* Remove provider from an environment after creation
* Delete provider - case name issue
* Delete app - case name issue
* Delete resource - remove secret deletion + adjusted stack name mapping
* Remove provider from an environment after creation


## 0.2.0 - 2023-09-26
Expand Down Expand Up @@ -73,3 +96,4 @@
### New Features

_initial release_

10 changes: 5 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@
:star: **OPA on AWS v0.3 now available!** :star:
* S3 Bucket as a shared resource
* Reuse existing VPC when creating providers
* AWS ECS provider with EC2 clusters for tailored workloads
* AWS EKS provider
* Import existing AWS EKS clusters
* AWS EKS Application for K8s Kustomize pattern
* AWS EKS Application for K8s Helm pattern
* Amazon ECS provider with EC2 clusters for tailored workloads
* Amazon EKS provider
* Import existing Amazon EKS clusters
* Amazon EKS Application for K8s Kustomize pattern
* Amazon EKS Application for K8s Helm pattern
* CI/CD patterns for K8s applications
* Updated Backstage platform to v1.21
* Filter relevant environments for new apps
Expand Down
89 changes: 61 additions & 28 deletions backstage-mods/backstage_0.5.8.diff.patch
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
diff -Naur --exclude=node_modules --exclude=*aws-apps* --exclude=package.json --exclude=yarn.lock --exclude=app-config.local.yaml --exclude=.git --exclude=dist-types --exclude=.env --exclude=*.d.ts --exclude=dist --exclude=.DS_Store backstage_0.5.8/app-config.yaml backstage/app-config.yaml
--- backstage_0.5.8/app-config.yaml 2024-01-23 15:03:23
+++ backstage/app-config.yaml 2024-01-23 15:03:06
--- backstage_0.5.8/app-config.yaml 2024-02-26 16:28:28
+++ backstage/app-config.yaml 2024-02-26 16:27:58
@@ -1,9 +1,11 @@
app:
- title: Scaffolded Backstage App
Expand Down Expand Up @@ -187,16 +187,16 @@ diff -Naur --exclude=node_modules --exclude=*aws-apps* --exclude=package.json --
+ frequency: { minutes: 30 }
+ timeout: { minutes: 3 }
diff -Naur --exclude=node_modules --exclude=*aws-apps* --exclude=package.json --exclude=yarn.lock --exclude=app-config.local.yaml --exclude=.git --exclude=dist-types --exclude=.env --exclude=*.d.ts --exclude=dist --exclude=.DS_Store backstage_0.5.8/backstage.json backstage/backstage.json
--- backstage_0.5.8/backstage.json 2024-01-23 15:03:23
+++ backstage/backstage.json 2024-01-23 15:03:06
--- backstage_0.5.8/backstage.json 2024-02-26 16:28:28
+++ backstage/backstage.json 2024-02-26 16:27:58
@@ -1,3 +1,3 @@
{
- "version": "1.21.0"
+ "version": "1.21.1"
}
diff -Naur --exclude=node_modules --exclude=*aws-apps* --exclude=package.json --exclude=yarn.lock --exclude=app-config.local.yaml --exclude=.git --exclude=dist-types --exclude=.env --exclude=*.d.ts --exclude=dist --exclude=.DS_Store backstage_0.5.8/packages/app/e2e-tests/app.test.ts backstage/packages/app/e2e-tests/app.test.ts
--- backstage_0.5.8/packages/app/e2e-tests/app.test.ts 2024-01-23 15:03:24
+++ backstage/packages/app/e2e-tests/app.test.ts 2024-01-23 15:03:06
--- backstage_0.5.8/packages/app/e2e-tests/app.test.ts 2024-02-26 16:28:28
+++ backstage/packages/app/e2e-tests/app.test.ts 2024-02-26 16:27:58
@@ -13,11 +13,8 @@
* See the License for the specific language governing permissions and
* limitations under the License.
Expand All @@ -210,8 +210,8 @@ diff -Naur --exclude=node_modules --exclude=*aws-apps* --exclude=package.json --
await expect(page.getByText('My Company Catalog')).toBeVisible();
});
diff -Naur --exclude=node_modules --exclude=*aws-apps* --exclude=package.json --exclude=yarn.lock --exclude=app-config.local.yaml --exclude=.git --exclude=dist-types --exclude=.env --exclude=*.d.ts --exclude=dist --exclude=.DS_Store backstage_0.5.8/packages/app/src/App.tsx backstage/packages/app/src/App.tsx
--- backstage_0.5.8/packages/app/src/App.tsx 2024-01-23 15:03:24
+++ backstage/packages/app/src/App.tsx 2024-01-23 15:03:06
--- backstage_0.5.8/packages/app/src/App.tsx 2024-02-26 16:28:28
+++ backstage/packages/app/src/App.tsx 2024-02-26 16:27:58
@@ -27,15 +27,38 @@
import { searchPage } from './components/search/SearchPage';
import { Root } from './components/Root';
Expand Down Expand Up @@ -364,9 +364,42 @@ diff -Naur --exclude=node_modules --exclude=*aws-apps* --exclude=package.json --
</FlatRoutes>
);

diff -Naur --exclude=node_modules --exclude=*aws-apps* --exclude=package.json --exclude=yarn.lock --exclude=app-config.local.yaml --exclude=.git --exclude=dist-types --exclude=.env --exclude=*.d.ts --exclude=dist --exclude=.DS_Store backstage_0.5.8/packages/app/src/apis.ts backstage/packages/app/src/apis.ts
--- backstage_0.5.8/packages/app/src/apis.ts 2024-02-26 16:28:28
+++ backstage/packages/app/src/apis.ts 2024-02-26 16:27:58
@@ -7,13 +7,29 @@
AnyApiFactory,
configApiRef,
createApiFactory,
+ useApp,
} from '@backstage/core-plugin-api';
+import { catalogApiRef, entityPresentationApiRef } from '@backstage/plugin-catalog-react';
+import { DefaultEntityPresentationApi } from '@backstage/plugin-catalog';

export const apis: AnyApiFactory[] = [
createApiFactory({
api: scmIntegrationsApiRef,
deps: { configApi: configApiRef },
factory: ({ configApi }) => ScmIntegrationsApi.fromConfig(configApi),
+ }),
+ createApiFactory({
+ api: entityPresentationApiRef,
+ deps: { catalogApi: catalogApiRef },
+ factory: ({ catalogApi }) => {
+ return DefaultEntityPresentationApi.create({
+ catalogApi,
+ kindIcons: {
+ awsenvironment: useApp().getSystemIcon('kind:domain')!,
+ awsenvironmentprovider: useApp().getSystemIcon('kind:system')!,
+ },
+ });
+ },
}),
ScmAuth.createDefaultApiFactory(),
];
diff -Naur --exclude=node_modules --exclude=*aws-apps* --exclude=package.json --exclude=yarn.lock --exclude=app-config.local.yaml --exclude=.git --exclude=dist-types --exclude=.env --exclude=*.d.ts --exclude=dist --exclude=.DS_Store backstage_0.5.8/packages/app/src/components/Root/Root.tsx backstage/packages/app/src/components/Root/Root.tsx
--- backstage_0.5.8/packages/app/src/components/Root/Root.tsx 2024-01-23 15:03:24
+++ backstage/packages/app/src/components/Root/Root.tsx 2024-01-23 15:03:06
--- backstage_0.5.8/packages/app/src/components/Root/Root.tsx 2024-02-26 16:28:28
+++ backstage/packages/app/src/components/Root/Root.tsx 2024-02-26 16:27:58
@@ -23,9 +23,14 @@
SidebarSpace,
useSidebarOpenState,
Expand Down Expand Up @@ -451,8 +484,8 @@ diff -Naur --exclude=node_modules --exclude=*aws-apps* --exclude=package.json --
<SidebarItem icon={LibraryBooks} to="docs" text="Docs" />
<SidebarItem icon={CreateComponentIcon} to="create" text="Create..." />
diff -Naur --exclude=node_modules --exclude=*aws-apps* --exclude=package.json --exclude=yarn.lock --exclude=app-config.local.yaml --exclude=.git --exclude=dist-types --exclude=.env --exclude=*.d.ts --exclude=dist --exclude=.DS_Store backstage_0.5.8/packages/app/src/components/catalog/EntityPage.tsx backstage/packages/app/src/components/catalog/EntityPage.tsx
--- backstage_0.5.8/packages/app/src/components/catalog/EntityPage.tsx 2024-01-23 15:03:24
+++ backstage/packages/app/src/components/catalog/EntityPage.tsx 2024-01-23 15:03:06
--- backstage_0.5.8/packages/app/src/components/catalog/EntityPage.tsx 2024-02-26 16:28:28
+++ backstage/packages/app/src/components/catalog/EntityPage.tsx 2024-02-26 16:27:58
@@ -27,6 +27,7 @@
isOrphan,
hasRelationWarnings,
Expand Down Expand Up @@ -584,8 +617,8 @@ diff -Naur --exclude=node_modules --exclude=*aws-apps* --exclude=package.json --
<EntitySwitch.Case if={isKind('group')} children={groupPage} />
<EntitySwitch.Case if={isKind('user')} children={userPage} />
diff -Naur --exclude=node_modules --exclude=*aws-apps* --exclude=package.json --exclude=yarn.lock --exclude=app-config.local.yaml --exclude=.git --exclude=dist-types --exclude=.env --exclude=*.d.ts --exclude=dist --exclude=.DS_Store backstage_0.5.8/packages/backend/Dockerfile backstage/packages/backend/Dockerfile
--- backstage_0.5.8/packages/backend/Dockerfile 2024-01-23 15:03:23
+++ backstage/packages/backend/Dockerfile 2024-01-23 15:03:06
--- backstage_0.5.8/packages/backend/Dockerfile 2024-02-26 16:28:28
+++ backstage/packages/backend/Dockerfile 2024-02-26 16:27:58
@@ -22,7 +22,6 @@
# in which case you should also move better-sqlite3 to "devDependencies" in package.json.
RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
Expand All @@ -602,8 +635,8 @@ diff -Naur --exclude=node_modules --exclude=*aws-apps* --exclude=package.json --
+CMD ["node", "packages/backend", "--config", "app-config.yaml", "--config", "app-config.production.yaml"]
\ No newline at end of file
diff -Naur --exclude=node_modules --exclude=*aws-apps* --exclude=package.json --exclude=yarn.lock --exclude=app-config.local.yaml --exclude=.git --exclude=dist-types --exclude=.env --exclude=*.d.ts --exclude=dist --exclude=.DS_Store backstage_0.5.8/packages/backend/src/index.ts backstage/packages/backend/src/index.ts
--- backstage_0.5.8/packages/backend/src/index.ts 2024-01-23 15:03:23
+++ backstage/packages/backend/src/index.ts 2024-01-23 15:03:06
--- backstage_0.5.8/packages/backend/src/index.ts 2024-02-26 16:28:28
+++ backstage/packages/backend/src/index.ts 2024-02-26 16:27:58
@@ -28,9 +28,12 @@
import proxy from './plugins/proxy';
import techdocs from './plugins/techdocs';
Expand Down Expand Up @@ -648,7 +681,7 @@ diff -Naur --exclude=node_modules --exclude=*aws-apps* --exclude=package.json --
apiRouter.use(notFoundHandler());
diff -Naur --exclude=node_modules --exclude=*aws-apps* --exclude=package.json --exclude=yarn.lock --exclude=app-config.local.yaml --exclude=.git --exclude=dist-types --exclude=.env --exclude=*.d.ts --exclude=dist --exclude=.DS_Store backstage_0.5.8/packages/backend/src/plugins/OpaSamplePermissionPolicy.ts backstage/packages/backend/src/plugins/OpaSamplePermissionPolicy.ts
--- backstage_0.5.8/packages/backend/src/plugins/OpaSamplePermissionPolicy.ts 1969-12-31 19:00:00
+++ backstage/packages/backend/src/plugins/OpaSamplePermissionPolicy.ts 2024-01-23 15:03:06
+++ backstage/packages/backend/src/plugins/OpaSamplePermissionPolicy.ts 2024-02-26 16:27:58
@@ -0,0 +1,94 @@
+import { readOpaAppAuditPermission } from '@aws/plugin-aws-apps-common-for-backstage';
+import { DEFAULT_NAMESPACE, stringifyEntityRef } from '@backstage/catalog-model';
Expand Down Expand Up @@ -745,8 +778,8 @@ diff -Naur --exclude=node_modules --exclude=*aws-apps* --exclude=package.json --
+ }
+}
diff -Naur --exclude=node_modules --exclude=*aws-apps* --exclude=package.json --exclude=yarn.lock --exclude=app-config.local.yaml --exclude=.git --exclude=dist-types --exclude=.env --exclude=*.d.ts --exclude=dist --exclude=.DS_Store backstage_0.5.8/packages/backend/src/plugins/auth.ts backstage/packages/backend/src/plugins/auth.ts
--- backstage_0.5.8/packages/backend/src/plugins/auth.ts 2024-01-23 15:03:23
+++ backstage/packages/backend/src/plugins/auth.ts 2024-01-23 15:03:06
--- backstage_0.5.8/packages/backend/src/plugins/auth.ts 2024-02-26 16:28:28
+++ backstage/packages/backend/src/plugins/auth.ts 2024-02-26 16:27:58
@@ -49,6 +49,23 @@
// resolver: providers.github.resolvers.usernameMatchingUserEntityName(),
},
Expand All @@ -773,7 +806,7 @@ diff -Naur --exclude=node_modules --exclude=*aws-apps* --exclude=package.json --
}
diff -Naur --exclude=node_modules --exclude=*aws-apps* --exclude=package.json --exclude=yarn.lock --exclude=app-config.local.yaml --exclude=.git --exclude=dist-types --exclude=.env --exclude=*.d.ts --exclude=dist --exclude=.DS_Store backstage_0.5.8/packages/backend/src/plugins/awsApps.ts backstage/packages/backend/src/plugins/awsApps.ts
--- backstage_0.5.8/packages/backend/src/plugins/awsApps.ts 1969-12-31 19:00:00
+++ backstage/packages/backend/src/plugins/awsApps.ts 2024-01-23 15:03:06
+++ backstage/packages/backend/src/plugins/awsApps.ts 2024-02-26 16:27:58
@@ -0,0 +1,24 @@
+//awsApps.ts
+
Expand Down Expand Up @@ -801,8 +834,8 @@ diff -Naur --exclude=node_modules --exclude=*aws-apps* --exclude=package.json --
+}
\ No newline at end of file
diff -Naur --exclude=node_modules --exclude=*aws-apps* --exclude=package.json --exclude=yarn.lock --exclude=app-config.local.yaml --exclude=.git --exclude=dist-types --exclude=.env --exclude=*.d.ts --exclude=dist --exclude=.DS_Store backstage_0.5.8/packages/backend/src/plugins/catalog.ts backstage/packages/backend/src/plugins/catalog.ts
--- backstage_0.5.8/packages/backend/src/plugins/catalog.ts 2024-01-23 15:03:23
+++ backstage/packages/backend/src/plugins/catalog.ts 2024-01-23 15:03:06
--- backstage_0.5.8/packages/backend/src/plugins/catalog.ts 2024-02-26 16:28:28
+++ backstage/packages/backend/src/plugins/catalog.ts 2024-02-26 16:27:58
@@ -2,13 +2,37 @@
import { ScaffolderEntitiesProcessor } from '@backstage/plugin-catalog-backend-module-scaffolder-entity-model';
import { Router } from 'express';
Expand Down Expand Up @@ -843,7 +876,7 @@ diff -Naur --exclude=node_modules --exclude=*aws-apps* --exclude=package.json --
}
diff -Naur --exclude=node_modules --exclude=*aws-apps* --exclude=package.json --exclude=yarn.lock --exclude=app-config.local.yaml --exclude=.git --exclude=dist-types --exclude=.env --exclude=*.d.ts --exclude=dist --exclude=.DS_Store backstage_0.5.8/packages/backend/src/plugins/gitlab.ts backstage/packages/backend/src/plugins/gitlab.ts
--- backstage_0.5.8/packages/backend/src/plugins/gitlab.ts 1969-12-31 19:00:00
+++ backstage/packages/backend/src/plugins/gitlab.ts 2024-01-23 15:03:06
+++ backstage/packages/backend/src/plugins/gitlab.ts 2024-02-26 16:27:58
@@ -0,0 +1,12 @@
+import { PluginEnvironment } from '../types';
+import { Router } from 'express-serve-static-core';
Expand All @@ -859,7 +892,7 @@ diff -Naur --exclude=node_modules --exclude=*aws-apps* --exclude=package.json --
+}
diff -Naur --exclude=node_modules --exclude=*aws-apps* --exclude=package.json --exclude=yarn.lock --exclude=app-config.local.yaml --exclude=.git --exclude=dist-types --exclude=.env --exclude=*.d.ts --exclude=dist --exclude=.DS_Store backstage_0.5.8/packages/backend/src/plugins/permission.ts backstage/packages/backend/src/plugins/permission.ts
--- backstage_0.5.8/packages/backend/src/plugins/permission.ts 1969-12-31 19:00:00
+++ backstage/packages/backend/src/plugins/permission.ts 2024-01-23 15:03:06
+++ backstage/packages/backend/src/plugins/permission.ts 2024-02-26 16:27:58
@@ -0,0 +1,15 @@
+import { createRouter } from '@backstage/plugin-permission-backend';
+import { Router } from 'express';
Expand All @@ -877,8 +910,8 @@ diff -Naur --exclude=node_modules --exclude=*aws-apps* --exclude=package.json --
+ });
+}
diff -Naur --exclude=node_modules --exclude=*aws-apps* --exclude=package.json --exclude=yarn.lock --exclude=app-config.local.yaml --exclude=.git --exclude=dist-types --exclude=.env --exclude=*.d.ts --exclude=dist --exclude=.DS_Store backstage_0.5.8/packages/backend/src/plugins/scaffolder.ts backstage/packages/backend/src/plugins/scaffolder.ts
--- backstage_0.5.8/packages/backend/src/plugins/scaffolder.ts 2024-01-23 15:03:23
+++ backstage/packages/backend/src/plugins/scaffolder.ts 2024-01-23 15:03:06
--- backstage_0.5.8/packages/backend/src/plugins/scaffolder.ts 2024-02-26 16:28:28
+++ backstage/packages/backend/src/plugins/scaffolder.ts 2024-02-26 16:27:58
@@ -1,7 +1,33 @@
import { CatalogClient } from '@backstage/catalog-client';
-import { createRouter } from '@backstage/plugin-scaffolder-backend';
Expand Down Expand Up @@ -962,8 +995,8 @@ diff -Naur --exclude=node_modules --exclude=*aws-apps* --exclude=package.json --
});
}
diff -Naur --exclude=node_modules --exclude=*aws-apps* --exclude=package.json --exclude=yarn.lock --exclude=app-config.local.yaml --exclude=.git --exclude=dist-types --exclude=.env --exclude=*.d.ts --exclude=dist --exclude=.DS_Store backstage_0.5.8/playwright.config.ts backstage/playwright.config.ts
--- backstage_0.5.8/playwright.config.ts 2024-01-23 15:03:23
+++ backstage/playwright.config.ts 2024-01-23 15:03:06
--- backstage_0.5.8/playwright.config.ts 2024-02-26 16:28:28
+++ backstage/playwright.config.ts 2024-02-26 16:27:58
@@ -13,20 +13,16 @@
* See the License for the specific language governing permissions and
* limitations under the License.
Expand Down
4 changes: 2 additions & 2 deletions backstage-plugins/plugins/aws-apps-backend/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@aws/plugin-aws-apps-backend-for-backstage",
"description": "App Development for Backstage.io on AWS Backend plugin",
"version": "0.3.1",
"version": "0.3.2",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
Expand Down Expand Up @@ -48,7 +48,7 @@
"@aws-sdk/client-sts": "^3.290.0",
"@aws-sdk/types": "^3.290.0",
"@aws-sdk/util-arn-parser": "^3.310.0",
"@aws/plugin-aws-apps-common-for-backstage": "^0.3.1",
"@aws/plugin-aws-apps-common-for-backstage": "^0.3.2",
"@backstage/backend-common": "^0.20.0",
"@backstage/catalog-model": "^1.4.3",
"@backstage/config": "^1.1.1",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -801,6 +801,7 @@ export class AwsAppsApi {
Parameters: parameters,
Capabilities: [
Capability.CAPABILITY_IAM,
Capability.CAPABILITY_NAMED_IAM,
Capability.CAPABILITY_AUTO_EXPAND,
],
Tags: [
Expand Down
Loading

0 comments on commit bee2ce2

Please sign in to comment.