@clduab11/gemini-flow
Version:
Revolutionary AI agent swarm coordination platform with Google Services integration, multimedia processing, and production-ready monitoring. Features 8 Google AI services, quantum computing capabilities, and enterprise-grade security.
220 lines (209 loc) • 6.46 kB
YAML
apiVersion: v1
kind: Secret
metadata:
name: google-services-api-keys
namespace: gemini-flow
labels:
app.kubernetes.io/name: gemini-flow
app.kubernetes.io/component: security
annotations:
reloader.stakater.com/match: "true"
type: Opaque
stringData:
# Vertex AI and Core Services
vertex-ai-key: "${VERTEX_AI_KEY}"
gemini-api-key: "${GEMINI_API_KEY}"
# Video Generation (Veo3)
veo3-api-key: "${VEO3_API_KEY}"
veo3-project-id: "${GCP_PROJECT_ID}"
veo3-region: "us-central1"
# Image Generation (Imagen4)
imagen4-api-key: "${IMAGEN4_API_KEY}"
imagen4-project-id: "${GCP_PROJECT_ID}"
imagen4-region: "us-central1"
# Music Composition (Lyria)
lyria-api-key: "${LYRIA_API_KEY}"
lyria-project-id: "${GCP_PROJECT_ID}"
lyria-region: "us-central1"
# Audio Processing (Chirp)
chirp-api-key: "${CHIRP_API_KEY}"
chirp-project-id: "${GCP_PROJECT_ID}"
chirp-region: "us-central1"
# Research (Co-Scientist)
co-scientist-api-key: "${CO_SCIENTIST_API_KEY}"
co-scientist-project-id: "${GCP_PROJECT_ID}"
---
apiVersion: v1
kind: Secret
metadata:
name: google-services-config
namespace: gemini-flow
labels:
app.kubernetes.io/name: gemini-flow
app.kubernetes.io/component: security
type: Opaque
stringData:
google-services-config.json: |
{
"services": {
"veo3": {
"enabled": true,
"endpoint": "https://veo3.googleapis.com/v1",
"rateLimits": {
"requestsPerMinute": 60,
"requestsPerDay": 10000
},
"resourceLimits": {
"maxVideoDurationSeconds": 300,
"maxResolution": "4K",
"concurrentJobs": 5
}
},
"imagen4": {
"enabled": true,
"endpoint": "https://imagen4.googleapis.com/v1",
"rateLimits": {
"requestsPerMinute": 120,
"requestsPerDay": 50000
},
"resourceLimits": {
"maxImageSize": "8192x8192",
"maxBatchSize": 10,
"concurrentJobs": 10
}
},
"lyria": {
"enabled": true,
"endpoint": "https://lyria.googleapis.com/v1",
"rateLimits": {
"requestsPerMinute": 30,
"requestsPerDay": 5000
},
"resourceLimits": {
"maxCompositionDurationMinutes": 10,
"maxTracks": 16,
"concurrentJobs": 3
}
},
"chirp": {
"enabled": true,
"endpoint": "https://chirp.googleapis.com/v1",
"rateLimits": {
"requestsPerMinute": 100,
"requestsPerDay": 25000
},
"resourceLimits": {
"maxAudioDurationMinutes": 60,
"maxFileSize": "100MB",
"concurrentJobs": 8
}
},
"coScientist": {
"enabled": true,
"endpoint": "https://co-scientist.googleapis.com/v1",
"rateLimits": {
"requestsPerMinute": 50,
"requestsPerDay": 15000
},
"resourceLimits": {
"maxResearchDepth": 10,
"maxConcurrentQueries": 5
}
}
},
"monitoring": {
"metricsEnabled": true,
"tracingEnabled": true,
"logLevel": "INFO",
"healthCheckInterval": "30s"
},
"security": {
"encryptionInTransit": true,
"encryptionAtRest": true,
"auditLogging": true,
"accessLogging": true
}
}
---
apiVersion: v1
kind: ConfigMap
metadata:
name: google-services-rollout-config
namespace: gemini-flow
labels:
app.kubernetes.io/name: gemini-flow
app.kubernetes.io/component: deployment
data:
rollout-strategy.yaml: |
canaryDeployment:
enabled: true
steps:
- name: "traffic-5-percent"
trafficWeight: 5
duration: "5m"
healthChecks:
- endpoint: "/health/google-services"
expectedStatus: 200
timeout: "30s"
- name: "traffic-10-percent"
trafficWeight: 10
duration: "10m"
validationChecks:
- metric: "veo3_success_rate"
threshold: 0.95
- metric: "imagen4_success_rate"
threshold: 0.95
- name: "traffic-25-percent"
trafficWeight: 25
duration: "15m"
performanceChecks:
- metric: "p95_latency"
threshold: "30s"
- metric: "error_rate"
threshold: 0.01
- name: "traffic-50-percent"
trafficWeight: 50
duration: "20m"
loadTesting:
enabled: true
duration: "10m"
rps: 100
- name: "traffic-100-percent"
trafficWeight: 100
duration: "5m"
finalValidation: true
rollbackTriggers:
- condition: "error_rate > 0.05"
action: "immediate_rollback"
- condition: "p95_latency > 60s"
action: "immediate_rollback"
- condition: "gpu_utilization > 98%"
action: "pause_rollout"
- condition: "memory_usage > 95%"
action: "immediate_rollback"
emergency-procedures.yaml: |
emergencyProcedures:
disableAllGoogleServices:
steps:
- name: "disable-feature-flags"
action: "kubectl patch configmap gemini-flow-config --patch '{\"data\":{\"app.json\":\"features disabled\"}}'"
- name: "scale-down-workers"
action: "kubectl scale deployment gemini-flow-worker --replicas=1"
- name: "drain-queues"
action: "kubectl exec -it deployment/gemini-flow -- npm run drain-queues"
rollbackToLastKnownGood:
steps:
- name: "identify-last-good-version"
action: "kubectl rollout history deployment/gemini-flow"
- name: "rollback"
action: "kubectl rollout undo deployment/gemini-flow"
- name: "wait-for-rollback"
action: "kubectl rollout status deployment/gemini-flow --timeout=300s"
isolateFailingService:
steps:
- name: "identify-service"
action: "check metrics and logs"
- name: "disable-specific-service"
action: "update feature flags via API"
- name: "restart-affected-pods"
action: "kubectl rollout restart deployment/gemini-flow"