Rework Disabled Connector options to Whitelist instead (#1386)

This commit is contained in:
Yuhong Sun
2024-04-25 16:23:11 -07:00
committed by GitHub
parent ee6b8b7f50
commit b4842e3a0d
4 changed files with 16 additions and 10 deletions

View File

@ -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

View File

@ -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,9 +439,13 @@ 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:
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."

View File

@ -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:-}

View File

@ -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: ""