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

```shell
npm start
```

Or:

```shell
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:

```shell
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
```
