mirror of
https://github.com/danswer-ai/danswer.git
synced 2025-07-01 02:00:48 +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:
|
# View the list here:
|
||||||
# https://github.com/danswer-ai/danswer/blob/main/backend/danswer/connectors/factory.py
|
# 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
|
# 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
|
# 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_admin_user
|
||||||
from danswer.auth.users import current_user
|
from danswer.auth.users import current_user
|
||||||
from danswer.background.celery.celery_utils import get_deletion_status
|
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.configs.constants import DocumentSource
|
||||||
from danswer.connectors.gmail.connector_auth import delete_gmail_service_account_key
|
from danswer.connectors.gmail.connector_auth import delete_gmail_service_account_key
|
||||||
from danswer.connectors.gmail.connector_auth import delete_google_app_gmail_cred
|
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:
|
def _validate_connector_allowed(source: DocumentSource) -> None:
|
||||||
invalid_connectors = DISABLED_CONNECTOR_TYPES.replace("_", "").split(",")
|
valid_connectors = ENABLED_CONNECTOR_TYPES.replace("_", "").split(",")
|
||||||
for connector_type in invalid_connectors:
|
if not valid_connectors:
|
||||||
|
return
|
||||||
|
for connector_type in valid_connectors:
|
||||||
if source.value.lower().replace("_", "") == connector_type:
|
if source.value.lower().replace("_", "") == connector_type:
|
||||||
|
return
|
||||||
|
|
||||||
raise ValueError(
|
raise ValueError(
|
||||||
"This connector type has been disabled by your system admin. "
|
"This connector type has been disabled by your system admin. "
|
||||||
"Please contact them to get it enabled if you wish to use it."
|
"Please contact them to get it enabled if you wish to use it."
|
||||||
|
@ -143,7 +143,7 @@ services:
|
|||||||
- INDEXING_MODEL_SERVER_HOST=${INDEXING_MODEL_SERVER_HOST:-indexing_model_server}
|
- INDEXING_MODEL_SERVER_HOST=${INDEXING_MODEL_SERVER_HOST:-indexing_model_server}
|
||||||
# Indexing Configs
|
# Indexing Configs
|
||||||
- NUM_INDEXING_WORKERS=${NUM_INDEXING_WORKERS:-}
|
- 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:-}
|
- DISABLE_INDEX_UPDATE_ON_SWAP=${DISABLE_INDEX_UPDATE_ON_SWAP:-}
|
||||||
- DASK_JOB_CLIENT_ENABLED=${DASK_JOB_CLIENT_ENABLED:-}
|
- DASK_JOB_CLIENT_ENABLED=${DASK_JOB_CLIENT_ENABLED:-}
|
||||||
- CONTINUE_ON_CONNECTOR_FAILURE=${CONTINUE_ON_CONNECTOR_FAILURE:-}
|
- CONTINUE_ON_CONNECTOR_FAILURE=${CONTINUE_ON_CONNECTOR_FAILURE:-}
|
||||||
|
@ -49,7 +49,7 @@ data:
|
|||||||
MIN_THREADS_ML_MODELS: ""
|
MIN_THREADS_ML_MODELS: ""
|
||||||
# Indexing Configs
|
# Indexing Configs
|
||||||
NUM_INDEXING_WORKERS: ""
|
NUM_INDEXING_WORKERS: ""
|
||||||
DISABLED_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: ""
|
||||||
|
Reference in New Issue
Block a user