Files
bodyshop/_reference/localEmailViewer/README.md

2.2 KiB

This app connects to your Docker LocalStack endpoints and gives you a compact inspector for:

  • SES generated emails
  • CloudWatch log groups, streams, and recent events
  • Secrets Manager secrets and values
  • S3 buckets and object previews
npm start

Or:

node index.js

Open: http://localhost:3334

Features:

  • SES email workspace with manual refresh, live refresh, search, HTML/text/raw views, attachment downloads, and new-message highlighting
  • CloudWatch Logs workspace with log group selection, stream filtering, adjustable time window, adjustable event limit, live refresh, in-browser log search, log-level highlighting, wrap toggle, and optional tail-to-newest mode
  • Secrets Manager workspace with live refresh, search, expandable secret metadata, lazy-loaded secret values, masked-by-default secret viewing, and quick copy actions
  • S3 Explorer workspace with bucket selection, prefix filtering, object search, lazy object previews, object key/URI copy actions, and downloads
  • Shared LocalStack service health strip plus a reset action for clearing saved viewer state
  • Compact single-page UI for switching between the local stack tools you use most

Code layout:

  • index.js: small Express bootstrap and route registration
  • server/config.js: LocalStack endpoints, defaults, and AWS client setup
  • server/localstack-service.js: SES, Logs, Secrets, and S3 data loading helpers
  • server/page.js: server-rendered HTML shell, CSS, and client config payload
  • public/client-app.js: browser-side UI state, rendering, refresh logic, and interactions

Optional environment variables:

PORT=3334
SES_VIEWER_ENDPOINT=http://localhost:4566/_aws/ses
SES_VIEWER_REFRESH_MS=10000
SES_VIEWER_FETCH_TIMEOUT_MS=5000
CLOUDWATCH_VIEWER_ENDPOINT=http://localhost:4566
CLOUDWATCH_VIEWER_REGION=ca-central-1
CLOUDWATCH_VIEWER_LOG_GROUP=development
CLOUDWATCH_VIEWER_WINDOW_MS=900000
CLOUDWATCH_VIEWER_LIMIT=200
SECRETS_VIEWER_ENDPOINT=http://localhost:4566
SECRETS_VIEWER_REGION=ca-central-1
S3_VIEWER_ENDPOINT=http://localhost:4566
S3_VIEWER_REGION=ca-central-1
S3_VIEWER_BUCKET=
S3_VIEWER_PREVIEW_BYTES=262144
S3_VIEWER_IMAGE_PREVIEW_BYTES=1048576