You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: AGENTS.md
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -79,7 +79,7 @@ export default handler;
79
79
80
80
```json
81
81
{
82
-
"name": "send-email-link",
82
+
"name": "send-verification-link",
83
83
"version": "1.1.0",
84
84
"description": "Sends invite, password reset, and verification emails",
85
85
"type": "node-graphql",
@@ -111,7 +111,7 @@ export default handler;
111
111
**Build Docker images:**
112
112
```bash
113
113
make docker-build # build all function images
114
-
make docker-build-send-email-link # build single function image
114
+
make docker-build-send-verification-link # build single function image
115
115
```
116
116
117
117
**Local development with Docker:**
@@ -129,9 +129,9 @@ pnpm build # Recompile
129
129
130
130
## Key Details
131
131
132
-
- Each function declares its port in `handler.json` (`simple-email` 8081, `send-email-link` 8082, `knative-job-example` 8083, `python-example` 8084); the job service uses 8080
133
-
- Email functions support dry-run via `SIMPLE_EMAIL_DRY_RUN` / `SEND_EMAIL_LINK_DRY_RUN`
134
-
-`loadFunctionApp()` in job/service resolves modules by name (e.g. `@constructive-io/simple-email-fn`)
132
+
- Each function declares its port in `handler.json` (`send-email` 8081, `send-verification-link` 8082, `knative-job-example` 8083, `python-example` 8084); the job service uses 8080
133
+
- Email functions support dry-run via `SEND_EMAIL_DRY_RUN` / `SEND_VERIFICATION_LINK_DRY_RUN` (legacy `SIMPLE_EMAIL_DRY_RUN` / `SEND_EMAIL_LINK_DRY_RUN` still honored as fallback)
134
+
-`loadFunctionApp()` in job/service resolves modules by name (e.g. `@constructive-io/send-email-fn`)
135
135
- GraphQL clients require `GRAPHQL_URL` env var and `X-Database-Id` header
136
136
- The `generated/` directory is entirely gitignored
137
137
- Templates use `{{name}}`, `{{version}}`, `{{description}}` placeholders
Infrastructure runs in Docker. Functions run as local Node processes from `generated/` — no Docker rebuild needed when function code changes. Edit `functions/*/handler.ts`, rebuild (`pnpm build`), restart `make dev-fn`.
@@ -252,7 +252,7 @@ make skaffold-dev
252
252
This runs `skaffold dev -p local-simple` which:
253
253
1. Builds the `constructive-functions` Docker image from `Dockerfile.dev`
Copy file name to clipboardExpand all lines: docs/plan/01-docker-ci.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -143,7 +143,7 @@ jobs:
143
143
144
144
**Dynamic matrix via discovery job**: The `discover` job reads `functions/*/handler.json` and outputs a JSON matrix. This means adding a new function only requires creating `functions/<name>/handler.json` — no workflow changes needed.
145
145
146
-
**`matrix.dir` vs `matrix.name`**: The directory name (e.g., `simple-email`) may differ from the handler.json `name` field (e.g., `knative-job-example` vs dir `example`). We pass both:
146
+
**`matrix.dir` vs `matrix.name`**: The directory name (e.g., `send-email`) may differ from the handler.json `name` field (e.g., `knative-job-example` vs dir `example`). We pass both:
147
147
- `matrix.dir`— used for `--only=` flag and Dockerfile path (generate.ts filters by directory name)
148
148
- `matrix.name`— used for image naming (from handler.json `name` field)
149
149
@@ -161,8 +161,8 @@ jobs:
161
161
- Each builds successfully but does NOT push (PR event)
162
162
163
163
2. **Push test**: Merge to main. Verify:
164
-
- Images appear at `ghcr.io/<owner>/simple-email-fn:latest`
165
-
- Images appear at `ghcr.io/<owner>/send-email-link-fn:latest`
164
+
- Images appear at `ghcr.io/<owner>/send-email-fn:latest`
165
+
- Images appear at `ghcr.io/<owner>/send-verification-link-fn:latest`
166
166
- Short SHA tags are applied
167
167
168
168
3. **New function test**: Add a new `functions/test-fn/handler.json` and verify it appears as a 4th matrix job automatically.
0 commit comments