Skip to content

Commit 11f6110

Browse files
authored
add encrypted db data (#11808)
1 parent 849a747 commit 11f6110

3 files changed

Lines changed: 10 additions & 2 deletions

File tree

.github/workflows/tests_integration.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,4 +65,3 @@ jobs:
6565
env:
6666
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
6767
INTERNAL_URL: ${{ vars.MINDSDB_INTERNAL_URL }}
68-

mindsdb/interfaces/storage/db.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import json
22
import orjson
33
import datetime
4+
import os
45
from typing import Dict, List, Optional
56

67
import numpy as np
@@ -29,6 +30,7 @@
2930
sessionmaker,
3031
)
3132
from sqlalchemy.sql.schema import ForeignKey
33+
from mind_castle.sqlalchemy_type import SecretData
3234

3335
from mindsdb.utilities.json_encoder import CustomJSONEncoder
3436
from mindsdb.utilities.config import config
@@ -137,6 +139,11 @@ def process_result_value(self, value, dialect): # select
137139
return json.loads(value) if value is not None else None
138140

139141

142+
# Use MindsDB's "Json" column type as a backend for mind-castle
143+
class SecretDataJson(SecretData):
144+
impl = Json
145+
146+
140147
class PREDICTOR_STATUS:
141148
__slots__ = ()
142149
COMPLETE = "complete"
@@ -228,7 +235,7 @@ class Integration(Base):
228235
created_at = Column(DateTime, default=datetime.datetime.now)
229236
name = Column(String, nullable=False)
230237
engine = Column(String, nullable=False)
231-
data = Column(Json)
238+
data = Column(SecretDataJson(os.environ.get("MINDSDB_DATA_ENCRYPTION_TYPE", "none")))
232239
company_id = Column(String)
233240

234241
__table_args__ = (UniqueConstraint("name", "company_id", name="unique_integration_name_company_id"),)

requirements/requirements.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,3 +71,5 @@ pydantic_core>=2.33.2
7171

7272
# When using agents, some LLMs may require the 'transformers' library (like Ollama):
7373
transformers >= 4.42.4
74+
75+
mind-castle >= 0.4.5

0 commit comments

Comments
 (0)