cleanup
This commit is contained in:
parent
efe4445639
commit
107ade464d
@ -1,49 +0,0 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
Debug script to test API key hashing with deployment configuration
|
||||
"""
|
||||
|
||||
import os
|
||||
import sys
|
||||
import hmac
|
||||
import hashlib
|
||||
|
||||
def hash_api_key_manual(api_key: str, secret: str) -> str:
|
||||
"""
|
||||
Manual implementation of API key hashing to test
|
||||
"""
|
||||
return hmac.new(
|
||||
secret.encode(),
|
||||
api_key.encode(),
|
||||
hashlib.sha256
|
||||
).hexdigest()
|
||||
|
||||
def test_api_key_hashing():
|
||||
"""Test API key hashing with different secrets"""
|
||||
|
||||
# The new API key from your seeding output
|
||||
test_api_key = "uZBVUEku.7332d85bf6cf2618ad76bca46c2f8125"
|
||||
|
||||
# Test with different possible secrets
|
||||
secrets_to_test = [
|
||||
"super-secret-key-for-development-only", # Default from config.py
|
||||
"development-secret-key-do-not-use-in-production", # Your .env value
|
||||
]
|
||||
|
||||
print("API Key Hashing Debug")
|
||||
print("=" * 60)
|
||||
print(f"Test API Key: {test_api_key}")
|
||||
print()
|
||||
|
||||
for secret in secrets_to_test:
|
||||
hashed_key = hash_api_key_manual(test_api_key, secret)
|
||||
print(f"Secret: {secret}")
|
||||
print(f"Hash: {hashed_key}")
|
||||
print("-" * 60)
|
||||
|
||||
print()
|
||||
print("The deployment should be using one of these hashes in the database.")
|
||||
print("Check your Cloud Run environment variables to confirm which secret is being used.")
|
||||
|
||||
if __name__ == "__main__":
|
||||
test_api_key_hashing()
|
||||
@ -1,58 +0,0 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
Debug script to test VectorDatabaseService initialization
|
||||
"""
|
||||
|
||||
import os
|
||||
import sys
|
||||
from dotenv import load_dotenv
|
||||
|
||||
# Load environment variables
|
||||
load_dotenv()
|
||||
|
||||
print("Environment variables:")
|
||||
print(f"QDRANT_HOST: {os.getenv('QDRANT_HOST')}")
|
||||
print(f"QDRANT_PORT: {os.getenv('QDRANT_PORT')}")
|
||||
print(f"QDRANT_HTTPS: {os.getenv('QDRANT_HTTPS')}")
|
||||
print(f"QDRANT_PREFER_GRPC: {os.getenv('QDRANT_PREFER_GRPC')}")
|
||||
|
||||
# Import and check settings
|
||||
from src.config.config import settings
|
||||
|
||||
print("\nSettings values:")
|
||||
print(f"settings.QDRANT_HOST: {settings.QDRANT_HOST}")
|
||||
print(f"settings.QDRANT_PORT: {settings.QDRANT_PORT}")
|
||||
print(f"settings.QDRANT_HTTPS: {settings.QDRANT_HTTPS}")
|
||||
print(f"settings.QDRANT_PREFER_GRPC: {settings.QDRANT_PREFER_GRPC}")
|
||||
|
||||
# Test VectorDatabaseService initialization step by step
|
||||
print("\nTesting VectorDatabaseService initialization step by step...")
|
||||
try:
|
||||
from qdrant_client import QdrantClient
|
||||
|
||||
# Test direct QdrantClient creation
|
||||
print("Creating QdrantClient directly...")
|
||||
client = QdrantClient(
|
||||
host=settings.QDRANT_HOST,
|
||||
port=settings.QDRANT_PORT,
|
||||
api_key=settings.QDRANT_API_KEY,
|
||||
prefer_grpc=settings.QDRANT_PREFER_GRPC,
|
||||
https=settings.QDRANT_HTTPS
|
||||
)
|
||||
print("QdrantClient created successfully")
|
||||
|
||||
# Test get_collections (this is what fails in _ensure_collection_exists)
|
||||
print("Testing get_collections...")
|
||||
collections = client.get_collections()
|
||||
print(f"Collections retrieved: {[col.name for col in collections.collections]}")
|
||||
|
||||
# Now test full VectorDatabaseService
|
||||
print("\nTesting full VectorDatabaseService...")
|
||||
from src.services.vector_db import VectorDatabaseService
|
||||
vector_db = VectorDatabaseService()
|
||||
print("VectorDatabaseService created successfully")
|
||||
|
||||
except Exception as e:
|
||||
print(f"Error: {e}")
|
||||
import traceback
|
||||
traceback.print_exc()
|
||||
@ -1,167 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Setup Local Environment Script
|
||||
# This script extracts configuration from terraform and sets up local development
|
||||
|
||||
set -e
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
|
||||
TERRAFORM_DIR="$PROJECT_ROOT/deployment/terraform"
|
||||
|
||||
echo "Setting up local development environment..."
|
||||
|
||||
# Check if terraform directory exists
|
||||
if [ ! -d "$TERRAFORM_DIR" ]; then
|
||||
echo "Error: Terraform directory not found at $TERRAFORM_DIR"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Change to terraform directory
|
||||
cd "$TERRAFORM_DIR"
|
||||
|
||||
# Check if terraform state exists
|
||||
if [ ! -f "terraform.tfstate" ]; then
|
||||
echo "Error: Terraform state not found. Please run 'terraform apply' first."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Extracting configuration from terraform..."
|
||||
|
||||
# Get terraform outputs
|
||||
QDRANT_HOST=$(terraform output -raw vector_db_vm_external_ip 2>/dev/null || echo "")
|
||||
QDRANT_PORT="6333"
|
||||
FIRESTORE_PROJECT_ID=$(terraform output -raw firestore_database_id 2>/dev/null | cut -d'/' -f2 || echo "")
|
||||
GCS_BUCKET_NAME=$(terraform output -raw storage_bucket_name 2>/dev/null || echo "")
|
||||
|
||||
if [ -z "$QDRANT_HOST" ]; then
|
||||
echo "Error: Could not extract Qdrant host from terraform outputs"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Configuration extracted:"
|
||||
echo " Qdrant Host: $QDRANT_HOST"
|
||||
echo " Qdrant Port: $QDRANT_PORT"
|
||||
echo " Firestore Project: $FIRESTORE_PROJECT_ID"
|
||||
echo " GCS Bucket: $GCS_BUCKET_NAME"
|
||||
|
||||
# Go back to project root
|
||||
cd "$PROJECT_ROOT"
|
||||
|
||||
# Update start_dev.sh with extracted values
|
||||
echo "Updating start_dev.sh..."
|
||||
|
||||
cat > start_dev.sh << EOF
|
||||
#!/bin/bash
|
||||
|
||||
# Development startup script for Sereact API
|
||||
# This script sets the environment variables and starts the application
|
||||
# Auto-generated by deployment/scripts/setup_local_env.sh
|
||||
|
||||
# Activate virtual environment
|
||||
source venv/Scripts/activate
|
||||
|
||||
# Set environment variables from deployed infrastructure
|
||||
export QDRANT_HOST=$QDRANT_HOST
|
||||
export QDRANT_PORT=$QDRANT_PORT
|
||||
export FIRESTORE_PROJECT_ID=$FIRESTORE_PROJECT_ID
|
||||
export GCS_BUCKET_NAME=$GCS_BUCKET_NAME
|
||||
export ENVIRONMENT=development
|
||||
|
||||
# Start the application
|
||||
echo "Starting Sereact API with deployed infrastructure..."
|
||||
echo "Qdrant endpoint: http://\$QDRANT_HOST:\$QDRANT_PORT"
|
||||
echo "Firestore project: \$FIRESTORE_PROJECT_ID"
|
||||
echo "GCS bucket: \$GCS_BUCKET_NAME"
|
||||
echo "API will be available at: http://localhost:8000"
|
||||
echo "API documentation: http://localhost:8000/docs"
|
||||
|
||||
uvicorn main:app --host 0.0.0.0 --port 8000 --reload
|
||||
EOF
|
||||
|
||||
chmod +x start_dev.sh
|
||||
|
||||
# Update docker-compose.yml with extracted values
|
||||
echo "Updating docker-compose.yml..."
|
||||
|
||||
cat > docker-compose.yml << EOF
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
api:
|
||||
build: .
|
||||
ports:
|
||||
- "8000:8000"
|
||||
volumes:
|
||||
- .:/app
|
||||
- \${GOOGLE_APPLICATION_CREDENTIALS:-./firestore-credentials.json}:/app/firestore-credentials.json:ro
|
||||
environment:
|
||||
- PYTHONUNBUFFERED=1
|
||||
- ENVIRONMENT=development
|
||||
- FIRESTORE_CREDENTIALS_FILE=/app/firestore-credentials.json
|
||||
- GOOGLE_APPLICATION_CREDENTIALS=/app/firestore-credentials.json
|
||||
- FIRESTORE_PROJECT_ID=\${FIRESTORE_PROJECT_ID:-$FIRESTORE_PROJECT_ID}
|
||||
- QDRANT_HOST=$QDRANT_HOST
|
||||
- QDRANT_PORT=$QDRANT_PORT
|
||||
- GCS_BUCKET_NAME=$GCS_BUCKET_NAME
|
||||
command: uvicorn main:app --host 0.0.0.0 --port 8000 --reload
|
||||
EOF
|
||||
|
||||
# Update test script
|
||||
echo "Updating test_qdrant_connection.py..."
|
||||
|
||||
cat > test_qdrant_connection.py << EOF
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
Simple test script to verify Qdrant connection
|
||||
Auto-generated by deployment/scripts/setup_local_env.sh
|
||||
"""
|
||||
|
||||
import os
|
||||
import sys
|
||||
from src.services.vector_db import VectorDatabaseService
|
||||
|
||||
def test_qdrant_connection():
|
||||
"""Test the connection to Qdrant"""
|
||||
|
||||
# Set environment variables from deployed infrastructure
|
||||
os.environ['QDRANT_HOST'] = '$QDRANT_HOST'
|
||||
os.environ['QDRANT_PORT'] = '$QDRANT_PORT'
|
||||
|
||||
try:
|
||||
print("Testing Qdrant connection...")
|
||||
print(f"Host: {os.environ['QDRANT_HOST']}")
|
||||
print(f"Port: {os.environ['QDRANT_PORT']}")
|
||||
|
||||
# Initialize the service
|
||||
vector_db = VectorDatabaseService()
|
||||
|
||||
# Test health check
|
||||
is_healthy = vector_db.health_check()
|
||||
print(f"Health check: {'✓ PASSED' if is_healthy else '✗ FAILED'}")
|
||||
|
||||
# Get collection info
|
||||
collection_info = vector_db.get_collection_info()
|
||||
print(f"Collection info: {collection_info}")
|
||||
|
||||
print("\n✓ Qdrant connection test PASSED!")
|
||||
return True
|
||||
|
||||
except Exception as e:
|
||||
print(f"\n✗ Qdrant connection test FAILED: {e}")
|
||||
return False
|
||||
|
||||
if __name__ == "__main__":
|
||||
success = test_qdrant_connection()
|
||||
sys.exit(0 if success else 1)
|
||||
EOF
|
||||
|
||||
echo ""
|
||||
echo "✓ Local development environment setup complete!"
|
||||
echo ""
|
||||
echo "You can now:"
|
||||
echo " 1. Run './start_dev.sh' to start the API with deployed infrastructure"
|
||||
echo " 2. Run 'docker-compose up' to use Docker with deployed Qdrant"
|
||||
echo " 3. Run 'python test_qdrant_connection.py' to test Qdrant connection"
|
||||
echo ""
|
||||
echo "All configuration has been automatically extracted from your terraform deployment."
|
||||
@ -1,21 +0,0 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
import requests
|
||||
import json
|
||||
|
||||
# Test the images API
|
||||
def test_images_api():
|
||||
base_url = "http://localhost:8000"
|
||||
|
||||
# First, let's check if we need to bootstrap or if there are existing API keys
|
||||
try:
|
||||
# Try to get images without API key first to see the error
|
||||
response = requests.get(f"{base_url}/api/v1/images")
|
||||
print(f"Images API without auth: {response.status_code}")
|
||||
print(f"Response: {response.text[:200]}...")
|
||||
|
||||
except Exception as e:
|
||||
print(f"Error testing images API: {e}")
|
||||
|
||||
if __name__ == "__main__":
|
||||
test_images_api()
|
||||
@ -1,57 +0,0 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
Simple test script to verify Qdrant connection
|
||||
Auto-generated by deployment/scripts/setup_local_env.sh
|
||||
"""
|
||||
|
||||
import os
|
||||
import sys
|
||||
from src.services.vector_db import VectorDatabaseService
|
||||
|
||||
from dotenv import load_dotenv
|
||||
|
||||
# Load environment variables from .env file
|
||||
load_dotenv()
|
||||
|
||||
def test_qdrant_connection():
|
||||
"""Test the connection to Qdrant"""
|
||||
|
||||
# Set environment variables from deployed infrastructure
|
||||
# os.environ['QDRANT_HOST'] = '34.171.134.17'
|
||||
# os.environ['QDRANT_PORT'] = '6333'
|
||||
# os.environ['QDRANT_HTTPS'] = 'false' # Explicitly disable HTTPS
|
||||
# os.environ['QDRANT_PREFER_GRPC'] = 'false' # Explicitly disable gRPC
|
||||
|
||||
try:
|
||||
print("Testing Qdrant connection...")
|
||||
# print(f"Host: {os.environ['QDRANT_HOST']}")
|
||||
# print(f"Port: {os.environ['QDRANT_PORT']}")
|
||||
# print(f"HTTPS: {os.environ['QDRANT_HTTPS']}")
|
||||
# print(f"gRPC: {os.environ['QDRANT_PREFER_GRPC']}")
|
||||
|
||||
# Initialize the service with explicit parameters to ensure HTTP is used
|
||||
vector_db = VectorDatabaseService(
|
||||
host=os.environ['QDRANT_HOST'],
|
||||
port=int(os.environ['QDRANT_PORT']),
|
||||
prefer_grpc=False,
|
||||
https=False
|
||||
)
|
||||
|
||||
# Test health check
|
||||
is_healthy = vector_db.health_check()
|
||||
print(f"Health check: {'✓ PASSED' if is_healthy else '✗ FAILED'}")
|
||||
|
||||
# Get collection info
|
||||
collection_info = vector_db.get_collection_info()
|
||||
print(f"Collection info: {collection_info}")
|
||||
|
||||
print("\n✓ Qdrant connection test PASSED!")
|
||||
return True
|
||||
|
||||
except Exception as e:
|
||||
print(f"\n✗ Qdrant connection test FAILED: {e}")
|
||||
return False
|
||||
|
||||
if __name__ == "__main__":
|
||||
success = test_qdrant_connection()
|
||||
sys.exit(0 if success else 1)
|
||||
Loading…
x
Reference in New Issue
Block a user