Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
337f59c
Bump vite from 4.5.14 to 5.4.20 in /NovaSonicVoiceAssistant
dependabot[bot] Sep 9, 2025
9ca8911
Bump vite from 4.5.14 to 7.1.5 in /BedrockAgentsProxy/ui
dependabot[bot] Sep 11, 2025
fdb4bec
Merge pull request #8 from harishv4/main
harishv4 Sep 12, 2025
319516b
Bump python-multipart in /MusicLibraryServerlessApplication/backend
dependabot[bot] Sep 12, 2025
9c0d07e
Bump axios from 1.9.0 to 1.12.0 in /NovaSonicVoiceAssistant
dependabot[bot] Sep 12, 2025
29d7769
Adding new MSK Express Broker Workload Simulation Workbench
Sep 16, 2025
9009bc8
Bump brace-expansion in /MskWorkloadSimulationWorkbench
dependabot[bot] Sep 16, 2025
0afd835
Bump vite from 4.5.14 to 5.4.21 in /BedrockAgentsProxy
dependabot[bot] Oct 21, 2025
c545bb4
Bump node-forge in /MusicLibraryServerlessApplication/frontend
dependabot[bot] Nov 27, 2025
4ec35d3
Bump mdast-util-to-hast from 13.2.0 to 13.2.1 in /BedrockAgentsProxy/ui
dependabot[bot] Dec 2, 2025
08f51a5
Merge pull request #17 from aws-samples/dependabot/npm_and_yarn/Bedro…
manu-mishra Dec 8, 2025
f9fe521
Merge pull request #16 from aws-samples/dependabot/npm_and_yarn/Music…
manu-mishra Dec 8, 2025
78d6bd3
Merge pull request #15 from aws-samples/dependabot/npm_and_yarn/Bedro…
manu-mishra Dec 8, 2025
b6dc0e8
Merge pull request #11 from aws-samples/dependabot/npm_and_yarn/MskWo…
manu-mishra Dec 8, 2025
80a6375
Merge pull request #10 from aws-samples/dependabot/npm_and_yarn/NovaS…
manu-mishra Dec 8, 2025
8a0ed92
Merge pull request #9 from aws-samples/dependabot/pip/MusicLibrarySer…
manu-mishra Dec 8, 2025
f295f76
Merge pull request #6 from aws-samples/dependabot/npm_and_yarn/NovaSo…
manu-mishra Dec 8, 2025
48e152b
Merge branch 'main' into dependabot/npm_and_yarn/BedrockAgentsProxy/u…
manu-mishra Dec 8, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
586 changes: 478 additions & 108 deletions BedrockAgentsProxy/package-lock.json

Large diffs are not rendered by default.

817 changes: 674 additions & 143 deletions BedrockAgentsProxy/ui/package-lock.json

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion BedrockAgentsProxy/ui/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,6 @@
"postcss": "^8.4.27",
"tailwindcss": "^3.3.3",
"typescript": "^5.0.2",
"vite": "^4.5.14"
"vite": "^7.1.5"
}
}
47 changes: 47 additions & 0 deletions MskWorkloadSimulationWorkbench/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
# Dependencies
node_modules/
npm-debug.log*
yarn-debug.log*
yarn-error.log*

# Build outputs
dist/
build/
*.tsbuildinfo

# Environment files
.env
.env.local
.env.development.local
.env.test.local
.env.production.local

# IDE files
.vscode/
.idea/
*.swp
*.swo

# OS files
.DS_Store
Thumbs.db

# Logs
logs/
*.log

# Runtime data
pids/
*.pid
*.seed
*.pid.lock

# Coverage directory used by tools like istanbul
coverage/
*.lcov

# AWS
.aws/

# CDK
cdk.out/
1,005 changes: 1,005 additions & 0 deletions MskWorkloadSimulationWorkbench/README.md

Large diffs are not rendered by default.

54 changes: 54 additions & 0 deletions MskWorkloadSimulationWorkbench/app/.dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
# Node.js
node_modules/
npm-debug.log*
yarn-debug.log*
yarn-error.log*

# TypeScript
*.tsbuildinfo

