Files
cim_summary/setup-secrets.sh
Jon 185c780486
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
🚀 Update to Claude 3.7 latest and fix LLM processing issues
- 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
2025-08-17 17:31:56 -04:00

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."