-
Notifications
You must be signed in to change notification settings - Fork 159
feat: add Lambda SnapStart support #831
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
bnusunny
wants to merge
68
commits into
main
Choose a base branch
from
snapstart-support
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from 65 commits
Commits
Show all changes
68 commits
Select commit
Hold shift + click to select a range
52a8088
chore: point lambda_http at SnapStart-enabled runtime branch
bnusunny 4fe79f4
feat: add SnapStart hook-path environment variables
bnusunny d273379
test: merge SnapStart env-var tests to avoid parallel race
bnusunny 4b24649
refactor: extract build_client() and drop SnapStart pool special-case
bnusunny 907ca76
feat: add swappable restored_client with write-once OnceLock
bnusunny 20e316d
refactor: return BoxBody<Bytes, Error> from fetch_response
bnusunny 5d2792d
feat: reject external requests to SnapStart hook paths with 403
bnusunny e600092
feat: add SnapStartHooks bridging restore lifecycle to inner app
bnusunny c7eddf4
feat: register SnapStart resource in adapter run loop
bnusunny 637e744
docs: document SnapStart hook environment variables
bnusunny acea58f
docs(guide): add SnapStart feature page and env vars
bnusunny 2883c29
docs: add fastapi-snapstart-zip example
bnusunny f8efd16
docs: link fastapi-snapstart example from README
bnusunny e65b8ea
docs: drop /lwa prefix from SnapStart example hook paths
bnusunny 8255b57
refactor: extract register_and_run helper to dedup run() arms
bnusunny 1d6b488
feat: add 60s timeout to SnapStart inner-app hooks
bnusunny 464390a
feat: re-run readiness check after SnapStart restore
bnusunny 07fabdd
docs: add fastapi-snapstart (OCI) example
bnusunny a1b49c5
refactor: move SnapStart hook env vars to SAM template in OCI example
bnusunny bcfba60
chore: point OCI example at 1.1.0 SnapStart-enabled adapter image
bnusunny 1aa3939
chore: use public ECR adapter image in OCI SnapStart example
bnusunny c27e419
docs: correct after-restore step ordering in OCI example README
bnusunny 59ca48b
docs: correct after-restore step ordering in zip example README
bnusunny 5968828
docs: fix incorrect AWS_LAMBDA_INITIALIZATION_TYPE claim in snapstart…
bnusunny ddda3be
chore: use released lambda_http 1.3.0 with SnapStart support
bnusunny 534824f
docs: add SnapStart to README features list
bnusunny 592bb5a
fix: reseed RNG in after-restore hook so restored envs get unique ids
bnusunny 2135560
Merge branch 'main' into snapstart-support
bnusunny 5ecfb7b
fix(snapstart): strict fail-closed hook-path guard + segment-aware ba…
bnusunny 4ce84bb
fix(snapstart): address bot review on hook guard + base-path strip
bnusunny a0900d3
fix(snapstart): address bot round-2 on hook guard edge cases
bnusunny 5ee28f2
docs(snapstart): re-export Bytes/BoxBody and note the Service::Respon…
bnusunny 3623ee1
fix(snapstart): decode hook path a single pass to match the app router
bnusunny e42f98b
fix(snapstart): guard the outbound app_url path, not the raw event path
bnusunny cb9001c
docs(changelog): note the base-path strip behavior change
bnusunny 0c790e4
fix(snapstart): treat an undecidable request path as not-the-hook
bnusunny c39bd8c
docs: remove launched SnapStart-OCI availability note; bump zip examp…
bnusunny aeec08d
feat: make inner-app connection pool idle timeout configurable via AW…
bnusunny 2504a11
refactor: move pool_idle_timeout into AdapterOptions and thread it th…
bnusunny 6368cc5
feat: add configurable readiness-check timeout (AWS_LWA_READINESS_CHE…
bnusunny 310e1bf
feat: accept fractional seconds for AWS_LWA_READINESS_CHECK_TIMEOUT_S…
bnusunny caf54a9
docs: correct stale 10s readiness bound to configurable/unbounded-by-…
bnusunny 76f17ba
docs: correct remaining stale 10s readiness bounds in README and exam…
bnusunny cfcc875
feat: fail initialization when a configured sync-init readiness timeo…
bnusunny 32a02b9
fix: normalize configured hook path via set_path so guard protects th…
bnusunny 6378296
fix: treat a hook path that canonicalizes to root as no-hook; documen…
bnusunny 9218bf3
fix: strip matrix/path parameters in hook-path canonicalization
bnusunny dd40ad7
fix: restore TracingLayer on concurrent runtime path; warn on rejecte…
bnusunny 726d37d
feat: mark AdapterOptions #[non_exhaustive]; warn on <=0 readiness ti…
bnusunny 30006a1
fix: restore pool_max_idle_per_host(0) on base client under snap-start
bnusunny 0a3a232
chore: mark crate publish = false (binary-only; no published library …
bnusunny b2fb939
docs: correct Adapter::new rustdoc for configurable idle timeout and …
bnusunny 8004456
chore: frame publish=false as a deliberate stop-publishing policy; dr…
bnusunny 1c181e0
docs: scope hook-path 403 protection to the Lambda invocation path; d…
bnusunny 7e30ce2
docs: correct 'fail closed' guard comments to match pass-through beha…
bnusunny 2098a21
fix: block hook paths with encoded control bytes (e.g. /snapstart/aft…
bnusunny 9434eaa
docs: trim CHANGELOG to net release-visible changes
bnusunny ca56fd9
fix(snapstart): reject unguardable hook paths instead of degrading th…
bnusunny d6f802c
fix(snapstart): reject a hook path that collapses to the app root
bnusunny be50614
fix(snapstart): make AWS_LWA_POOL_IDLE_TIMEOUT_SECONDS effective unde…
bnusunny 02ddf85
fix(snapstart): close the empty-hook-path divergence; drop dead readi…
bnusunny 81fadbd
fix(snapstart): disable the pre-snapshot pool instead of zero-expirin…
bnusunny de0ea31
fix(snapstart): reject hook paths colliding with the pass-through pat…
bnusunny f6679db
fix(snapstart): don't fail init on an unguardable pass-through path
bnusunny 928bc8c
fix(snapstart): adopt the published client when after_restore runs twice
bnusunny db37e17
fix(snapstart): disable idle pooling on the Lambda Runtime API client
bnusunny 02acbd5
docs(snapstart): record why the two pooling sites deliberately disagree
bnusunny 37e5f2f
docs: add the non-Lambda hook-exposure caveat to the README
bnusunny File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.