remove mongo
This commit is contained in:
parent
ec65ad5395
commit
ff3d22e9b1
@ -7,12 +7,6 @@ LOG_LEVEL=INFO
|
|||||||
CORS_ORIGINS=*
|
CORS_ORIGINS=*
|
||||||
|
|
||||||
# Database Settings
|
# 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)
|
# Google Cloud Firestore Settings (used when DATABASE_TYPE=firestore)
|
||||||
# Path to service account credentials file (optional, uses application default credentials if not set)
|
# 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:
|
4. Create a `.env` file with the following environment variables:
|
||||||
```
|
```
|
||||||
# Firestore
|
# Firestore
|
||||||
DATABASE_NAME=imagedb
|
|
||||||
FIRESTORE_PROJECT_ID=your-gcp-project-id
|
FIRESTORE_PROJECT_ID=your-gcp-project-id
|
||||||
FIRESTORE_CREDENTIALS_FILE=path/to/firestore-credentials.json
|
FIRESTORE_CREDENTIALS_FILE=path/to/firestore-credentials.json
|
||||||
|
|
||||||
|
|||||||
@ -53,12 +53,14 @@ Sensitive data should be managed using Google Secret Manager:
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Create a secret
|
# 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
|
# 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 \
|
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"
|
cpu: "1"
|
||||||
memory: "1Gi"
|
memory: "1Gi"
|
||||||
env:
|
env:
|
||||||
- name: DATABASE_URI
|
- name: FIRESTORE_PROJECT_ID
|
||||||
valueFrom:
|
value: "gen-lang-client-0424120530"
|
||||||
secretKeyRef:
|
- name: FIRESTORE_CREDENTIALS_FILE
|
||||||
name: sereact-db-uri
|
value: "/var/secrets/google/key.json"
|
||||||
key: latest
|
|
||||||
- name: DATABASE_NAME
|
|
||||||
value: "imagedb"
|
|
||||||
- name: GCS_BUCKET_NAME
|
- name: GCS_BUCKET_NAME
|
||||||
value: "your-bucket-name"
|
value: "your-bucket-name"
|
||||||
- name: API_KEY_SECRET
|
- name: API_KEY_SECRET
|
||||||
|
|||||||
@ -26,8 +26,8 @@ steps:
|
|||||||
- '--region=us-central1'
|
- '--region=us-central1'
|
||||||
- '--platform=managed'
|
- '--platform=managed'
|
||||||
- '--allow-unauthenticated'
|
- '--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-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=DATABASE_URI=sereact-db-uri:latest,API_KEY_SECRET=sereact-api-key-secret:latest,VECTOR_DB_API_KEY=sereact-vector-db-key:latest'
|
- '--set-secrets=API_KEY_SECRET=sereact-api-key-secret:latest,VECTOR_DB_API_KEY=sereact-vector-db-key:latest'
|
||||||
|
|
||||||
# Optional: Run tests after deployment
|
# Optional: Run tests after deployment
|
||||||
# - name: 'gcr.io/google.com/cloudsdktool/cloud-sdk'
|
# - name: 'gcr.io/google.com/cloudsdktool/cloud-sdk'
|
||||||
@ -46,7 +46,6 @@ images:
|
|||||||
# Substitution variables to be set in the Cloud Build trigger
|
# Substitution variables to be set in the Cloud Build trigger
|
||||||
substitutions:
|
substitutions:
|
||||||
_GCS_BUCKET_NAME: 'your-app-storage-bucket'
|
_GCS_BUCKET_NAME: 'your-app-storage-bucket'
|
||||||
_DATABASE_NAME: 'imagedb'
|
|
||||||
_VECTOR_DB_ENVIRONMENT: 'your-pinecone-env'
|
_VECTOR_DB_ENVIRONMENT: 'your-pinecone-env'
|
||||||
_VECTOR_DB_INDEX_NAME: 'image-embeddings'
|
_VECTOR_DB_INDEX_NAME: 'image-embeddings'
|
||||||
|
|
||||||
|
|||||||
@ -53,22 +53,20 @@ This directory contains Terraform configurations to provision the required Googl
|
|||||||
|
|
||||||
## Managing Secrets
|
## 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
|
```bash
|
||||||
# Create secrets
|
# 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-api-key-secret --replication-policy="automatic"
|
||||||
gcloud secrets create sereact-vector-db-key --replication-policy="automatic"
|
gcloud secrets create sereact-vector-db-key --replication-policy="automatic"
|
||||||
|
|
||||||
# Add secret versions
|
# 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-api-key-secret --data-file=-
|
||||||
echo -n "your-secret-value" | gcloud secrets versions add sereact-vector-db-key --data-file=-
|
echo -n "your-secret-value" | gcloud secrets versions add sereact-vector-db-key --data-file=-
|
||||||
|
|
||||||
# Update Cloud Run service to use secrets
|
# Update Cloud Run service to use secrets
|
||||||
gcloud run services update sereact \
|
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
|
## CI/CD Integration
|
||||||
|
|||||||
@ -64,8 +64,8 @@ resource "google_cloud_run_service" "sereact" {
|
|||||||
}
|
}
|
||||||
|
|
||||||
env {
|
env {
|
||||||
name = "DATABASE_NAME"
|
name = "FIRESTORE_PROJECT_ID"
|
||||||
value = var.firestore_db_name
|
value = var.project_id
|
||||||
}
|
}
|
||||||
|
|
||||||
env {
|
env {
|
||||||
|
|||||||
@ -11,7 +11,7 @@ services:
|
|||||||
environment:
|
environment:
|
||||||
- PYTHONUNBUFFERED=1
|
- PYTHONUNBUFFERED=1
|
||||||
- ENVIRONMENT=development
|
- ENVIRONMENT=development
|
||||||
- DATABASE_NAME=imagedb
|
|
||||||
- FIRESTORE_CREDENTIALS_FILE=/app/firestore-credentials.json
|
- FIRESTORE_CREDENTIALS_FILE=/app/firestore-credentials.json
|
||||||
- GOOGLE_APPLICATION_CREDENTIALS=/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
|
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 [i.strip() for i in v.split(",")]
|
||||||
return v
|
return v
|
||||||
|
|
||||||
# Database settings
|
# Firestore settings
|
||||||
DATABASE_NAME: str = os.getenv("DATABASE_NAME", "imagedb")
|
|
||||||
FIRESTORE_PROJECT_ID: str = os.getenv("FIRESTORE_PROJECT_ID", "")
|
FIRESTORE_PROJECT_ID: str = os.getenv("FIRESTORE_PROJECT_ID", "")
|
||||||
FIRESTORE_CREDENTIALS_FILE: str = os.getenv("FIRESTORE_CREDENTIALS_FILE", "firestore-credentials.json")
|
FIRESTORE_CREDENTIALS_FILE: str = os.getenv("FIRESTORE_CREDENTIALS_FILE", "firestore-credentials.json")
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user