64 lines
1.3 KiB
Markdown
64 lines
1.3 KiB
Markdown
# Rentall Infrastructure
|
|
|
|
AWS CDK infrastructure for Rentall Lambda functions.
|
|
|
|
## Prerequisites
|
|
|
|
- Node.js 20+
|
|
- AWS CLI configured with appropriate credentials
|
|
- AWS CDK CLI (`npm install -g aws-cdk`)
|
|
|
|
## Setup
|
|
|
|
```bash
|
|
cd infrastructure/cdk
|
|
npm install
|
|
```
|
|
|
|
## Deploy
|
|
|
|
### Staging
|
|
|
|
```bash
|
|
npm run deploy:staging
|
|
```
|
|
|
|
### Production
|
|
|
|
```bash
|
|
npm run deploy:prod
|
|
```
|
|
|
|
## Environment Variables
|
|
|
|
The following environment variables should be set before deployment:
|
|
|
|
- `DATABASE_URL` - PostgreSQL connection string
|
|
- `CDK_DEFAULT_ACCOUNT` - AWS account ID
|
|
- `CDK_DEFAULT_REGION` - AWS region (defaults to us-east-1)
|
|
|
|
## Stacks
|
|
|
|
### ConditionCheckLambdaStack
|
|
|
|
Creates:
|
|
- Lambda function for condition check reminders
|
|
- EventBridge Scheduler group for per-rental schedules
|
|
- IAM roles for Lambda execution and Scheduler invocation
|
|
- Dead letter queue for failed invocations
|
|
|
|
## Outputs
|
|
|
|
After deployment, the following values are exported:
|
|
|
|
- `ConditionCheckLambdaArn-{env}` - Lambda function ARN
|
|
- `ConditionCheckScheduleGroup-{env}` - Schedule group name
|
|
- `ConditionCheckSchedulerRoleArn-{env}` - Scheduler IAM role ARN
|
|
- `ConditionCheckDLQUrl-{env}` - Dead letter queue URL
|
|
|
|
## Useful Commands
|
|
|
|
- `npm run synth` - Synthesize CloudFormation template
|
|
- `npm run diff` - Compare deployed stack with current state
|
|
- `npm run destroy` - Destroy all stacks
|