awslabs / awslabs/simple-code-scanning-pipeline

Enable use of SCSP CodeBuild Job(s) in other CodePipeline pipelines

Open
#37 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
19
Forks
3
PR merge metrics
No merged PRs in 30d

Description

There are several AWS solutions which, themselves, define CodePipeline deployments which contain several CodeBuild steps.

For example, the [Customizations for Control Tower (CfCT)](https://docs.aws.amazon.com/controltower/latest/userguide/architecture.html) deploys a CodePipeline that includes a CodeBuild step to deploy CloudFormation Stacks/StackSets according to a `manifest.yaml` file which is maintained in the root folder of a CodeCommit repository. In CfCT, a `templates` folder contains CloudFormation templates which are to be rolled out to accounts (or Accounts within OUs) that are managed by the Control Tower deployment.

It would be very helpful to be able to add a code scanning CodeBuild step to the existing CfCT CodePipeline so that any CloudFormation scripts which are slated to be run/deployed were subjected to the appropriate checks (those defined in SCSP) for CloudFormation templates. And this being done in a CodeBuild step earlier in the CodePipeline than the built-in Approval stage/step in the pipeline.

I think that this situation exists for other AWS Solutions as well - for example:
- [Landing Zone Accelerator](https://aws.amazon.com/solutions/implementations/landing-zone-accelerator-on-aws/)
- [Application Pattern Orchestrator](https://aws.amazon.com/solutions/implementations/application-pattern-orchestrator-on-aws/)

Each of those seems to deploy it's own CodePipeline to manage the build/deployment of items that it makes available.

How can we re-use the CodeBuild construct from SCSP and just insert it into the CodePipeline(s) defined for the solutions above?

Could it be a PR to those solutions which then references the CDK modules from this repo? Based on some configuration settings when building those solutions?

Contributor guide

Open the contributing guide

Research direction

Start by reviewing the SCSP CodeBuild construct and how the referenced AWS solutions define their CodePipeline stages. Determine whether the construct can be reused across those pipelines and how a scanning step would run before the existing approval stage. Done means documenting or implementing a supported integration path for at least one solution.

Written by the indexing model from the issue text.

Assessment

Tech stack
aws, typescript
Domain
ci-cd, cloud, devops
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.