Spaces:
Sleeping
Sleeping
| # Script to help set up GCP permissions and create a new project if needed | |
| set -e | |
| PROJECT_ID=${GCP_PROJECT_ID:-"light-quest-475608-k7"} | |
| echo "🔧 GCP Setup Helper" | |
| echo "==================" | |
| echo "" | |
| echo "Current project: ${PROJECT_ID}" | |
| echo "" | |
| # Option 1: Create a new project | |
| read -p "Create a new project? (y/N): " -n 1 -r | |
| echo | |
| if [[ $REPLY =~ ^[Yy]$ ]]; then | |
| read -p "Enter new project ID (lowercase, hyphens only): " NEW_PROJECT_ID | |
| read -p "Enter project name: " PROJECT_NAME | |
| echo "Creating project..." | |
| gcloud projects create ${NEW_PROJECT_ID} --name="${PROJECT_NAME}" || { | |
| echo "❌ Failed to create project. It may already exist or you don't have permission." | |
| exit 1 | |
| } | |
| echo "Setting as active project..." | |
| gcloud config set project ${NEW_PROJECT_ID} | |
| echo "Enabling billing (you'll need to do this manually)..." | |
| echo "Visit: https://console.cloud.google.com/billing/linkedaccount?project=${NEW_PROJECT_ID}" | |
| read -p "Press Enter after enabling billing..." | |
| PROJECT_ID=${NEW_PROJECT_ID} | |
| fi | |
| # Enable required APIs | |
| echo "" | |
| echo "Enabling required APIs..." | |
| gcloud services enable \ | |
| cloudbuild.googleapis.com \ | |
| run.googleapis.com \ | |
| containerregistry.googleapis.com \ | |
| --project=${PROJECT_ID} || { | |
| echo "⚠️ Failed to enable APIs. You may need:" | |
| echo " 1. Billing enabled: https://console.cloud.google.com/billing?project=${PROJECT_ID}" | |
| echo " 2. Permissions: roles/serviceusage.serviceUsageConsumer" | |
| echo " 3. Owner role on the project" | |
| exit 1 | |
| } | |
| echo "" | |
| echo "✅ Setup complete!" | |
| echo " Project ID: ${PROJECT_ID}" | |
| echo "" | |
| echo "Next steps:" | |
| echo " 1. Set HF_TOKEN secret (if using private models)" | |
| echo " 2. Run: ./deploy-cloud-build.sh" | |
| echo "" | |