-
Notifications
You must be signed in to change notification settings - Fork 1.1k
feat(samples/cloudwatch-applicationsignals-mcp): add docker nodejs express app #1721
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
Conversation
|
This pull request sets up GitHub code scanning for this repository. Once the scans have completed and the checks have passed, the analysis results for this pull request branch will appear on this overview. Once you merge this pull request, the 'Security' tab will show more code scanning analysis results (for example, for the default branch). Depending on your configuration and choice of analysis tool, future pull requests will be annotated with code scanning analysis results. For more information about GitHub code scanning, check out the documentation. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #1721 +/- ##
=======================================
Coverage 90.26% 90.26%
=======================================
Files 781 781
Lines 59912 59912
Branches 9718 9718
=======================================
Hits 54077 54077
Misses 3646 3646
Partials 2189 2189 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
...dwatch-applicationsignals-mcp/get-enablement-guide-samples/docker-apps/nodejs/express/app.js
Fixed
Show fixed
Hide fixed
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR adds a new Node.js Express baseline application for testing AWS Application Signals enablement via the get_enablement_guide MCP tool. The application is containerized and designed to run on EC2 with Docker.
- Complete Express application with health checks, S3 integration, and Pino logging
- Multi-architecture Docker image support (linux/amd64, linux/arm64)
- CDK infrastructure configuration for EC2 deployment
- Traffic generation script for continuous testing
Reviewed Changes
Copilot reviewed 6 out of 7 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
docker-apps/nodejs/express/app.js |
Express server with endpoints for health checks and S3 bucket listing |
docker-apps/nodejs/express/Dockerfile |
Multi-stage Docker build with Node.js 20-alpine, health checks, and security best practices |
docker-apps/nodejs/express/package.json |
Dependencies including Express 5.1.0, AWS SDK S3, and Pino logger |
docker-apps/nodejs/express/package-lock.json |
Lock file for dependency versions |
docker-apps/nodejs/express/generate-traffic.sh |
Bash script for continuous traffic generation |
infrastructure/ec2/cdk/config/nodejs-express.json |
CDK configuration for Node.js Express stack |
README.md |
Updated documentation with Node.js Express build and deployment instructions |
Comments suppressed due to low confidence (1)
samples/cloudwatch-applicationsignals-mcp/get-enablement-guide-samples/docker-apps/nodejs/express/app.js:19
- Avoid automated semicolon insertion (91% of all statements in the enclosing script have an explicit semicolon).
const logger = require('pino')()
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
...dwatch-applicationsignals-mcp/get-enablement-guide-samples/docker-apps/nodejs/express/app.js
Outdated
Show resolved
Hide resolved
...dwatch-applicationsignals-mcp/get-enablement-guide-samples/docker-apps/nodejs/express/app.js
Outdated
Show resolved
Hide resolved
...-applicationsignals-mcp/get-enablement-guide-samples/docker-apps/nodejs/express/package.json
Outdated
Show resolved
Hide resolved
...-applicationsignals-mcp/get-enablement-guide-samples/docker-apps/nodejs/express/package.json
Show resolved
Hide resolved
a668933 to
86c47ac
Compare
|
trivy is expected to fail for now. see here. |
...dwatch-applicationsignals-mcp/get-enablement-guide-samples/docker-apps/nodejs/express/app.js
Outdated
Show resolved
Hide resolved
| const HOST = process.env.HOST || '0.0.0.0'; | ||
| const PORT = parseInt(process.env.PORT || '8080', 10); | ||
|
|
||
| const app = express(); |
Check notice
Code scanning / Semgrep OSS
Semgrep Finding: javascript.express.security.audit.express-check-csurf-middleware-usage.express-check-csurf-middleware-usage Note
Fixes
Summary
Adding Docker Nodejs Express app to our enablement tool testing infra.
Changes
This PR adds a new Node.js Express baseline application for testing AWS Application Signals enablement via the
get_enablement_guideMCP tool. The application is designed to run as a Docker container on EC2.New files added:
docker-apps/nodejs/express/- Complete Express application with:/,/health, and/api/bucketsinfrastructure/ec2/cdk/config/nodejs-express.json- CDK configuration for deploymentDocumentation updates:
- Updated README.md with Node.js Express app build/deploy instructions
- Added
nodejs-expressto ECR repository table- Added
NodejsExpressCdkStackto CDK stack deployment tableUser experience
N/A
Checklist
If your change doesn't seem to apply, please leave them unchecked.
Is this a breaking change? (Y/N) N
RFC issue number:
Checklist:
Acknowledgment
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of the project license.