# Source files (we use pre-built dist/)
src/
tsconfig.json
.eslintrc*
.prettierrc*

# OS generated files
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db

# IDE files
.vscode/
.idea/
*.swp
*.swo

# Logs
logs/
*.log

# Runtime data
pids/
*.pid
*.seed
*.pid.lock

# Coverage directory used by tools like istanbul
coverage/
*.lcov

# Environment variables
.env
.env.local
.env.development.local
.env.test.local
.env.production.local

# Temporary folders
tmp/
temp/
15 changes: 15 additions & 0 deletions MskWorkloadSimulationWorkbench/app/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Dependencies
node_modules/

# Build outputs
dist/
build/
*.tsbuildinfo

# Environment files
.env
.env.local

# Logs
*.log
logs/
54 changes: 54 additions & 0 deletions MskWorkloadSimulationWorkbench/app/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
# Multi-platform Node.js Dockerfile for MSK Express App
# Compatible with both Apple Silicon (M1/M2) and AWS x86_64

# Use Node.js 20 LTS with Alpine for smaller image size
# Support both arm64 (Apple Silicon) and amd64 (AWS/Intel)
FROM --platform=$BUILDPLATFORM node:22-alpine AS base

# Set working directory
WORKDIR /app

# Install build dependencies for native modules
RUN apk add --no-cache \
python3 \
make \
g++ \
&& ln -sf python3 /usr/bin/python

# Copy package files
COPY package*.json ./

# Install dependencies (use install instead of ci for workspace compatibility)
RUN npm install --only=production && npm cache clean --force

# Production stage - multi-platform support
FROM --platform=$TARGETPLATFORM node:22-alpine AS production

# Create non-root user for security
RUN addgroup -g 1001 -S nodejs && \
adduser -S nodejs -u 1001

# Set working directory
WORKDIR /app

# Copy built application and dependencies from base stage
COPY --from=base --chown=nodejs:nodejs /app/node_modules ./node_modules
COPY --chown=nodejs:nodejs dist ./dist
COPY --chown=nodejs:nodejs package*.json ./

# Switch to non-root user
USER nodejs

# Expose the application port
EXPOSE 3000

# Health check
HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 \
CMD wget --no-verbose --tries=1 --spider http://localhost:3000/health || exit 1

# Set environment variables
ENV NODE_ENV=production
ENV PORT=3000

# Start the application
CMD ["node", "dist/index.js"]
41 changes: 41 additions & 0 deletions MskWorkloadSimulationWorkbench/app/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
{
"name": "@workspace/app",
"version": "1.0.0",
"description": "MSK Express Kafka Application - Simplified",
"main": "dist/index.js",
"scripts": {
"build": "tsc",
"start": "node dist/index.js",
"dev": "ts-node src/index.ts",
"clean": "rm -rf dist",
"lint": "eslint src --ext .ts",
"lint:fix": "eslint src --ext .ts --fix",
"format": "prettier --write src",
"format:check": "prettier --check src"
},
"engines": {
"node": ">=22.0.0"
},
"dependencies": {
"@aws-sdk/client-cloudwatch": "^3.658.1",
"@aws-sdk/client-kafka": "^3.658.1",
"aws-msk-iam-sasl-signer-js": "^1.0.0",
"express": "^4.19.2",
"kafkajs": "^2.2.4",
"pino": "^8.17.2"
},
"devDependencies": {
"@types/express": "^4.17.21",
"@types/node": "^22.7.4",
"ts-node": "^10.9.2"
},
"keywords": [
"nodejs",
"typescript",
"kafka",
"msk",
"aws"
],
"author": "",
"license": "ISC"
}
18 changes: 18 additions & 0 deletions MskWorkloadSimulationWorkbench/app/src/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
/**
* MSK Express Workbench Application - Main Entry Point
* Multi-topic Kafka performance testing workbench
*/

import { WorkbenchApplicationService } from './services/workbench-application-service';

// Initialize and start the workbench application
const app = new WorkbenchApplicationService();

// Start the application
app.start().catch((error) => {
process.stderr.write(`Failed to start workbench application: ${error}\n`);
process.exit(1);
});

// Export the Express app for testing purposes
export default app.getApp();
Loading