remove mongo
This commit is contained in:
parent
ec65ad5395
commit
ff3d22e9b1
@ -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)
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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
|
||||
```
|
||||
@ -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
|
||||
|
||||
@ -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'
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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 {
|
||||
|
||||
@ -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
|
||||
@ -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")
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user