remove mongo

This commit is contained in:
johnpccd 2025-05-24 04:57:04 +02:00
parent ec65ad5395
commit ff3d22e9b1
9 changed files with 18 additions and 30 deletions

View File

@ -7,12 +7,6 @@ LOG_LEVEL=INFO
CORS_ORIGINS=*
# Database Settings
# Choose database type: "mongodb" or "firestore"
DATABASE_TYPE=mongodb
# MongoDB Settings (used when DATABASE_TYPE=mongodb)
DATABASE_URI=mongodb://localhost:27017
DATABASE_NAME=imagedb
# Google Cloud Firestore Settings (used when DATABASE_TYPE=firestore)
# Path to service account credentials file (optional, uses application default credentials if not set)

View File

@ -82,7 +82,6 @@ sereact/
4. Create a `.env` file with the following environment variables:
```
# Firestore
DATABASE_NAME=imagedb
FIRESTORE_PROJECT_ID=your-gcp-project-id
FIRESTORE_CREDENTIALS_FILE=path/to/firestore-credentials.json

View File

@ -53,12 +53,14 @@ Sensitive data should be managed using Google Secret Manager:
```bash
# Create a secret
gcloud secrets create sereact-db-uri --replication-policy="automatic"
gcloud secrets create sereact-api-key-secret --replication-policy="automatic"
gcloud secrets create sereact-vector-db-key --replication-policy="automatic"
# Add a secret version
echo -n "your-mongodb-uri" | gcloud secrets versions add sereact-db-uri --data-file=-
echo -n "your-api-key-secret" | gcloud secrets versions add sereact-api-key-secret --data-file=-
echo -n "your-vector-db-key" | gcloud secrets versions add sereact-vector-db-key --data-file=-
# Update Cloud Run service to use the secret
# Update Cloud Run service to use the secrets
gcloud run services update sereact \
--update-secrets=DATABASE_URI=sereact-db-uri:latest
--update-secrets=API_KEY_SECRET=sereact-api-key-secret:latest,VECTOR_DB_API_KEY=sereact-vector-db-key:latest
```

View File

@ -14,13 +14,10 @@ spec:
cpu: "1"
memory: "1Gi"
env:
- name: DATABASE_URI
valueFrom:
secretKeyRef:
name: sereact-db-uri
key: latest
- name: DATABASE_NAME
value: "imagedb"
- name: FIRESTORE_PROJECT_ID
value: "gen-lang-client-0424120530"
- name: FIRESTORE_CREDENTIALS_FILE
value: "/var/secrets/google/key.json"
- name: GCS_BUCKET_NAME
value: "your-bucket-name"
- name: API_KEY_SECRET

View File

@ -26,8 +26,8 @@ steps:
- '--region=us-central1'
- '--platform=managed'
- '--allow-unauthenticated'
- '--set-env-vars=GCS_BUCKET_NAME=${_GCS_BUCKET_NAME},DATABASE_NAME=${_DATABASE_NAME},VECTOR_DB_ENVIRONMENT=${_VECTOR_DB_ENVIRONMENT},VECTOR_DB_INDEX_NAME=${_VECTOR_DB_INDEX_NAME},LOG_LEVEL=INFO'
- '--set-secrets=DATABASE_URI=sereact-db-uri:latest,API_KEY_SECRET=sereact-api-key-secret:latest,VECTOR_DB_API_KEY=sereact-vector-db-key:latest'
- '--set-env-vars=GCS_BUCKET_NAME=${_GCS_BUCKET_NAME},FIRESTORE_PROJECT_ID=${PROJECT_ID},VECTOR_DB_ENVIRONMENT=${_VECTOR_DB_ENVIRONMENT},VECTOR_DB_INDEX_NAME=${_VECTOR_DB_INDEX_NAME},LOG_LEVEL=INFO'
- '--set-secrets=API_KEY_SECRET=sereact-api-key-secret:latest,VECTOR_DB_API_KEY=sereact-vector-db-key:latest'
# Optional: Run tests after deployment
# - name: 'gcr.io/google.com/cloudsdktool/cloud-sdk'
@ -46,7 +46,6 @@ images:
# Substitution variables to be set in the Cloud Build trigger
substitutions:
_GCS_BUCKET_NAME: 'your-app-storage-bucket'
_DATABASE_NAME: 'imagedb'
_VECTOR_DB_ENVIRONMENT: 'your-pinecone-env'
_VECTOR_DB_INDEX_NAME: 'image-embeddings'

View File

@ -53,22 +53,20 @@ This directory contains Terraform configurations to provision the required Googl
## Managing Secrets
Secrets for environment variables (DATABASE_URI, API_KEY_SECRET, etc.) should be managed separately using Google Secret Manager:
Secrets for environment variables (API_KEY_SECRET, VECTOR_DB_API_KEY, etc.) should be managed separately using Google Secret Manager:
```bash
# Create secrets
gcloud secrets create sereact-db-uri --replication-policy="automatic"
gcloud secrets create sereact-api-key-secret --replication-policy="automatic"
gcloud secrets create sereact-vector-db-key --replication-policy="automatic"
# Add secret versions
echo -n "your-secret-value" | gcloud secrets versions add sereact-db-uri --data-file=-
echo -n "your-secret-value" | gcloud secrets versions add sereact-api-key-secret --data-file=-
echo -n "your-secret-value" | gcloud secrets versions add sereact-vector-db-key --data-file=-
# Update Cloud Run service to use secrets
gcloud run services update sereact \
--update-secrets=DATABASE_URI=sereact-db-uri:latest,API_KEY_SECRET=sereact-api-key-secret:latest,VECTOR_DB_API_KEY=sereact-vector-db-key:latest
--update-secrets=API_KEY_SECRET=sereact-api-key-secret:latest,VECTOR_DB_API_KEY=sereact-vector-db-key:latest
```
## CI/CD Integration

View File

@ -64,8 +64,8 @@ resource "google_cloud_run_service" "sereact" {
}
env {
name = "DATABASE_NAME"
value = var.firestore_db_name
name = "FIRESTORE_PROJECT_ID"
value = var.project_id
}
env {

View File

@ -11,7 +11,7 @@ services:
environment:
- PYTHONUNBUFFERED=1
- ENVIRONMENT=development
- DATABASE_NAME=imagedb
- FIRESTORE_CREDENTIALS_FILE=/app/firestore-credentials.json
- GOOGLE_APPLICATION_CREDENTIALS=/app/firestore-credentials.json
- FIRESTORE_PROJECT_ID=${FIRESTORE_PROJECT_ID:-}
command: uvicorn main:app --host 0.0.0.0 --port 8000 --reload

View File

@ -17,8 +17,7 @@ class Settings(BaseSettings):
return [i.strip() for i in v.split(",")]
return v
# Database settings
DATABASE_NAME: str = os.getenv("DATABASE_NAME", "imagedb")
# Firestore settings
FIRESTORE_PROJECT_ID: str = os.getenv("FIRESTORE_PROJECT_ID", "")
FIRESTORE_CREDENTIALS_FILE: str = os.getenv("FIRESTORE_CREDENTIALS_FILE", "firestore-credentials.json")