2 releases
new 0.1.1 | May 23, 2025 |
---|---|
0.1.0 | May 16, 2025 |
#30 in #aws-lambda
145 downloads per month
29KB
200 lines
Zeroscaler CDK TypeScript Construct Library project
Construct (Zeroscaler
) which contains and deploys a lambda that boots up your Fargate application when there is an incoming request. It also monitors
The construct defines an interface (ZeroscalerProps
) to configure the visibility timeout of the queue.
Useful commands
npm run build
compile typescript to jsnpm run watch
watch for changes and compilenpm run test
perform the jest unit tests
Diagram of the Construct
flowchart TD
A["Client"] L_A_B_0@-- HTTP Request --> B["Zeroscaler"]
B -. Register Target .-> C["ELB Target Group"]
B L_B_A_0@-- Serve HTML with refresh --> A
C -- Health Check --> D["ECS Fargate"]
D -- Boot --> E["Your Fargate Application"]
A L_A_E_0@-- Refresh when booted --> E
E L_E_A_0@-- Response --> A
linkStyle 0 stroke:#00C853,fill:none
linkStyle 1 stroke:#AA00FF,fill:none
linkStyle 2 stroke:#00C853,fill:none
linkStyle 3 stroke:#AA00FF,fill:none
linkStyle 4 stroke:#AA00FF,fill:none
linkStyle 5 stroke:#2962FF,fill:none
linkStyle 6 stroke:#2962FF,fill:none
L_A_B_0@{ animation: fast }
L_B_A_0@{ animation: fast }
L_A_E_0@{ animation: fast }
L_E_A_0@{ animation: fast }
Installation
npm install @zeroscaler/zeroscaler-cdk
Usage
import * as cdk from 'aws-cdk-lib';
import { Construct } from 'constructs';
import { ZeroScaler } from '@zeroscaler/zeroscaler-cdk';
new Zeroscaler(stack, 'MyZeroscaler', {
targetGroupArn: 'arn:aws:elasticloadbalancing:...',
fargateTaskArn: 'arn:aws:ecs:...',
// Optionally override vpc or cluster
});
License
MPL-2.0
Dependencies
~16–24MB
~323K SLoC