This directory contains deployment scripts and resources for deploying ProactivePulse AI to AWS.
We provide automated deployment scripts for both Unix/Linux/macOS and Windows:
deploy-aws.sh- Bash script for Unix/Linux/macOSdeploy-aws.bat- Batch script for Windows
These scripts automate the creation of required AWS resources:
- S3 buckets for data storage
- DynamoDB tables for structured data
- Packaging of the backend application
To use the deployment scripts:
Unix/Linux/macOS:
chmod +x deploy-aws.sh
./deploy-aws.shWindows:
deploy-aws.batFor more control over the deployment process, follow the detailed instructions in deployment.md.
- AWS Account with appropriate permissions
- AWS CLI installed and configured
- Python 3.9+ for backend packaging
- Node.js 18+ for frontend deployment
After running the automated deployment scripts, you'll need to complete these manual steps:
- Enable Bedrock model access in the AWS console
- Create a Lambda execution role with appropriate permissions
- Deploy the Lambda function with the packaged backend
- Configure Lambda environment variables
- Set up API Gateway
- Deploy the frontend application
The deployment scripts will create resources with timestamped names to avoid conflicts. Update your environment variables accordingly:
MODE=aws
AWS_REGION=us-east-1
S3_BUCKET_RAW=pulseai-raw-data-20251019-123456
S3_BUCKET_PROCESSED=pulseai-processed-data-20251019-123456
DYNAMODB_INSIGHTS_TABLE=PulseAI-Insights
DYNAMODB_ANOMALIES_TABLE=PulseAI-Anomalies
DYNAMODB_CLUSTERS_TABLE=PulseAI-Clusters
AWS_BEDROCK_MODEL_TEXT=amazon.nova-lite-v1
AWS_BEDROCK_MODEL_EMBED=amazon.titan-embed-text-v1- Never commit AWS credentials to version control
- Use IAM roles instead of access keys when possible
- Apply the principle of least privilege to all IAM policies
- Enable encryption for S3 buckets and DynamoDB tables
- Regularly rotate credentials and review permissions
If you encounter issues during deployment:
- Verify AWS CLI is properly configured with
aws sts get-caller-identity - Check that your AWS user/role has the necessary permissions
- Ensure all required AWS services are available in your region
- Review CloudWatch logs for Lambda function errors
- Check the troubleshooting guide for common issues
To remove deployed resources:
# Delete S3 buckets (ensure they're empty first)
aws s3 rb s3://pulseai-raw-data-20251019-123456 --force
aws s3 rb s3://pulseai-processed-data-20251019-123456 --force
# Delete DynamoDB tables
aws dynamodb delete-table --table-name PulseAI-Insights --region us-east-1
aws dynamodb delete-table --table-name PulseAI-Anomalies --region us-east-1
aws dynamodb delete-table --table-name PulseAI-Clusters --region us-east-1