feat: Add stack metadata construct for repository and pipeline information #4
+3,107
−136
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
This PR introduces a new stack metadata construct that automatically captures and adds repository and CI/CD pipeline information to CDK stacks, following the same architectural pattern as the existing versioning feature.
Features Implemented
Repository Metadata
Pipeline Metadata
Environment Variable Support
GITHUB_*)CI_*,GITLAB_*)CODEBUILD_*)Implementation Details
Architecture
Follows the same pattern as
src/versioning/:RepoInfoHelperandPipelineInfoHelperfor environment variable extractionRepoInfoandPipelineInfoStackMetadataconstruct that usesStack.of(this).addMetadata()fromEnvironment()and manual configuration supportFile Structure
Usage Example
Testing
Comprehensive unit tests covering:
Documentation
API.mdwith complete API referenceMETADATA_USAGE.mdwith examples and best practicesexamples/metadata-example.tsBreaking Changes
None. This is a purely additive feature.
Checklist
fromEnvironment()factory method implementedsrc/index.ts