Setup GCP: APIs, IAM y Secret Manager
Prerrequisitos
Sección titulada «Prerrequisitos»- Google Cloud CLI (
gcloud) instalado y actualizado - uv — package manager de Python (usado en los Dockerfiles)
- Cuenta GCP con billing habilitado
- Gemini API Key — obténla gratis en aistudio.google.com
1. Autenticación
Sección titulada «1. Autenticación»Inicia sesión con tu cuenta de Google Cloud:
gcloud auth loginLista tus proyectos disponibles:
gcloud projects listSelecciona el proyecto donde vas a deployar:
gcloud config set project TU_PROJECT_IDVerifica que quedó configurado:
gcloud config get-value project2. Habilitar APIs
Sección titulada «2. Habilitar APIs»El deploy necesita 4 APIs activas. Habilítalas con un solo comando:
gcloud services enable \ run.googleapis.com \ cloudbuild.googleapis.com \ artifactregistry.googleapis.com \ secretmanager.googleapis.com3. Project ID y Project Number
Sección titulada «3. Project ID y Project Number»Son dos valores distintos que vas a necesitar:
- Project ID — string alfanumérico que identifica tu proyecto (ej:
mi-proyecto-adk) - Project Number — número que identifica service accounts internos (ej:
123456789012)
Obtén ambos y guárdalos en variables:
PROJECT_ID=$(gcloud config get-value project)PROJECT_NUMBER=$(gcloud projects describe $PROJECT_ID --format='value(projectNumber)')
echo "Project ID: $PROJECT_ID"echo "Project Number: $PROJECT_NUMBER"4. Permisos del service account
Sección titulada «4. Permisos del service account»Cloud Build usa un service account automático: {PROJECT_NUMBER}-compute@developer.gserviceaccount.com. Necesita dos permisos adicionales para construir y subir imágenes.
Permiso para acceder al storage (imágenes de contenedores):
gcloud projects add-iam-policy-binding $PROJECT_ID \ --member="serviceAccount:${PROJECT_NUMBER}-compute@developer.gserviceaccount.com" \ --role="roles/storage.objectAdmin"Permiso para ejecutar builds:
gcloud projects add-iam-policy-binding $PROJECT_ID \ --member="serviceAccount:${PROJECT_NUMBER}-compute@developer.gserviceaccount.com" \ --role="roles/cloudbuild.builds.builder"5. Gemini API Key en Secret Manager
Sección titulada «5. Gemini API Key en Secret Manager»Crea el secret con tu API key:
echo -n "TU_GEMINI_API_KEY" | gcloud secrets create GEMINI_API_KEY \ --replication-policy="automatic" \ --data-file=-Otorga acceso al service account de Cloud Run:
gcloud secrets add-iam-policy-binding GEMINI_API_KEY \ --member="serviceAccount:${PROJECT_NUMBER}-compute@developer.gserviceaccount.com" \ --role="roles/secretmanager.secretAccessor"Siguiente paso: Deploy — 7 servicios en Cloud Run →