Skip to content

Commit b539b76

Browse files
committed
docs: document Lambda RMU on LocalStack and mark feature complete
Update READMEs to check off "Read Model Updater on AWS Lambda". Add LocalStack Lambda build/deploy instructions to BUILD_AND_TEST docs in both Japanese and English.
1 parent 6c5055f commit b539b76

4 files changed

Lines changed: 45 additions & 3 deletions

File tree

README.ja.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
- [x] Read API Server(GraphQL)
2020
- [x] Read Model Updater on Local
2121
- [x] Docker Compose Support
22-
- [ ] Read Model Updater on AWS Lambda
22+
- [x] Read Model Updater on AWS Lambda(LocalStack 向けビルド/デプロイと `common.env`。詳細は [ビルドとテスト](./docs/BUILD_AND_TEST.ja.md)
2323
- [ ] Deployment to AWS
2424

2525
## 概要

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ Please refer to [here](https://github.com/j5ik2o/cqrs-es-example) for implementa
2222
- [x] Read API Server(GraphQL)
2323
- [x] Read Model Updater on Local
2424
- [x] Docker Compose Support
25-
- [ ] Read Model Updater on AWS Lambda
25+
- [x] Read Model Updater on AWS Lambda (LocalStack: build/deploy scripts and `common.env`; see [Build and Test](./docs/BUILD_AND_TEST.md))
2626
- [ ] Deployment to AWS
2727

2828
## Component Composition

docs/BUILD_AND_TEST.ja.md

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,4 +26,25 @@ docker composeで起動したアプリケーションに対してE2Eテストを
2626
$ pnpm docker-build
2727
$ pnpm docker-compose-up
2828
$ pnpm verify-group-chat # E2E
29-
```
29+
```
30+
31+
## Read Model Updater Lambda(LocalStack)
32+
33+
Rust 版と同様に、Read Model Updater を LocalStack 上の Lambda(DynamoDB ストリーム → Lambda → MySQL)として動かす手順です。
34+
35+
1. リポジトリルートに `common.env.default``common.env` としてコピーするか、`docker-compose-up.sh` / `docker-compose-e2e-test.sh` に任せて自動生成する。`common.env``.gitignore` されます。
36+
2. ホストから AWS CLI で LocalStack に接続するときは **`http://localhost:34566`** を使います(Compose がコンテナの `4566` をホストの `34566` に公開)。Compose 内のサービスからは `http://localstack:4566` です。
37+
3. デプロイ用 zip(Docker `linux/amd64`、Prisma の Lambda 用バイナリを含む)のビルド:
38+
39+
```shell
40+
$ pnpm build-read-model-updater-lambda
41+
```
42+
43+
成果物は `dist/lambda/read-model-updater/function.zip` です。
44+
45+
4. `pnpm docker-compose-up` および `pnpm docker-compose-e2e-test` は、必要に応じて zip をビルドし、LocalStack 待機後に `deploy-read-model-updater-localstack.sh` を実行し、既定でコンテナ `read-model-updater-1` を停止します(ストリームの二重処理を防ぐため)。`DOCKER_COMPOSE_UP_DEPLOY_LAMBDA=0``DOCKER_COMPOSE_UP_BUILD_LAMBDA=0` でスキップできます。E2E 用コンテナは `profile: e2e` とし、スタック起動と Lambda デプロイの後に `verify-group-chat.sh` が走るようにしています。
46+
5. Compose 起動後に手動デプロイする場合:
47+
48+
```shell
49+
$ pnpm deploy-read-model-updater-localstack
50+
```

docs/BUILD_AND_TEST.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,3 +27,24 @@ $ pnpm docker-build
2727
$ pnpm docker-compose-up
2828
$ pnpm verify-group-chat # E2E
2929
```
30+
31+
## Read Model Updater Lambda (LocalStack)
32+
33+
This mirrors the Rust example: run the Read Model Updater as an AWS Lambda on LocalStack (DynamoDB stream → Lambda → MySQL).
34+
35+
1. Copy `common.env.default` to `common.env` at the repo root, or let `docker-compose-up.sh` / `docker-compose-e2e-test.sh` create it. `common.env` is gitignored.
36+
2. From the host, point the AWS CLI at **`http://localhost:34566`** (Compose maps container `4566` to host `34566`). Inside Compose, services use `http://localstack:4566`.
37+
3. Build the deployment zip (Docker `linux/amd64`, Prisma engines for Lambda):
38+
39+
```shell
40+
$ pnpm build-read-model-updater-lambda
41+
```
42+
43+
Output: `dist/lambda/read-model-updater/function.zip`.
44+
45+
4. `pnpm docker-compose-up` and `pnpm docker-compose-e2e-test` can build the zip (unless `DOCKER_COMPOSE_UP_BUILD_LAMBDA=0`), wait for LocalStack, run `deploy-read-model-updater-localstack.sh`, and by default stop the `read-model-updater-1` container to avoid double-processing the stream. Set `DOCKER_COMPOSE_UP_DEPLOY_LAMBDA=0` to skip deploy. The e2e script brings stacks up, deploys Lambda, then runs the `e2e-test` container (`profile: e2e`) so GraphQL is ready before `verify-group-chat.sh` runs.
46+
5. To deploy manually after Compose is up:
47+
48+
```shell
49+
$ pnpm deploy-read-model-updater-localstack
50+
```

0 commit comments

Comments
 (0)