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
| GET |`/token`| none | 303 redirect to external token provider |
61
+
| GET |`/health`| none | Returns service health and dependency status |
61
62
| GET |`/topics`| none | Lists available topic names |
62
63
| GET |`/topics/{topicName}`| none | Returns JSON Schema for the topic |
63
64
| POST |`/topics/{topicName}`| JWT | Validates + forwards message to configured sinks |
64
65
| POST |`/terminate`| (internal) | Forces Lambda process exit (used to trigger cold start & config reload) |
65
66
66
67
Status codes:
68
+
- 200 – Health check pass
67
69
- 202 – Accepted (all writers succeeded)
68
70
- 400 – Schema validation failure
69
71
- 401 – Token missing/invalid
70
72
- 403 – Subject unauthorized for topic
71
73
- 404 – Unknown topic or route
72
74
- 500 – One or more writers failed / internal error
75
+
- 503 – Service degraded (dependency not initialized)
73
76
74
77
## Configuration
75
78
All core runtime configuration is driven by JSON files located in `conf/` unless S3 paths are specified.
@@ -100,14 +103,13 @@ Configuration keys:
100
103
101
104
Supporting configs:
102
105
-`access.json` – map: topicName -> array of authorized subjects (JWT `sub`). May reside locally or at S3 path referenced by `access_config`.
103
-
-`topic_*.json` – each file contains a JSON Schema for a topic. In the current code these are explicitly loaded inside `event_gate_lambda.py`. (Future enhancement: auto-discover or index file.)
104
-
-`api.yaml` – OpenAPI spec served verbatim at runtime.
106
+
-`topic_schemas/*.json` – each file contains a JSON Schema for a topic. In the current code these are explicitly loaded inside `event_gate_lambda.py`. (Future enhancement: auto-discover or index file.)
105
107
106
108
Environment variables:
107
109
-`LOG_LEVEL` (optional) – defaults to `INFO`.
108
110
109
111
## Deployment
110
-
Infrastructure-as-Code examples live in the `terraform/` directory. Variables are supplied via a `*.tfvars` file or CLI.
112
+
Infrastructure-as-Code examples are provided in `terraform_examples/`. These are reference implementations that you can adapt to your environment. Variables are supplied via a `*.tfvars` file or CLI.
111
113
112
114
### Zip Lambda Package
113
115
Use when no custom native libraries are needed.
@@ -169,18 +171,14 @@ Publishes events to the configured `event_bus_arn` using put events API.
169
171
### Postgres Writer
170
172
Example writer (currently a placeholder if no DSN present) demonstrating extensibility pattern.
171
173
172
-
## Scripts
173
-
-`scripts/prepare.deplyoment.sh` – build Zip artifact for Lambda (typo in name retained for now; may rename later)
174
-
-`scripts/notebook.ipynb` – exploratory invocation cells per endpoint
0 commit comments