#!/bin/bash
set -e

source ./config.sh
echo "Using project: ${PROJECT_ID} in region: ${REGION}"

# Create output bucket
gsutil mb -p ${PROJECT_ID} -l ${REGION} gs://${PROJECT_ID}-claude-outputs || echo "Bucket already exists"

# Check if job exists and create or update accordingly
if gcloud run jobs describe claude-code-jigx --region=${REGION} &>/dev/null; then
  echo "Cloud Run job already exists, updating..."
  gcloud run jobs update claude-code-jigx \
    --image=${REGION}-docker.pkg.dev/${PROJECT_ID}/containers/claude-code-jigx \
    --region=${REGION} \
    --service-account=claude-runner@${PROJECT_ID}.iam.gserviceaccount.com \
    --set-env-vars="BUCKET_NAME=${PROJECT_ID}-claude-outputs" \
    --set-secrets="ANTHROPIC_API_KEY=anthropic-api-key:latest" \
    --memory=4Gi \
    --cpu=2 \
    --task-timeout=900 \
    --max-retries=0 \
    --parallelism=1
else
  echo "Creating new Cloud Run job..."
  gcloud run jobs create claude-code-jigx \
    --image=${REGION}-docker.pkg.dev/${PROJECT_ID}/containers/claude-code-jigx \
    --region=${REGION} \
    --service-account=claude-runner@${PROJECT_ID}.iam.gserviceaccount.com \
    --set-env-vars="BUCKET_NAME=${PROJECT_ID}-claude-outputs" \
    --set-secrets="ANTHROPIC_API_KEY=anthropic-api-key:latest" \
    --memory=4Gi \
    --cpu=2 \
    --task-timeout=900 \
    --max-retries=0 \
    --parallelism=1
fi

echo "Cloud Run job ready!"