edge-config
Edge Configs
Edge configs are JSON files stored in S3 that are polled into server memory at a regular cadence. They let us change server behavior at runtime without deploys -- load shedding, feature rollouts, operational toggles, etc.
Architecture
Each edge config has its own S3 file under the admin/ prefix in the admin S3 bucket (autumn-dev-server / autumn-prod-server). Configs are independent -- a parse error in one does not affect another.
Key files
| File | Purpose |
|---|---|
server/src/internal/misc/edgeConfig/edgeConfigStore.ts |
createEdgeConfigStore<T> factory -- generic S3 read/write, polling, status tracking |
server/src/internal/misc/edgeConfig/edgeConfigRegistry.ts |
Registry -- registerEdgeConfig, startAllEdgeConfigPolling, stopAllEdgeConfigPolling |
server/src/init.ts |
Calls startAllEdgeConfigPolling on boot, stopAllEdgeConfigPolling on shutdown |
server/src/external/aws/s3/adminS3Config.ts |
Bucket/region resolution (dev vs prod) |
Existing configs
More from useautumn/autumn
billing
Debug, edit, and fix billing operations. Covers the V2 action-based architecture (attach, multiAttach, updateSubscription, allocatedInvoice, createWithDefaults, setupPayment). Use when working on billing, subscription, invoicing, or Stripe integration code.
3checkout
Understand, debug, and edit Autumn checkout flows. Covers how attach creates an Autumn checkout, how public checkout routes recompute previews, how confirmation executes billing, and when Autumn checkout vs Stripe checkout vs no checkout is chosen.
3linear-ticket
Refine rough engineering thoughts into structured Linear tickets with GitHub permalinks
3api-versioning
Create and maintain API version changes. Use when adding breaking changes to API responses/requests, creating version change files, transforming data between versions, or handling backward compatibility.
3