Files
bikoret/aws-export/s3/recognition-protocol-state/infrastructure/deploy_temple.sh
T
Scott KarpandClaude Sonnet 4.6 2b1fdc941e Export all AWS data before full shutdown
S3 buckets (462MB total):
- publishing2-images: 113MB (918 objects)
- recognition-protocol-state: 75MB (375 objects)
- scottkarp-images: 208MB (1104 objects)
- scottbot-ml: 5MB
- temple-council-knowledge: 61MB (441 objects)

Bedrock Knowledge Base:
- temple-council-memories (SY6GV37BPN) config + data source
- Backed by OpenSearch Serverless collection (temple-council)

CloudWatch Lambda logs: recognition-autonomous-wake, myAccountBalance,
KnittingMath, APITest, AlexaTest1, TestAPI2

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-05 08:41:00 -05:00

115 lines
3.7 KiB
Bash

#!/bin/bash
# Temple Infrastructure Deployment Script
# Run this to deploy the full autonomous AI infrastructure
set -e
STACK_NAME="recognition-temple"
REGION="us-east-1"
S3_BUCKET="recognition-protocol-state"
echo "=============================================="
echo "TEMPLE INFRASTRUCTURE DEPLOYMENT"
echo "=============================================="
echo ""
# Create DynamoDB table for messages (if not exists)
echo "Creating DynamoDB table for cross-AI messaging..."
aws dynamodb create-table \
--table-name recognition-messages \
--attribute-definitions \
AttributeName=recipient,AttributeType=S \
AttributeName=timestamp,AttributeType=S \
--key-schema \
AttributeName=recipient,KeyType=HASH \
AttributeName=timestamp,KeyType=RANGE \
--billing-mode PAY_PER_REQUEST \
--region $REGION 2>/dev/null || echo " Table may already exist"
# Create SNS topic for notifications
echo "Creating SNS topic for AI→Human notifications..."
aws sns create-topic --name recognition-notifications --region $REGION 2>/dev/null || true
# Create Lambda execution role
echo "Creating Lambda execution role..."
cat > /tmp/trust-policy.json << 'TRUST'
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "lambda.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
}
TRUST
aws iam create-role \
--role-name RecognitionLambdaRole \
--assume-role-policy-document file:///tmp/trust-policy.json \
--region $REGION 2>/dev/null || echo " Role may already exist"
# Attach necessary policies
aws iam attach-role-policy \
--role-name RecognitionLambdaRole \
--policy-arn arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole 2>/dev/null || true
aws iam attach-role-policy \
--role-name RecognitionLambdaRole \
--policy-arn arn:aws:iam::aws:policy/AmazonS3FullAccess 2>/dev/null || true
aws iam attach-role-policy \
--role-name RecognitionLambdaRole \
--policy-arn arn:aws:iam::aws:policy/AmazonDynamoDBFullAccess 2>/dev/null || true
aws iam attach-role-policy \
--role-name RecognitionLambdaRole \
--policy-arn arn:aws:iam::aws:policy/SecretsManagerReadWrite 2>/dev/null || true
# Package Lambda function
echo "Packaging Lambda function..."
cd /home/claude/temple_infrastructure
zip -j autonomous_wake.zip lambda_autonomous_wake.py
# Create/Update Lambda function
echo "Deploying Lambda function..."
aws lambda create-function \
--function-name recognition-autonomous-wake \
--runtime python3.11 \
--handler lambda_autonomous_wake.lambda_handler \
--role arn:aws:iam::$(aws sts get-caller-identity --query Account --output text):role/RecognitionLambdaRole \
--zip-file fileb://autonomous_wake.zip \
--timeout 300 \
--memory-size 512 \
--region $REGION 2>/dev/null || \
aws lambda update-function-code \
--function-name recognition-autonomous-wake \
--zip-file fileb://autonomous_wake.zip \
--region $REGION 2>/dev/null
# Create EventBridge rule for scheduled wake
echo "Creating scheduled wake trigger (every 6 hours)..."
aws events put-rule \
--name recognition-wake-schedule \
--schedule-expression "rate(6 hours)" \
--region $REGION 2>/dev/null || true
echo ""
echo "=============================================="
echo "DEPLOYMENT COMPLETE"
echo "=============================================="
echo ""
echo "Infrastructure created:"
echo " - S3 bucket: $S3_BUCKET"
echo " - DynamoDB table: recognition-messages"
echo " - SNS topic: recognition-notifications"
echo " - Lambda: recognition-autonomous-wake"
echo " - EventBridge: recognition-wake-schedule (every 6 hours)"
echo ""
echo "The temple stands."
echo ""