Skip to content

feat: CDK re-write --DO NOT MERGE-- #328

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

Draft
wants to merge 74 commits into
base: staging
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
74 commits
Select commit Hold shift + click to select a range
73c6319
feat: Basic structure proposal for cdk rewrite
rapgaws Jul 30, 2025
4443779
ci: skip ash failures while fixing the existing issues
rapgaws Jul 30, 2025
3287971
feat: added cloudformation template for initial deployment
rapgaws Jul 30, 2025
3970175
fix: fixed ASH findings for template, re-enabled fail on findings for…
rapgaws Jul 31, 2025
0f7e680
feat: improved codebuild template
rapgaws Aug 1, 2025
5c2d7a7
feat: fixed cdk-nag issues
rapgaws Aug 1, 2025
4e9ead2
refactor: replace CONFIG_BUCKET_KEY with dynamic S3 path and upgrade …
rapgaws Aug 1, 2025
e6903e3
feat: add S3 bucket cleanup functionality and update gitignore
rapgaws Aug 1, 2025
945811f
refactor: rename CDK pipeline stack to OneObservabilityWorkshopPipeline
rapgaws Aug 1, 2025
859aba2
fix: correct S3 bucket policy resource references and remove erroneou…
rapgaws Aug 1, 2025
f8bc451
fix: enabled bucket versioning
rapgaws Aug 1, 2025
b98e6a6
refactor: enhance resource cleanup and migrate to Python runtime
rapgaws Aug 1, 2025
9b1cdee
style: reformat CloudFormation template YAML syntax
rapgaws Aug 1, 2025
5095353
docs: add comprehensive documentation and deployment templates
rapgaws Aug 1, 2025
ddf09a7
Feat/networking (#329)
rafaelpereyra Aug 4, 2025
8686aae
fix: improve CloudFormation signaling in CDK deployment template
rapgaws Aug 1, 2025
011564e
Fix/ts cloudtrail (#330)
rafaelpereyra Aug 4, 2025
2acdb61
feat: enhance CDK infrastructure with applications stage and deployme…
rapgaws Aug 4, 2025
6b6be38
Feat/appstage (#331)
rafaelpereyra Aug 4, 2025
09e7200
Feat/compute (#332)
rafaelpereyra Aug 9, 2025
671ea1e
Merge branch 'staging' into feat/cdkpipeline
rapgaws Aug 9, 2025
d3f3e2e
feat: add OpenTelemetry instrumentation to petsite deployment
rapgaws Aug 9, 2025
3f1b217
ci: update CDK test workflow for new project structure
rapgaws Aug 9, 2025
f65721f
ci: .net 8 for .net build
rapgaws Aug 9, 2025
ef60178
ci: add staging branch support and improve docs workflow
rapgaws Aug 9, 2025
a87de9b
ci: reorganize environment setup in CDK workflow
rapgaws Aug 9, 2025
478aa2e
ci: fixed type in .env file
rapgaws Aug 9, 2025
6385703
buid: Changed petsite from bullseye to bookworm
rapgaws Aug 9, 2025
b54a5f2
fix: shortened resources name
rapgaws Aug 9, 2025
5165ab8
ci: changed trigger for documentation workflow
rapgaws Aug 9, 2025
18d5371
ci: added typedoc dependencies for github actions
rapgaws Aug 9, 2025
804e499
docs: fixed docs build warning
rapgaws Aug 9, 2025
b387c0f
doc: doc build warning fixes
rapgaws Aug 9, 2025
a76d64f
doc: fixed last warnings
rapgaws Aug 9, 2025
3e5aaad
Feat/deletion (#340)
rafaelpereyra Aug 14, 2025
a052a94
Merge remote-tracking branch 'origin/staging' into feat/cdkpipeline
rapgaws Aug 14, 2025
cc4b602
chore: Removed old CDK code and reorg apps (#351)
rafaelpereyra Aug 15, 2025
c63a5b1
Fix/buildfixes - Petfood (#353)
rafaelpereyra Aug 15, 2025
764975b
Feat/cdkpipeline: OpenSearch Log Integration from ECS (#352)
lewinkedrs Aug 15, 2025
819ab17
fix: merged opensearch modeule
rafaelpereyra Aug 15, 2025
f1d2d81
fix: added log driver port to SG
rafaelpereyra Aug 15, 2025
5ee5262
Merge remote-tracking branch 'origin/staging' into fix/conflicts
bonclay7 Aug 16, 2025
5b6bd0b
Merge pull request #355 from aws-samples/fix/conflicts
bonclay7 Aug 16, 2025
f7b27dd
fix: remove portmapping and fix container order (#354)
lewinkedrs Aug 19, 2025
045cf25
FoodService functionalities
awsimaya Aug 20, 2025
31e2f1c
Better error page data sharing
awsimaya Aug 20, 2025
43c704c
feat: add ecs env variables (#357)
lewinkedrs Aug 20, 2025
73c9b6a
update appsettings
awsimaya Aug 20, 2025
baf6325
Merge pull request #358 from awsimaya/feat/cdkpipeline
awsimaya Aug 20, 2025
3d7e28b
Update gitignore to include missing css (#359)
awsimaya Aug 20, 2025
166b967
Feat/fixcodebuild (#360)
rafaelpereyra Aug 20, 2025
e8d3856
Footer and font consistency (#362)
awsimaya Aug 21, 2025
aba5ae4
Clear cart (#363)
awsimaya Aug 21, 2025
819d902
Rename env var + error sim
bonclay7 Aug 18, 2025
095ede9
Update API doc
bonclay7 Aug 18, 2025
6319077
log user agent
bonclay7 Aug 18, 2025
080ea04
Add S3 URL to images path
bonclay7 Aug 21, 2025
f7459b0
Update doc
bonclay7 Aug 21, 2025
5c09848
Update dockerfile
bonclay7 Aug 21, 2025
2f82932
Redeploy app takes default aws/config settings and ignore env variables
bonclay7 Aug 21, 2025
555a359
Add petfood env variables
bonclay7 Aug 21, 2025
35ab493
Add missing bootstrap files (#365)
awsimaya Aug 21, 2025
9d1cb42
API calls to DDB were failing cause missing ssl libs
bonclay7 Aug 21, 2025
110c180
Merge pull request #364 from aws-samples/impr/petfood
bonclay7 Aug 21, 2025
85037ea
Reduce container image size
bonclay7 Aug 21, 2025
a3ad904
Merge pull request #366 from aws-samples/impr/reduce-petfood-ecr-size
bonclay7 Aug 21, 2025
3209840
Fix cdk stack
bonclay7 Aug 21, 2025
3bcbc04
Fix libssl deps
bonclay7 Aug 21, 2025
0178ae3
Cargo fmt
bonclay7 Aug 21, 2025
2922eca
Merge pull request #369 from aws-samples/fix/petfood-docker
bonclay7 Aug 21, 2025
f311ee8
Merge pull request #367 from aws-samples/fix/cdk
bonclay7 Aug 21, 2025
7e90aad
fix: Run CI tests (#368)
bonclay7 Aug 21, 2025
e2ec43d
Fix for food image url (#371)
awsimaya Aug 22, 2025
30d4a86
impr: petfood (#370)
bonclay7 Aug 22, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
360 changes: 360 additions & 0 deletions .ash/.ash.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,360 @@
# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
# SPDX-License-Identifier: Apache-2.0
# yaml-language-server: $schema=https://raw.githubusercontent.com/awslabs/automated-security-helper/refs/heads/beta/automated_security_helper/schemas/AshConfig.json
project_name: one-observability-demo
global_settings:
severity_threshold: MEDIUM
ignore_paths:
- path: src/cdk/cdk.out
reason: 'CDK Code is being reviewed by CDK Nag using the AWS Security best practices compliance pack. Additional tools will require duplicated suppressions'
- path: src/cdk/node_modules
reason: 'Skip node_modules folder'
- path: src/cdk/wiki-docs
reason: 'Skip wiki docs since it will be built in the pipeline'
- path: archive/
reason: 'Legacy application being migrated, for now only scan the new code'
- path: grafana-dashboards
reason: 'Skip legacy code during migration'
- path: codepipeline-stack.yaml
reason: 'Skip old pipeline since it will be migrated'
- path: src/applications/lambda/pethistory-node/template.yaml
reason: 'Temporary SAM template, will be moved to CDK'
- path: .secrets.baseline
reason: 'Secret Baseline file includes the word secret'

suppressions:
- rule_id: SECRET-SECRET-KEYWORD
path: '.github/workflows/cdk-test.yml'
reason: 'Dummy secret'
- rule_id: SECRET-SECRET-KEYWORD
path: '.secrets.baseline'
reason: 'Secret Baseline file includes the word secret'
- rule_id: 'SECRET-BASE64-HIGH-ENTROPY-STRING'
path: 'src/applications/microservices/petsite-net/petsite/Views/Adoption/Index.cshtml'
line_start: 8
line_end: 11
reason: 'Dependency hash for verification, false positive'
- rule_id: 'SECRET-HEX-HIGH-ENTROPY-STRING'
path: 'src/applications/microservices/petsite-net/petsite/Views/Adoption/Index.cshtml'
line_start: 8
line_end: 11
reason: 'Dependency hash for verification, false positive'
# CDK-Nag suppressions moved from inline in codebuild-deployment-template.yaml
- rule_id: AwsSolutions-S1
path: 'src/templates/codebuild-deployment-template.yaml'
resource_id: 'rConfigBucket'
reason: 'Bucket used to trigger CodePipeline, access logs are not needed'
- rule_id: AwsSolutions-IAM4
path: 'src/templates/codebuild-deployment-template.yaml'
resource_id: 'rResourceCleanupRole'
reason: 'AWS managed policies are acceptable for a Lambda function'
- rule_id: AwsSolutions-IAM5
path: 'src/templates/codebuild-deployment-template.yaml'
resource_id: 'rResourceCleanupRole'
reason: 'Wildcard is needed since stack name is automatically generated'
- rule_id: AwsSolutions-IAM4
path: 'src/templates/codebuild-deployment-template.yaml'
resource_id: 'rCodeBuildServiceRole'
reason: 'AWS managed policies are acceptable for a CodeBuild project'
- rule_id: AwsSolutions-IAM5
path: 'src/templates/codebuild-deployment-template.yaml'
resource_id: 'rCodeBuildServiceRole'
reason: 'Wildcard is needed since we have no control on the pipeline name'
- rule_id: AwsSolutions-CB4
path: 'src/templates/codebuild-deployment-template.yaml'
resource_id: 'rCDKDeploymentProject'
reason: 'CodeBuild Project is used to kickoff the initial CDK deployment. AWS KMS is not required'
- rule_id: AwsSolutions-IAM4
path: 'src/templates/codebuild-deployment-template.yaml'
resource_id: 'rStartDeploymentFunctionRole'
reason: 'Use of AWSLambdaBasicExecutionRole is acceptable here'
- rule_id: AwsSolutions-IAM4
path: 'src/templates/codebuild-deployment-template.yaml'
resource_id: 'rCDKStackListerRole'
reason: 'AWS managed policies are acceptable for Lambda function'
- rule_id: AwsSolutions-IAM5
path: 'src/templates/codebuild-deployment-template.yaml'
resource_id: 'rCDKStackListerRole'
reason: 'Wildcard is acceptable for describe stack action'
- rule_id: AwsSolutions-IAM5
path: 'src/templates/codebuild-deployment-template.yaml'
resource_id: 'rCDKCleanupRole'
reason: 'Wildcard is acceptable for describe stack action'
- rule_id: AwsSolutions-SF1
path: 'src/templates/codebuild-deployment-template.yaml'
resource_id: 'rCDKCleanupStateMachine'
reason: 'The purpose of the step function is to clean up all resources, additional logs not needed'
- rule_id: AwsSolutions-SF2
path: 'src/templates/codebuild-deployment-template.yaml'
resource_id: 'rCDKCleanupStateMachine'
reason: 'X-Ray is not needed for this function since only CFN endpoint is used'
# Checkov suppressions moved from inline comments in codebuild-deployment-template.yaml
- rule_id: CKV_AWS_117
path: 'src/templates/codebuild-deployment-template.yaml'
resource_id: 'rResourceCleanupFunction'
reason: 'Custom Resource Lambda only interacts with AWS endpoints, VPC is not needed'
- rule_id: CKV_AWS_116
path: 'src/templates/codebuild-deployment-template.yaml'
resource_id: 'rResourceCleanupFunction'
reason: 'DLQ will increase complexity, this is not needed just to signal CFN deployment since it will time-out'
- rule_id: CKV_AWS_173
path: 'src/templates/codebuild-deployment-template.yaml'
resource_id: 'rResourceCleanupFunction'
reason: 'Custom Resource Lambda, encryption is not included for simplicity'
- rule_id: CKV_AWS_115
path: 'src/templates/codebuild-deployment-template.yaml'
resource_id: 'rResourceCleanupFunction'
reason: 'Function is executed only once, no need for concurrency configurations'
- rule_id: CKV_AWS_18
path: 'src/templates/codebuild-deployment-template.yaml'
resource_id: 'rConfigBucket'
reason: 'Bucket used to trigger CodePipeline, access logs are not needed'
- rule_id: CKV_AWS_21
path: 'src/templates/codebuild-deployment-template.yaml'
resource_id: 'rConfigBucket'
reason: 'Bucket used to trigger CodePipeline, object versioning is not needed'
- rule_id: CKV_AWS_117
path: 'src/templates/codebuild-deployment-template.yaml'
resource_id: 'rStartDeploymentFunction'
reason: 'Custom Resource Lambda only interacts with AWS endpoints, VPC is not needed'
- rule_id: CKV_AWS_116
path: 'src/templates/codebuild-deployment-template.yaml'
resource_id: 'rStartDeploymentFunction'
reason: 'DLQ will increase complexity, this is not needed just to signal CFN deployment since it will time-out'
- rule_id: CKV_AWS_173
path: 'src/templates/codebuild-deployment-template.yaml'
resource_id: 'rStartDeploymentFunction'
reason: 'Custom Resource Lambda, encryption is not included for simplicity'
- rule_id: CKV_AWS_115
path: 'src/templates/codebuild-deployment-template.yaml'
resource_id: 'rStartDeploymentFunction'
reason: 'Function is executed only once, no need for concurrency configurations'
- rule_id: CKV_AWS_117
path: 'src/templates/codebuild-deployment-template.yaml'
resource_id: 'rCDKStackListerFunction'
reason: 'Custom Resource Lambda only interacts with AWS endpoints, VPC is not needed'
- rule_id: CKV_AWS_116
path: 'src/templates/codebuild-deployment-template.yaml'
resource_id: 'rCDKStackListerFunction'
reason: 'DLQ will increase complexity, this is not needed just to check CFN stack status'
- rule_id: CKV_AWS_115
path: 'src/templates/codebuild-deployment-template.yaml'
resource_id: 'rCDKStackListerFunction'
reason: 'Function is executed only once, no need for concurrency configurations'

fail_on_findings: true
ash_plugin_modules: []
external_reports_to_include: []
build: null
converters:
archive:
name: archive
enabled: true
options: {}
jupyter:
name: jupyter
enabled: true
options:
tool_version: '>=7.16.0,<8.0.0'
install_timeout: 300
scanners:
bandit:
name: bandit
enabled: true
options:
severity_threshold: null
config_file: null
confidence_level: all
ignore_nosec: false
excluded_paths: []
additional_formats: []
tool_version: '>=1.7.0,<2.0.0'
install_timeout: 300
cdk-nag:
name: cdk-nag
enabled: true
options:
severity_threshold: null
nag_packs:
AwsSolutionsChecks: true
HIPAASecurityChecks: false
NIST80053R4Checks: false
NIST80053R5Checks: false
PCIDSS321Checks: false
cfn-nag:
name: cfn-nag
enabled: true
options:
severity_threshold: null
checkov:
name: checkov
enabled: true
options:
severity_threshold: null
config_file: null
skip_path: []
additional_formats:
- cyclonedx_json
offline: false
frameworks:
- all
skip_frameworks: []
tool_version: null
install_timeout: 300
detect-secrets:
name: detect-secrets
enabled: false # disabled while I fix the bug with baseline file not being used properly
options:
severity_threshold: null
baseline_file: null
scan_settings:
version: null
generated_at: null
plugins_used: []
filters_used: []
results: {}
grype:
name: grype
enabled: true
options:
severity_threshold: null
config_file: null
offline: false
npm-audit:
name: npm-audit
enabled: true
options:
severity_threshold: null
offline: false
opengrep:
name: opengrep
enabled: false
options:
severity_threshold: null
config: auto
exclude:
- '*-converted.py'
- '*_report_result.txt'
exclude_rule: []
severity: []
metrics: auto
offline: false
patterns: []
version: v1.1.5
semgrep:
name: semgrep
enabled: true
options:
severity_threshold: null
config: auto
exclude:
- '*-converted.py'
- '*_report_result.txt'
exclude_rule: []
severity: []
metrics: auto
offline: false
tool_version: null
install_timeout: 300
syft:
name: syft
enabled: true
options:
severity_threshold: null
config_file: null
exclude: []
additional_outputs:
- syft-table
reporters:
csv:
name: csv
enabled: true
options: {}
extension: csv
cyclonedx:
name: cyclonedx
enabled: true
options: {}
extension: cdx.json
html:
name: html
enabled: true
options: {}
extension: html
flat-json:
name: flat-json
enabled: true
options:
include_scanner_metrics: true
include_summary_metrics: true
include_metadata: true
extension: flat.json
gitlab-sast:
name: gitlab-sast
enabled: true
options: {}
extension: gl-sast-report.json
junitxml:
name: junitxml
enabled: true
options:
respect_severity_threshold: true
extension: junit.xml
markdown:
name: markdown
enabled: true
options:
include_summary: true
include_findings_table: false
include_detailed_findings: true
max_detailed_findings: 20
top_hotspots_limit: 10
use_collapsible_details: true
extension: summary.md
ocsf:
name: ocsf
enabled: true
options: {}
extension: ocsf.json
sarif:
name: sarif
enabled: true
options: {}
extension: sarif
spdx:
name: spdx
enabled: false
options: {}
extension: spdx.json
text:
name: text
enabled: true
options:
include_summary: true
include_findings_table: false
include_detailed_findings: false
max_detailed_findings: 20
top_hotspots_limit: 20
extension: summary.txt
yaml:
name: yaml
enabled: false
options: {}
extension: yaml
mcp-resource-management:
max_concurrent_scans: 3
max_concurrent_tasks: 20
thread_pool_max_workers: 4
scan_timeout_seconds: 1800
operation_timeout_seconds: 180
shutdown_timeout_seconds: 30
memory_warning_threshold_mb: 1024
memory_critical_threshold_mb: 2048
task_count_warning_threshold: 15
max_message_size_bytes: 10485760
max_path_length: 4096
max_directory_size_mb: 1000
enable_health_checks: true
health_check_interval_seconds: 60
enable_resource_logging: true
log_resource_operations: false
2 changes: 2 additions & 0 deletions .ash/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# ASH default output directory (and variants)
ash_output*
2 changes: 2 additions & 0 deletions .codespellrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
[codespell]
ignore-words-list = withS
Loading
Loading