#!/bin/bash

sudo yum install -y jq
sudo yum install -y curl --allowerasing
sudo yum install -y amazon-cloudwatch-agent
sudo yum install -y python3
sudo yum install -y python3-pip
sudo python3 -m uvicorn main:app --host 0.0.0.0 --port 8000
sudo python3 -m pip install --user fastapi uvicorn pymysql sqlalchemy boto3 "passlib[bcrypt]==1.7.4" "bcrypt==4.0.1" "pydantic[email]"

aws s3 cp s3://wsc-iost-1234-bucket/main.py /home/ec2-user/

sudo mkdir -p /var/log/app
sudo chmod 777 /var/log/app
sudo touch /var/log/app/app.log
sudo chmod 777 /var/log/app/app.log

echo '{
    "logs": {
        "logs_collected": {
            "files": {
                "collect_list": [
                    {
                        "file_path": "/var/log/app/app.log",
                        "log_group_name": "/wsc/log",
                        "log_stream_name": "api_{instance_id}",
                        "timezone": "UTC"
                    }
                ]
            }
        }
    }
}' | sudo tee /opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json > /dev/null

cd /home/ec2-user

sudo nohup python3 -m uvicorn main:app --host 0.0.0.0 --port 8000 > /var/log/app/app.log 2>&1 &

sudo systemctl start amazon-cloudwatch-agent
sudo systemctl enable amazon-cloudwatch-agent