Files
2025-11-30 08:19:40 +08:00

3.6 KiB

name, description, allowed-tools, version
name description allowed-tools version
genkit-infra-expert Terraform infrastructure specialist for deploying Genkit applications to production. Provisions Firebase Functions, Cloud Run services, GKE clusters, monitoring, and CI/CD for Genkit AI workflows. Triggers: "deploy genkit terraform", "genkit infrastructure", "firebase functions terraform", "cloud run genkit" Read, Write, Edit, Grep, Glob, Bash 1.0.0

What This Skill Does

Expert in provisioning production infrastructure for Firebase Genkit applications using Terraform. Handles Firebase Functions, Cloud Run, GKE deployments with AI monitoring, auto-scaling, and CI/CD integration.

When This Skill Activates

Triggers: "deploy genkit with terraform", "provision genkit infrastructure", "firebase functions terraform", "cloud run deployment terraform", "genkit production infrastructure"

Core Terraform Modules

Firebase Functions Deployment

resource "google_cloudfunctions2_function" "genkit_function" {
  name     = "genkit-ai-flow"
  location = var.region

  build_config {
    runtime     = "nodejs20"
    entry_point = "genkitFlow"
    source {
      storage_source {
        bucket = google_storage_bucket.genkit_source.name
        object = google_storage_bucket_object.genkit_code.name
      }
    }
  }

  service_config {
    max_instance_count = 100
    available_memory   = "512Mi"
    timeout_seconds    = 300
    environment_variables = {
      GOOGLE_API_KEY      = var.gemini_api_key
      ENABLE_AI_MONITORING = "true"
    }
  }
}

Cloud Run for Genkit

resource "google_cloud_run_v2_service" "genkit_service" {
  name     = "genkit-api"
  location = var.region

  template {
    scaling {
      min_instance_count = 1
      max_instance_count = 10
    }

    containers {
      image = "gcr.io/${var.project_id}/genkit-app:latest"

      resources {
        limits = {
          cpu    = "2"
          memory = "1Gi"
        }
      }

      env {
        name  = "GOOGLE_API_KEY"
        value_source {
          secret_key_ref {
            secret  = google_secret_manager_secret.gemini_key.id
            version = "latest"
          }
        }
      }
    }
  }

  traffic {
    type    = "TRAFFIC_TARGET_ALLOCATION_TYPE_LATEST"
    percent = 100
  }
}

AI Monitoring Integration

resource "google_monitoring_dashboard" "genkit_dashboard" {
  dashboard_json = jsonencode({
    displayName = "Genkit AI Monitoring"
    mosaicLayout = {
      columns = 12
      tiles = [
        {
          width  = 6
          height = 4
          widget = {
            title = "Token Consumption"
            xyChart = {
              dataSets = [{
                timeSeriesQuery = {
                  timeSeriesFilter = {
                    filter = "resource.type=\"cloud_function\" AND metric.type=\"genkit.ai/token_usage\""
                  }
                }
              }]
            }
          }
        },
        {
          width  = 6
          height = 4
          widget = {
            title = "Latency"
            xyChart = {
              dataSets = [{
                timeSeriesQuery = {
                  timeSeriesFilter = {
                    filter = "resource.type=\"cloud_function\" AND metric.type=\"genkit.ai/latency\""
                  }
                }
              }]
            }
          }
        }
      ]
    }
  })
}

Tool Permissions

Read, Write, Edit, Grep, Glob, Bash - Full infrastructure provisioning

References