43 lines
1.8 KiB
Bash
43 lines
1.8 KiB
Bash
#!/usr/bin/env bash
|
|
# One-pass-ish deploy. Assumes aws-cli is configured (creds + region) and docker,
|
|
# terraform, and the AgentCore CLI are installed. Review before running.
|
|
set -euo pipefail
|
|
cd "$(dirname "$0")/.."
|
|
|
|
REGION="${REGION:-us-east-1}"
|
|
ACCOUNT="$(aws sts get-caller-identity --query Account --output text)"
|
|
ECR="${ACCOUNT}.dkr.ecr.${REGION}.amazonaws.com"
|
|
|
|
echo "==> Step 1: core infra (DynamoDB + RAG Lambda + IAM)"
|
|
terraform -chdir=terraform init
|
|
terraform -chdir=terraform apply -target=aws_lambda_function.rag -auto-approve
|
|
|
|
echo "==> Step 2: build + push the Presidio detector image"
|
|
aws ecr describe-repositories --repository-names hncb-presidio --region "$REGION" >/dev/null 2>&1 \
|
|
|| aws ecr create-repository --repository-name hncb-presidio --region "$REGION" >/dev/null
|
|
aws ecr get-login-password --region "$REGION" | docker login --username AWS --password-stdin "$ECR"
|
|
docker build -t "$ECR/hncb-presidio:latest" ./presidio
|
|
docker push "$ECR/hncb-presidio:latest"
|
|
|
|
echo "==> Step 3: full apply (ECS services for Fusion + Presidio)"
|
|
echo " Make sure fusion_image_uri is set (you supply the Axway image)."
|
|
terraform -chdir=terraform apply \
|
|
-var "presidio_image_uri=$ECR/hncb-presidio:latest" \
|
|
-auto-approve
|
|
|
|
echo "==> Step 4: seed data"
|
|
export CUSTOMERS_TABLE="$(terraform -chdir=terraform output -raw customers_table)"
|
|
export VAULT_TABLE="$(terraform -chdir=terraform output -raw vault_table)"
|
|
python seed/seed.py --with-demo-token
|
|
|
|
echo "==> Step 5: AgentCore (Gateway + Runtime)"
|
|
export RAG_LAMBDA_ARN="$(terraform -chdir=terraform output -raw rag_lambda_arn)"
|
|
export REGION
|
|
bash scripts/agentcore_setup.sh
|
|
|
|
echo ""
|
|
echo "Remaining manual steps:"
|
|
echo " - Configure Fusion ingress/egress policy -> fusion/POLICY_SETUP.md"
|
|
echo " - Point ui/index.html GATEWAY_URL at the Fusion host, then host it (S3/CloudFront or local)"
|
|
echo "Done."
|