Skip to main content

fakecloud_lambda/runtime/
mod.rs

1//! Lambda execution runtime — pluggable backend behind a shared facade.
2//!
3//! [`LambdaRuntime`] owns the warm-pool bookkeeping and the HTTP
4//! invocation path. The actual lifecycle (container/pod create, port
5//! discovery, teardown) is delegated to whatever [`LambdaBackend`] the
6//! facade was constructed with — today that's [`DockerBackend`]; a
7//! Kubernetes backend ships in a follow-up.
8
9pub(crate) mod backend;
10pub(crate) mod docker;
11pub(crate) mod env_rewrite;
12pub(crate) mod facade;
13pub mod k8s;
14
15pub use backend::{BackendHandle, LambdaBackend, RuntimeError, StreamingInvocation, WarmInstance};
16pub use docker::{extract_zip, runtime_to_image, DockerBackend};
17pub use facade::LambdaRuntime;
18pub use k8s::{K8sBackend, K8sBackendError};
19
20/// Backwards-compatible alias used by callers across the workspace
21/// (eventbridge bridge, scheduler, lambda_delivery, reset state, server
22/// main). Keeping the old name lets the trait extraction land without
23/// churn in every consumer.
24pub type ContainerRuntime = LambdaRuntime;