Roadmap
The library is Lambda-first by design (ADR 0001). Items below are either planned or explicitly deferred, with the reasoning so contributors know where a pull request will land.
Shipping in 1.x
- Streaming:
PlatformStream(Kinesis Data Streams) andPlatformDeliveryStream(Firehose to S3) shipped in 1.0; enhanced fan-out consumers and Firehose transformations to follow. PlatformPythonFunction: Python handlers packaged with the CDK Python bundling image, sharing the same alarms, logging and naming asPlatformFunction. Shipped in 1.0 without a Python runtime package; the JSON log format andPLATFORM_*environment variables are documented for hand-rolled helpers.- Runtime helpers for Step Functions task tokens and Scheduler payloads.
- CLI
addsub-command to add a variant to an existing service instead of only at creation time. - Preview sweeper workflow that destroys previews older than a configurable age when PR close events were missed.
- Generated dashboards per service published to a
docs-style landing page in CloudWatch.
Deferred
Containers (ECS / App Runner / EKS)
Not planned for the core library. The naming, SSM and preview model are all compute-agnostic, so an @rpallas/outcrop-containers package could exist, but the reusable workflows, cost model (per-preview stacks that idle at zero cost) and alarm set are all built around Lambda. Services that outgrow Lambda should move to a dedicated ECS platform rather than force the preview model onto long-running tasks. Lambda container images (DockerImageFunction) are a supported middle ground and can be added to PlatformFunction without changing the model.
Relational databases on AWS (RDS / Aurora)
Deferred in favour of Neon branches per preview (@rpallas/outcrop-neon). Aurora Serverless v2 previews take 10+ minutes to create and cost money while idle, which breaks the "a preview per PR" promise. Aurora for prod only is a reasonable extension once the Neon integration has stabilised.
Multi-region
The baseline is single-region per environment with us-east-1 for edge certificates. Active-active multi-region deployments need global tables, Route 53 health checks and per-region SSM contracts; the parameter paths already carry no region, so it is possible, but not planned until there is a concrete adopter.
Other observability vendors
CloudWatch alarms, dashboards and logs are the only supported model. Forwarding is a per-adopter concern (Kinesis Firehose subscription filters are easy to add with PlatformDeliveryStream).
Versioning
Packages release together as a fixed group through changesets. Breaking changes to the SSM contract or the preview model require a major version and an ADR; the reusable workflows keep a floating v1 tag that is moved on every 1.x release.