mirror of
https://github.com/danswer-ai/danswer.git
synced 2025-06-30 09:40:50 +02:00
Rework Disabled Connector options to Whitelist instead (#1386)
This commit is contained in:
@ -126,7 +126,9 @@ POLL_CONNECTOR_OFFSET = 30 # Minutes overlap between poll windows
|
||||
|
||||
# View the list here:
|
||||
# https://github.com/danswer-ai/danswer/blob/main/backend/danswer/connectors/factory.py
|
||||
DISABLED_CONNECTOR_TYPES = os.environ.get("DISABLED_CONNECTOR_TYPES") or ""
|
||||
# If this is empty, all connectors are enabled, this is an option for security heavy orgs where
|
||||
# only very select connectors are enabled and admins cannot add other connector types
|
||||
ENABLED_CONNECTOR_TYPES = os.environ.get("ENABLED_CONNECTOR_TYPES") or ""
|
||||
|
||||
# Some calls to get information on expert users are quite costly especially with rate limiting
|
||||
# Since experts are not used in the actual user experience, currently it is turned off
|
||||
|
@ -14,7 +14,7 @@ from sqlalchemy.orm import Session
|
||||
from danswer.auth.users import current_admin_user
|
||||
from danswer.auth.users import current_user
|
||||
from danswer.background.celery.celery_utils import get_deletion_status
|
||||
from danswer.configs.app_configs import DISABLED_CONNECTOR_TYPES
|
||||
from danswer.configs.app_configs import ENABLED_CONNECTOR_TYPES
|
||||
from danswer.configs.constants import DocumentSource
|
||||
from danswer.connectors.gmail.connector_auth import delete_gmail_service_account_key
|
||||
from danswer.connectors.gmail.connector_auth import delete_google_app_gmail_cred
|
||||
@ -439,13 +439,17 @@ def get_connector_indexing_status(
|
||||
|
||||
|
||||
def _validate_connector_allowed(source: DocumentSource) -> None:
|
||||
invalid_connectors = DISABLED_CONNECTOR_TYPES.replace("_", "").split(",")
|
||||
for connector_type in invalid_connectors:
|
||||
valid_connectors = ENABLED_CONNECTOR_TYPES.replace("_", "").split(",")
|
||||
if not valid_connectors:
|
||||
return
|
||||
for connector_type in valid_connectors:
|
||||
if source.value.lower().replace("_", "") == connector_type:
|
||||
raise ValueError(
|
||||
"This connector type has been disabled by your system admin. "
|
||||
"Please contact them to get it enabled if you wish to use it."
|
||||
)
|
||||
return
|
||||
|
||||
raise ValueError(
|
||||
"This connector type has been disabled by your system admin. "
|
||||
"Please contact them to get it enabled if you wish to use it."
|
||||
)
|
||||
|
||||
|
||||
@router.post("/admin/connector")
|
||||
|
@ -143,7 +143,7 @@ services:
|
||||
- INDEXING_MODEL_SERVER_HOST=${INDEXING_MODEL_SERVER_HOST:-indexing_model_server}
|
||||
# Indexing Configs
|
||||
- NUM_INDEXING_WORKERS=${NUM_INDEXING_WORKERS:-}
|
||||
- DISABLED_CONNECTOR_TYPES=${DISABLED_CONNECTOR_TYPES:-}
|
||||
- ENABLED_CONNECTOR_TYPES=${ENABLED_CONNECTOR_TYPES:-}
|
||||
- DISABLE_INDEX_UPDATE_ON_SWAP=${DISABLE_INDEX_UPDATE_ON_SWAP:-}
|
||||
- DASK_JOB_CLIENT_ENABLED=${DASK_JOB_CLIENT_ENABLED:-}
|
||||
- CONTINUE_ON_CONNECTOR_FAILURE=${CONTINUE_ON_CONNECTOR_FAILURE:-}
|
||||
|
@ -49,7 +49,7 @@ data:
|
||||
MIN_THREADS_ML_MODELS: ""
|
||||
# Indexing Configs
|
||||
NUM_INDEXING_WORKERS: ""
|
||||
DISABLED_CONNECTOR_TYPES: ""
|
||||
ENABLED_CONNECTOR_TYPES: ""
|
||||
DISABLE_INDEX_UPDATE_ON_SWAP: ""
|
||||
DASK_JOB_CLIENT_ENABLED: ""
|
||||
CONTINUE_ON_CONNECTOR_FAILURE: ""
|
||||
|
Reference in New Issue
Block a user