This sets up a Postgres DB and Hasura container as a long-running instance that restarts automatically on failure
- Spin up your SQL DB:
gcloud sql instances create "$db_instance" --database-version=POSTGRES_11 --zone="${project_zone}" --tier=db-g1-small --storage-type=SSD --maintenance-window-day=sunday --maintenance-window-hour=00
- Then set up your Hasura instance:
gcloud compute instances create-with-container "$hasura_instance" --container-image="hasura/graphql-engine:latest" --machine-type=e2-micro --container-env-file="./hasura.env" --container-env HASURA_GRAPHQL_ADMIN_SECRET="$hasura_admin_secret",HASURA_GRAPHQL_ACCESS_KEY="$hasura_admin_secret",HASURA_GRAPHQL_DATABASE_URL="postgres://hasurauser:${hasura_db_pw}@${sql_ip}:5432/postgres" --zone="${project_zone}" --container-restart-policy=always --tags="http-server" --address="${hasura_fixed_ext_ip}"
- You will additionally need to patch the SQL DB to allow the console to change firewall rules with: `yes | gcloud sql instances patch "$db_insta