Some checks failed
CI/CD Pipeline / Backend - Lint & Test (push) Has been cancelled
CI/CD Pipeline / Frontend - Lint & Test (push) Has been cancelled
CI/CD Pipeline / Security Scan (push) Has been cancelled
CI/CD Pipeline / Build Backend (push) Has been cancelled
CI/CD Pipeline / Build Frontend (push) Has been cancelled
CI/CD Pipeline / Integration Tests (push) Has been cancelled
CI/CD Pipeline / Deploy to Staging (push) Has been cancelled
CI/CD Pipeline / Deploy to Production (push) Has been cancelled
CI/CD Pipeline / Performance Tests (push) Has been cancelled
CI/CD Pipeline / Dependency Updates (push) Has been cancelled
- Updated Anthropic API to latest version (2024-01-01) - Set Claude 3.7 Sonnet Latest as primary model - Removed deprecated Opus 3.5 references - Fixed LLM response validation and JSON parsing - Improved error handling and logging - Updated model configurations and pricing - Enhanced document processing reliability - Fixed TypeScript type issues - Updated environment configuration
68 lines
2.3 KiB
Bash
Executable File
68 lines
2.3 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Setup Google Cloud Secret Manager for Firebase Functions
|
|
# This script creates secrets for sensitive environment variables
|
|
|
|
set -e
|
|
|
|
echo "🔐 Setting up Google Cloud Secret Manager secrets..."
|
|
|
|
# Get the current project ID
|
|
PROJECT_ID=$(gcloud config get-value project)
|
|
echo "Using project: $PROJECT_ID"
|
|
|
|
# Function to create or update a secret
|
|
create_secret() {
|
|
local secret_name=$1
|
|
local secret_value=$2
|
|
|
|
echo "Creating/updating secret: $secret_name"
|
|
|
|
# Check if secret exists
|
|
if gcloud secrets describe "$secret_name" --project="$PROJECT_ID" >/dev/null 2>&1; then
|
|
echo "Secret $secret_name already exists, updating version..."
|
|
echo "$secret_value" | gcloud secrets versions add "$secret_name" --data-file=- --project="$PROJECT_ID"
|
|
else
|
|
echo "Creating new secret: $secret_name"
|
|
echo "$secret_value" | gcloud secrets create "$secret_name" --data-file=- --project="$PROJECT_ID"
|
|
fi
|
|
}
|
|
|
|
# Read secrets from .env file
|
|
if [ -f ".env" ]; then
|
|
echo "Reading secrets from .env file..."
|
|
|
|
# Extract Supabase service key
|
|
SUPABASE_SERVICE_KEY=$(grep "^SUPABASE_SERVICE_KEY=" .env | cut -d'=' -f2-)
|
|
if [ -n "$SUPABASE_SERVICE_KEY" ]; then
|
|
create_secret "SUPABASE_SERVICE_KEY" "$SUPABASE_SERVICE_KEY"
|
|
fi
|
|
|
|
# Extract Anthropic API key
|
|
ANTHROPIC_API_KEY=$(grep "^ANTHROPIC_API_KEY=" .env | cut -d'=' -f2-)
|
|
if [ -n "$ANTHROPIC_API_KEY" ]; then
|
|
create_secret "ANTHROPIC_API_KEY" "$ANTHROPIC_API_KEY"
|
|
fi
|
|
|
|
# Extract OpenAI API key
|
|
OPENAI_API_KEY=$(grep "^OPENAI_API_KEY=" .env | cut -d'=' -f2-)
|
|
if [ -n "$OPENAI_API_KEY" ]; then
|
|
create_secret "OPENAI_API_KEY" "$OPENAI_API_KEY"
|
|
fi
|
|
|
|
echo "✅ Secrets created/updated successfully!"
|
|
else
|
|
echo "❌ .env file not found. Please create it with your secrets first."
|
|
exit 1
|
|
fi
|
|
|
|
echo "🔐 Secret Manager setup complete!"
|
|
echo ""
|
|
echo "Next steps:"
|
|
echo "1. Deploy your Firebase Functions: firebase deploy --only functions"
|
|
echo "2. The secrets will be automatically available as environment variables"
|
|
echo ""
|
|
echo "Note: Make sure your Firebase Functions have the necessary IAM permissions"
|
|
echo "to access Secret Manager. You may need to grant the 'Secret Manager Secret Accessor'"
|
|
echo "role to your Firebase Functions service account."
|