From 7acf4f5e32b0a68635546bdf3e46a988c496b8c3 Mon Sep 17 00:00:00 2001 From: JP Hwang Date: Fri, 19 Dec 2025 15:11:17 +0000 Subject: [PATCH 1/3] Add script to find undocumented env vars --- find-undocumented-env-vars.sh | 37 +++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100755 find-undocumented-env-vars.sh diff --git a/find-undocumented-env-vars.sh b/find-undocumented-env-vars.sh new file mode 100755 index 00000000..009a001a --- /dev/null +++ b/find-undocumented-env-vars.sh @@ -0,0 +1,37 @@ +#!/bin/bash +# Find environment variables that exist in code but aren't documented +# Usage: ./find-undocumented-env-vars.sh path/to/env-vars-list.csv + +if [ $# -eq 0 ]; then + echo "Usage: $0 " + echo "Example: $0 ../weaviate/env-vars-list.csv" + exit 1 +fi + +CSV_FILE="$1" + +if [ ! -f "$CSV_FILE" ]; then + echo "Error: File '$CSV_FILE' not found" + exit 1 +fi + +# Directories to search +SEARCH_DIRS="docs _includes" + +echo "Checking which env vars from $CSV_FILE are not documented..." +echo "Searching in: $SEARCH_DIRS" +echo "" +echo "UNDOCUMENTED ENV VARS:" +echo "=====================" + +# Skip header line, extract env var names, and check if they appear in docs +tail -n +2 "$CSV_FILE" | cut -d',' -f1 | sort -u | while read -r env_var; do + # Search for the env var in the specified directories + # Use -q for quiet (just exit status), -r for recursive + if ! grep -rq "$env_var" $SEARCH_DIRS 2>/dev/null; then + echo "$env_var" + fi +done + +echo "" +echo "Done! These env vars appear in code but not in docs." From 36183216f686b813671a09df94f91e9acb99fcbc Mon Sep 17 00:00:00 2001 From: JP Hwang Date: Fri, 19 Dec 2025 15:30:18 +0000 Subject: [PATCH 2/3] Minor updates --- env-vars-list.csv | 276 ++++++++++++++++++++++++++++++++++ find-undocumented-env-vars.sh | 6 +- 2 files changed, 281 insertions(+), 1 deletion(-) create mode 100644 env-vars-list.csv diff --git a/env-vars-list.csv b/env-vars-list.csv new file mode 100644 index 00000000..2eb48746 --- /dev/null +++ b/env-vars-list.csv @@ -0,0 +1,276 @@ +ENV_VAR_NAME,FIRST_FILE,FIRST_LINE +ANTHROPIC_APIKEY,./modules/generative-anthropic/module.go,64 +ANYSCALE_APIKEY,./modules/generative-anyscale/module.go,64 +API_BASED_MODULES_DISABLED,./usecases/config/environment.go,715 +ASYNC_INDEXING,./usecases/config/environment.go,862 +ASYNC_INDEXING_BATCH_SIZE,./adapters/repos/db/vector_index_queue.go,74 +ASYNC_INDEXING_STALE_TIMEOUT,./adapters/repos/db/vector_index_queue.go,73 +ASYNC_REPLICATION_ALIVE_NODES_CHECKING_FREQUENCY,./adapters/repos/db/shard_async_replication.go,124 +ASYNC_REPLICATION_DIFF_BATCH_SIZE,./adapters/repos/db/shard_async_replication.go,142 +ASYNC_REPLICATION_DIFF_PER_NODE_TIMEOUT,./adapters/repos/db/shard_async_replication.go,148 +ASYNC_REPLICATION_DISABLED,./usecases/config/environment.go,847 +ASYNC_REPLICATION_FREQUENCY,./adapters/repos/db/shard_async_replication.go,113 +ASYNC_REPLICATION_FREQUENCY_WHILE_PROPAGATING,./adapters/repos/db/shard_async_replication.go,118 +ASYNC_REPLICATION_HASHTREE_HEIGHT,./adapters/repos/db/shard_async_replication.go,108 +ASYNC_REPLICATION_INIT_SHIELD_CPU_EVERY_N,./adapters/repos/db/shard_async_replication.go,136 +ASYNC_REPLICATION_LOGGING_FREQUENCY,./adapters/repos/db/shard_async_replication.go,130 +ASYNC_REPLICATION_PRE_PROPAGATION_TIMEOUT,./adapters/repos/db/shard_async_replication.go,154 +ASYNC_REPLICATION_PROPAGATION_BATCH_SIZE,./adapters/repos/db/shard_async_replication.go,184 +ASYNC_REPLICATION_PROPAGATION_CONCURRENCY,./adapters/repos/db/shard_async_replication.go,178 +ASYNC_REPLICATION_PROPAGATION_DELAY,./adapters/repos/db/shard_async_replication.go,172 +ASYNC_REPLICATION_PROPAGATION_LIMIT,./adapters/repos/db/shard_async_replication.go,166 +ASYNC_REPLICATION_PROPAGATION_TIMEOUT,./adapters/repos/db/shard_async_replication.go,160 +AUTHENTICATION_ANONYMOUS_ACCESS_ENABLED,./usecases/config/environment.go,214 +AUTHENTICATION_APIKEY_ALLOWED_KEYS,./usecases/config/environment.go,280 +AUTHENTICATION_APIKEY_ENABLED,./usecases/config/environment.go,277 +AUTHENTICATION_APIKEY_USERS,./usecases/config/environment.go,285 +AUTHENTICATION_DB_USERS_ENABLED,./usecases/config/environment.go,273 +AUTHENTICATION_OIDC_CERTIFICATE,./usecases/config/environment.go,255 +AUTHENTICATION_OIDC_CLIENT_ID,./usecases/config/environment.go,239 +AUTHENTICATION_OIDC_ENABLED,./usecases/config/environment.go,218 +AUTHENTICATION_OIDC_GROUPS_CLAIM,./usecases/config/environment.go,251 +AUTHENTICATION_OIDC_ISSUER,./usecases/config/environment.go,235 +AUTHENTICATION_OIDC_JWKS_URL,./usecases/config/environment.go,259 +AUTHENTICATION_OIDC_SCOPES,./usecases/config/environment.go,243 +AUTHENTICATION_OIDC_SKIP_CLIENT_ID_CHECK,./usecases/config/environment.go,231 +AUTHENTICATION_OIDC_USERNAME_CLAIM,./usecases/config/environment.go,247 +AUTHORIZATION_ADMIN_USERS,./usecases/config/environment.go,327 +AUTHORIZATION_ADMINLIST_ENABLED,./usecases/config/environment.go,292 +AUTHORIZATION_ADMINLIST_GROUPS,./usecases/config/environment.go,305 +AUTHORIZATION_ADMINLIST_READONLY_GROUPS,./usecases/config/environment.go,310 +AUTHORIZATION_ADMINLIST_READONLY_USERS,./usecases/config/environment.go,300 +AUTHORIZATION_ADMINLIST_USERS,./usecases/config/environment.go,295 +AUTHORIZATION_ENABLE_RBAC,./usecases/config/environment.go,316 +AUTHORIZATION_RBAC_ENABLED,./usecases/config/environment.go,316 +AUTHORIZATION_RBAC_IP_IN_AUDIT_LOG_DISABLED,./usecases/config/environment.go,319 +AUTHORIZATION_RBAC_READONLY_GROUPS,./usecases/config/environment.go,338 +AUTHORIZATION_RBAC_ROOT_GROUPS,./usecases/config/environment.go,333 +AUTHORIZATION_RBAC_ROOT_USERS,./usecases/config/environment.go,323 +AUTOSCHEMA_DEFAULT_DATE,./usecases/config/environment.go,736 +AUTOSCHEMA_DEFAULT_NUMBER,./usecases/config/environment.go,732 +AUTOSCHEMA_DEFAULT_STRING,./usecases/config/environment.go,728 +AUTOSCHEMA_ENABLED,./usecases/config/environment.go,722 +AWS_ACCESS_KEY,./modules/multi2vec-aws/module.go,112 +AWS_ACCESS_KEY_ID,./modules/multi2vec-aws/module.go,109 +AWS_DEFAULT_REGION,./modules/backup-s3/client.go,54 +AWS_ENDPOINT,./modules/usage-s3/storage.go,45 +AWS_REGION,./modules/backup-s3/client.go,52 +AWS_SECRET_ACCESS_KEY,./modules/multi2vec-aws/module.go,116 +AWS_SECRET_KEY,./modules/multi2vec-aws/module.go,119 +AWS_SESSION_TOKEN,./modules/multi2vec-aws/module.go,99 +AZURE_APIKEY,./modules/qna-openai/module.go,137 +AZURE_BLOCK_SIZE,./modules/backup-azure/client.go,280 +AZURE_CONCURRENCY,./modules/backup-azure/client.go,298 +AZURE_STORAGE_ACCOUNT,./modules/backup-azure/client.go,73 +AZURE_STORAGE_CONNECTION_STRING,./modules/backup-azure/client.go,50 +AZURE_STORAGE_KEY,./modules/backup-azure/client.go,74 +BACKUP_GCS_USE_AUTH,./modules/backup-gcs/client.go,46 +BIGRAM,./modules/text2vec-bigram/bigram.go,65 +BIND_INFERENCE_API,./modules/multi2vec-bind/module.go,143 +BLOCKMAX_WAND_PER_SEGMENT_LIMIT,./adapters/repos/db/inverted/bm25_searcher_block.go,186 +CLIP_INFERENCE_API,./modules/multi2vec-clip/module.go,108 +CLIP_WAIT_FOR_STARTUP,./modules/multi2vec-clip/module.go,114 +CLUSTER_ADVERTISE_ADDR,./usecases/config/environment.go,1489 +CLUSTER_ADVERTISE_PORT,./usecases/config/environment.go,1499 +CLUSTER_BASIC_AUTH_PASSWORD,./usecases/config/environment.go,1540 +CLUSTER_BASIC_AUTH_USERNAME,./usecases/config/environment.go,1539 +CLUSTER_BIND_ADDR,./usecases/config/environment.go,1494 +CLUSTER_DATA_BIND_PORT,./usecases/config/environment.go,1510 +CLUSTER_GOSSIP_BIND_PORT,./usecases/config/environment.go,1509 +CLUSTER_HOSTNAME,./usecases/config/runtime/launch_darkly.go,70 +CLUSTER_IGNORE_SCHEMA_SYNC,./usecases/config/environment.go,1535 +CLUSTER_IN_LOCALHOST,./usecases/modulecomponents/usage/base_storage.go,115 +CLUSTER_JOIN,./usecases/config/environment.go,1487 +CLUSTER_SKIP_SCHEMA_REPAIR,./usecases/config/environment.go,1537 +COHERE_APIKEY,./modules/generative-cohere/module.go,64 +CONTEXTIONARY_URL,./usecases/config/environment.go,603 +CONTEXTUALAI_APIKEY,./modules/generative-contextualai/module.go,64 +CORS_ALLOW_HEADERS,./usecases/config/environment.go,1160 +CORS_ALLOW_METHODS,./usecases/config/environment.go,1154 +CORS_ALLOW_ORIGIN,./usecases/config/environment.go,1148 +CURRENT_VERSION,./tools/dev/generate_release_notes/main.go,45 +DATABRICKS_TOKEN,./modules/generative-databricks/module.go,63 +DEFAULT_QUANTIZATION,./usecases/config/environment.go,491 +DEFAULT_TOKENIZATION,./usecases/schema/class.go,486 +DEFAULT_VECTOR_DISTANCE_METRIC,./usecases/config/environment.go,707 +DEFAULT_VECTORIZER_MODULE,./usecases/config/environment.go,687 +DISABLE_GRAPHQL,./usecases/config/environment.go,833 +DISABLE_LAZY_LOAD_SHARDS,./usecases/config/environment.go,131 +DISABLE_RECOVERY_ON_PANIC,./adapters/repos/db/inverted/bm25_searcher_block.go,53 +DISABLE_TELEMETRY,./usecases/config/environment.go,854 +DISK_USE_READONLY_PERCENTAGE,./usecases/config/environment.go,1443 +DISK_USE_WARNING_PERCENTAGE,./usecases/config/environment.go,1433 +DISTRIBUTED_TASKS_ENABLED,./usecases/config/environment.go,930 +ENABLE_CLEANUP_UNFINISHED_BACKUPS,./adapters/handlers/rest/configure_api.go,1121 +ENABLE_EXPERIMENTAL_HYBRID_OPERANDS,./adapters/handlers/graphql/local/aggregate/hybrid_search.go,116 +ENABLE_MODULES,./usecases/config/environment.go,711 +ENABLE_TOKENIZER_GSE,./usecases/schema/class.go,812 +ENABLE_TOKENIZER_GSE_CH,./usecases/schema/class.go,817 +ENABLE_TOKENIZER_KAGOME_JA,./usecases/schema/class.go,827 +ENABLE_TOKENIZER_KAGOME_KR,./usecases/schema/class.go,822 +EXPERIMENTAL_AUTHORIZATION_RBAC_ADMIN_USERS,./usecases/config/environment.go,354 +EXPERIMENTAL_AUTHORIZATION_RBAC_READONLY_ROOT_GROUPS,./usecases/config/environment.go,343 +EXPERIMENTAL_AUTHORIZATION_RBAC_READONLY_USERS,./usecases/config/environment.go,349 +EXPERIMENTAL_HFRESH_ENABLED,./usecases/config/environment.go,496 +EXPERIMENTAL_METADATA_SERVER_ENABLED,./usecases/config/environment.go,884 +EXPERIMENTAL_METADATA_SERVER_GRPC_LISTEN_ADDRESS,./usecases/config/environment.go,888 +EXPERIMENTAL_OTEL_BSP_EXPORT_TIMEOUT,./usecases/telemetry/opentelemetry/config.go,98 +EXPERIMENTAL_OTEL_BSP_MAX_EXPORT_BATCH_SIZE,./usecases/telemetry/opentelemetry/config.go,104 +EXPERIMENTAL_OTEL_ENABLED,./usecases/telemetry/opentelemetry/config.go,54 +EXPERIMENTAL_OTEL_ENVIRONMENT,./usecases/telemetry/opentelemetry/config.go,64 +EXPERIMENTAL_OTEL_EXPORTER_OTLP_ENDPOINT,./usecases/telemetry/opentelemetry/config.go,69 +EXPERIMENTAL_OTEL_EXPORTER_OTLP_PROTOCOL,./usecases/telemetry/opentelemetry/config.go,73 +EXPERIMENTAL_OTEL_SERVICE_NAME,./usecases/telemetry/opentelemetry/config.go,60 +EXPERIMENTAL_OTEL_TRACES_SAMPLER_ARG,./usecases/telemetry/opentelemetry/config.go,91 +FAST_FAILURE_DETECTION,./usecases/config/environment.go,1549 +FLAT_INDEX_DISABLE_FORCED_COMPACTION,./adapters/repos/db/vector/flat/index.go,286 +FORCE_FULL_REPLICAS_SEARCH,./usecases/config/environment.go,135 +FRIENDLI_TOKEN,./modules/generative-friendliai/module.go,64 +GCLOUD_PROJECT,./modules/backup-gcs/client.go,61 +GCP_PROJECT,./modules/backup-gcs/client.go,63 +GITHUB_TOKEN,./tools/dev/generate_release_notes/main.go,36 +GO_BLOCK_PROFILE_RATE,./usecases/config/environment.go,758 +GO_MUTEX_PROFILE_FRACTION,./usecases/config/environment.go,767 +GO_PROFILING_DISABLE,./usecases/config/environment.go,360 +GO_PROFILING_PORT,./usecases/config/environment.go,205 +GOMAXPROCS,./adapters/handlers/rest/configure_api.go,2109 +GOOGLE_APIKEY,./modules/generative-google/module.go,71 +GOOGLE_CLOUD_PROJECT,./modules/backup-gcs/client.go,59 +GPT4ALL_INFERENCE_API,./modules/text2vec-gpt4all/module.go,94 +GPT4ALL_WAIT_FOR_STARTUP,./modules/text2vec-gpt4all/module.go,100 +GRPC_CERT_FILE,./usecases/config/environment.go,809 +GRPC_KEY_FILE,./usecases/config/environment.go,813 +HNSW_DEFAULT_FILTER_STRATEGY,./entities/vectorindex/hnsw/config.go,121 +HNSW_STARTUP_WAIT_FOR_VECTOR_CACHE,./usecases/config/environment.go,858 +HUGGINGFACE_APIKEY,./modules/text2vec-huggingface/module.go,102 +IMAGE_INFERENCE_API,./modules/img2vec-neural/module.go,76 +INDEX_MISSING_TEXT_FILTERABLE_AT_STARTUP,./usecases/config/environment.go,158 +INDEX_RANGEABLE_IN_MEMORY,./usecases/config/environment.go,500 +INVERTED_SORTER_DISABLED,./usecases/config/environment.go,990 +JINAAI_APIKEY,./modules/multi2multivec-jinaai/module.go,97 +LANGUAGES,./tools/release_template/main.go,120 +LIMIT_RESOURCES,./adapters/handlers/rest/configure_api.go,2107 +LOG_FORMAT,./adapters/handlers/rest/configure_api.go,1338 +LOG_LEVEL,./adapters/handlers/rest/configure_api.go,1341 +LOG_STACK_TRACE_ON_ERROR_GROUP,./entities/errors/error_group_wrapper.go,55 +LOWERCASE_VECTORIZATION_INPUT,./usecases/modulecomponents/vectorizer/object_texts.go,79 +MAINTENANCE_NODES,./usecases/config/environment.go,1563 +MAX_IMPORT_GOROUTINES_FACTOR,./usecases/config/environment.go,674 +MAX_MEMORY_MAPPINGS,./usecases/memwatch/monitor.go,219 +MAXIMUM_CONCURRENT_GET_REQUESTS,./usecases/config/environment.go,776 +MEMBERLIST_FAST_FAILURE_DETECTION,./usecases/config/environment.go,1549 +MEMORY_ESTIMATE_DELETE_BYTES,./usecases/memwatch/monitor.go,331 +MEMORY_READONLY_PERCENTAGE,./usecases/config/environment.go,1463 +MEMORY_WARNING_PERCENTAGE,./usecases/config/environment.go,1453 +MINIMUM_INTERNAL_TIMEOUT,./usecases/config/environment.go,106 +MISTRAL_APIKEY,./modules/text2vec-mistral/module.go,104 +MODEL2VEC_INFERENCE_API,./modules/text2vec-model2vec/module.go,98 +MODEL2VEC_WAIT_FOR_STARTUP,./modules/text2vec-model2vec/module.go,94 +MODULES_CLIENT_TIMEOUT,./usecases/config/environment.go,697 +MORPH_APIKEY,./modules/text2vec-morph/module.go,105 +NER_INFERENCE_API,./modules/ner-transformers/module.go,66 +NER_WAIT_FOR_STARTUP,./modules/ner-transformers/module.go,72 +NVIDIA_APIKEY,./modules/multi2vec-nvidia/module.go,97 +OBJECTS_TTL_MINIMUM_DEFAULT_TTL,./adapters/repos/db/ttl/config.go,35 +OCTOAI_APIKEY,./modules/generative-octoai/module.go,64 +OPENAI_APIKEY,./modules/qna-openai/module.go,135 +OPENAI_ORGANIZATION,./modules/qna-openai/module.go,136 +OPERATIONAL_MODE,./usecases/config/environment.go,996 +ORIGIN,./usecases/config/environment.go,599 +PALM_APIKEY,./modules/generative-google/module.go,73 +PERSISTENCE_DATA_PATH,./modules/offload-s3/module.go,174 +PERSISTENCE_HNSW_DISABLE_SNAPSHOTS,./usecases/config/environment.go,456 +PERSISTENCE_HNSW_MAX_LOG_SIZE,./usecases/config/environment.go,443 +PERSISTENCE_HNSW_SNAPSHOT_ON_STARTUP,./usecases/config/environment.go,469 +PERSISTENCE_LAZY_SEGMENTS_DISABLED,./usecases/config/environment.go,408 +PERSISTENCE_LSM_ACCESS_STRATEGY,./usecases/config/environment.go,366 +PERSISTENCE_LSM_ENABLE_SEGMENTS_CHECKSUM_VALIDATION,./usecases/config/environment.go,393 +PERSISTENCE_LSM_MAX_SEGMENT_SIZE,./usecases/config/environment.go,370 +PERSISTENCE_LSM_SEPARATE_OBJECTS_COMPACTIONS,./usecases/config/environment.go,389 +PERSISTENCE_MAX_REUSE_WAL_SIZE,./usecases/config/environment.go,424 +PERSISTENCE_MIN_MMAP_SIZE,./usecases/config/environment.go,397 +PERSISTENCE_SEGMENT_INFO_FROM_FILE_DISABLED,./usecases/config/environment.go,412 +PERSISTENCE_WRITE_METADATA_FILES_ENABLED,./usecases/config/environment.go,418 +PREVIOUS_VERSION,./tools/dev/generate_release_notes/main.go,51 +PROMETHEUS_MONITOR_CRITICAL_BUCKETS_ONLY,./usecases/config/environment.go,96 +PROMETHEUS_MONITORING_ENABLED,./usecases/config/environment.go,74 +PROMETHEUS_MONITORING_GROUP,./usecases/config/environment.go,81 +PROMETHEUS_MONITORING_GROUP_CLASSES,./usecases/config/environment.go,80 +PROMETHEUS_MONITORING_METRIC_NAMESPACE,./usecases/config/environment.go,92 +PROMETHEUS_MONITORING_PORT,./usecases/config/environment.go,196 +QNA_INFERENCE_API,./modules/qna-transformers/module.go,138 +QNA_WAIT_FOR_STARTUP,./modules/qna-transformers/module.go,144 +QUERY_DEFAULTS_LIMIT,./usecases/config/environment.go,607 +QUERY_DEFAULTS_LIMIT_GRAPHQL,./usecases/config/environment.go,620 +QUERY_HYBRID_MAXIMUM_RESULTS,./usecases/config/environment.go,644 +QUERY_MAXIMUM_RESULTS,./usecases/config/environment.go,633 +QUERY_NESTED_CROSS_REFERENCE_LIMIT,./usecases/config/environment.go,654 +QUERY_SLOW_LOG_ENABLED,./usecases/config/environment.go,956 +QUERY_SLOW_LOG_THRESHOLD,./usecases/config/environment.go,960 +QUEUE_RETRY_INTERVAL,./adapters/repos/db/queue/scheduler.go,90 +QUEUE_SCHEDULER_INTERVAL,./adapters/repos/db/queue/scheduler.go,73 +RAFT_ENABLE_ONE_NODE_RECOVERY,./usecases/config/environment.go,1141 +RAFT_FORCE_ONE_NODE_RECOVERY,./usecases/config/environment.go,1142 +RAFT_METADATA_ONLY_VOTERS,./usecases/config/environment.go,1006 +RECOUNT_PROPERTIES_AT_STARTUP,./usecases/config/environment.go,150 +REINDEX_INDEXES_AT_STARTUP,./usecases/config/environment.go,183 +REINDEX_MAP_TO_BLOCKMAX_SELECT,./usecases/config/environment.go,584 +REINDEX_SET_TO_ROARINGSET_AT_STARTUP,./usecases/config/environment.go,154 +REINDEX_VECTOR_DIMENSIONS_AT_STARTUP,./usecases/config/environment.go,127 +REPLICA_MOVEMENT_ENABLED,./usecases/config/environment.go,934 +REPLICA_MOVEMENT_MINIMUM_ASYNC_WAIT,./usecases/config/environment.go,938 +REPLICATED_INDICES_REQUEST_QUEUE_ENABLED,./usecases/config/environment.go,1571 +REPLICATION_FORCE_DELETION_STRATEGY,./usecases/config/environment.go,849 +RERANKER_INFERENCE_API,./modules/reranker-transformers/module.go,66 +RERANKER_WAIT_FOR_STARTUP,./modules/reranker-transformers/module.go,74 +REVECTORIZE_CHECK_DISABLED,./usecases/config/environment.go,951 +RUNTIME_OVERRIDES_ENABLED,./usecases/config/environment.go,899 +RUNTIME_OVERRIDES_LOAD_INTERVAL,./usecases/config/environment.go,906 +RUNTIME_OVERRIDES_PATH,./usecases/config/environment.go,901 +SENTRY_CLUSTER_ID,./entities/sentry/config.go,72 +SENTRY_CLUSTER_OWNER,./entities/sentry/config.go,71 +SENTRY_DEBUG,./entities/sentry/config.go,107 +SENTRY_DSN,./entities/sentry/config.go,61 +SENTRY_ENABLED,./entities/sentry/config.go,56 +SENTRY_ENVIRONMENT,./entities/sentry/config.go,66 +SENTRY_ERROR_REPORTING_DISABLED,./entities/sentry/config.go,75 +SENTRY_ERROR_SAMPLE_RATE,./entities/sentry/config.go,78 +SENTRY_PROFILE_SAMPLE_RATE,./entities/sentry/config.go,100 +SENTRY_PROFILING_DISABLED,./entities/sentry/config.go,97 +SENTRY_RELEASE,./entities/sentry/config.go,108 +SENTRY_TRACES_SAMPLE_RATE,./entities/sentry/config.go,89 +SENTRY_TRACING_DISABLED,./entities/sentry/config.go,86 +SPELLCHECK_INFERENCE_API,./modules/text-spellcheck/module.go,58 +SUM_INFERENCE_API,./modules/sum-transformers/module.go,66 +SUM_WAIT_FOR_STARTUP,./modules/sum-transformers/module.go,72 +TENANT_ACTIVITY_READ_LOG_LEVEL,./usecases/config/environment.go,741 +TENANT_ACTIVITY_WRITE_LOG_LEVEL,./usecases/config/environment.go,747 +TOKENIZER_CONCURRENCY_COUNT,./entities/tokenizer/tokenizer.go,65 +TOMBSTONE_DELETION_CONCURRENCY,./adapters/repos/db/vector/hnsw/delete.go,441 +TOMBSTONE_DELETION_MAX_PER_CYCLE,./adapters/repos/db/vector/hnsw/delete.go,421 +TOMBSTONE_DELETION_MIN_PER_CYCLE,./adapters/repos/db/vector/hnsw/delete.go,431 +TRACK_VECTOR_DIMENSIONS,./usecases/config/environment.go,101 +TRACK_VECTOR_DIMENSIONS_INTERVAL,./usecases/config/environment.go,117 +TRANSFER_INACTIVITY_TIMEOUT,./usecases/config/environment.go,139 +TRANSFORMERS_INFERENCE_API,./modules/text2vec-transformers/module.go,96 +TRANSFORMERS_PASSAGE_INFERENCE_API,./modules/text2vec-transformers/module.go,94 +TRANSFORMERS_QUERY_INFERENCE_API,./modules/text2vec-transformers/module.go,95 +TRANSFORMERS_WAIT_FOR_STARTUP,./modules/text2vec-transformers/module.go,117 +TX_SLOW_LOG_AGE_THRESHOLD_SECONDS,./usecases/cluster/transactions_slowlog.go,28 +TX_SLOW_LOG_CHANGE_THRESHOLD_SECONDS,./usecases/cluster/transactions_slowlog.go,35 +USAGE_GCS_BUCKET,./modules/usage-gcs/module.go,138 +USAGE_GCS_PREFIX,./modules/usage-gcs/module.go,146 +USAGE_POLICY_VERSION,./usecases/modulecomponents/usage/base_storage.go,167 +USAGE_S3_BUCKET,./modules/usage-s3/module.go,138 +USAGE_S3_PREFIX,./modules/usage-s3/module.go,146 +USAGE_SCRAPE_INTERVAL,./usecases/modulecomponents/usage/base_storage.go,155 +USAGE_SHARD_JITTER_INTERVAL,./usecases/modulecomponents/usage/base_storage.go,176 +USAGE_VERIFY_PERMISSIONS,./usecases/modulecomponents/usage/base_storage.go,189 +USE_BLOCKMAX_WAND,./adapters/repos/db/inverted/bm25_searcher.go,108 +USE_GOOGLE_AUTH,./modules/generative-google/module.go,75 +USE_GSE,./usecases/schema/class.go,812 +USE_INVERTED_SEARCHABLE,./usecases/config/config_handler.go,60 +VERSION,./tools/release_template/main.go,29 +VOYAGEAI_APIKEY,./modules/reranker-voyageai/module.go,66 +WEAVIATE_TEST_COPY_REPLICA_SLEEP,./cluster/replication/copier/copier.go,132 +XAI_APIKEY,./modules/generative-xai/module.go,64 diff --git a/find-undocumented-env-vars.sh b/find-undocumented-env-vars.sh index 009a001a..e685c6a5 100755 --- a/find-undocumented-env-vars.sh +++ b/find-undocumented-env-vars.sh @@ -26,9 +26,13 @@ echo "=====================" # Skip header line, extract env var names, and check if they appear in docs tail -n +2 "$CSV_FILE" | cut -d',' -f1 | sort -u | while read -r env_var; do + # Skip empty lines + [ -z "$env_var" ] && continue + # Search for the env var in the specified directories + # Use -F for literal string matching, -w for word boundaries # Use -q for quiet (just exit status), -r for recursive - if ! grep -rq "$env_var" $SEARCH_DIRS 2>/dev/null; then + if ! grep -rqFw "$env_var" $SEARCH_DIRS 2>/dev/null; then echo "$env_var" fi done From e13bdc55831a0a350b0538ada3adabf81ed5f5a0 Mon Sep 17 00:00:00 2001 From: JP Hwang Date: Fri, 19 Dec 2025 15:39:12 +0000 Subject: [PATCH 3/3] wip --- env-vars-list.csv | 276 ---------------------------------- find-undocumented-env-vars.sh | 57 +++++-- 2 files changed, 46 insertions(+), 287 deletions(-) delete mode 100644 env-vars-list.csv diff --git a/env-vars-list.csv b/env-vars-list.csv deleted file mode 100644 index 2eb48746..00000000 --- a/env-vars-list.csv +++ /dev/null @@ -1,276 +0,0 @@ -ENV_VAR_NAME,FIRST_FILE,FIRST_LINE -ANTHROPIC_APIKEY,./modules/generative-anthropic/module.go,64 -ANYSCALE_APIKEY,./modules/generative-anyscale/module.go,64 -API_BASED_MODULES_DISABLED,./usecases/config/environment.go,715 -ASYNC_INDEXING,./usecases/config/environment.go,862 -ASYNC_INDEXING_BATCH_SIZE,./adapters/repos/db/vector_index_queue.go,74 -ASYNC_INDEXING_STALE_TIMEOUT,./adapters/repos/db/vector_index_queue.go,73 -ASYNC_REPLICATION_ALIVE_NODES_CHECKING_FREQUENCY,./adapters/repos/db/shard_async_replication.go,124 -ASYNC_REPLICATION_DIFF_BATCH_SIZE,./adapters/repos/db/shard_async_replication.go,142 -ASYNC_REPLICATION_DIFF_PER_NODE_TIMEOUT,./adapters/repos/db/shard_async_replication.go,148 -ASYNC_REPLICATION_DISABLED,./usecases/config/environment.go,847 -ASYNC_REPLICATION_FREQUENCY,./adapters/repos/db/shard_async_replication.go,113 -ASYNC_REPLICATION_FREQUENCY_WHILE_PROPAGATING,./adapters/repos/db/shard_async_replication.go,118 -ASYNC_REPLICATION_HASHTREE_HEIGHT,./adapters/repos/db/shard_async_replication.go,108 -ASYNC_REPLICATION_INIT_SHIELD_CPU_EVERY_N,./adapters/repos/db/shard_async_replication.go,136 -ASYNC_REPLICATION_LOGGING_FREQUENCY,./adapters/repos/db/shard_async_replication.go,130 -ASYNC_REPLICATION_PRE_PROPAGATION_TIMEOUT,./adapters/repos/db/shard_async_replication.go,154 -ASYNC_REPLICATION_PROPAGATION_BATCH_SIZE,./adapters/repos/db/shard_async_replication.go,184 -ASYNC_REPLICATION_PROPAGATION_CONCURRENCY,./adapters/repos/db/shard_async_replication.go,178 -ASYNC_REPLICATION_PROPAGATION_DELAY,./adapters/repos/db/shard_async_replication.go,172 -ASYNC_REPLICATION_PROPAGATION_LIMIT,./adapters/repos/db/shard_async_replication.go,166 -ASYNC_REPLICATION_PROPAGATION_TIMEOUT,./adapters/repos/db/shard_async_replication.go,160 -AUTHENTICATION_ANONYMOUS_ACCESS_ENABLED,./usecases/config/environment.go,214 -AUTHENTICATION_APIKEY_ALLOWED_KEYS,./usecases/config/environment.go,280 -AUTHENTICATION_APIKEY_ENABLED,./usecases/config/environment.go,277 -AUTHENTICATION_APIKEY_USERS,./usecases/config/environment.go,285 -AUTHENTICATION_DB_USERS_ENABLED,./usecases/config/environment.go,273 -AUTHENTICATION_OIDC_CERTIFICATE,./usecases/config/environment.go,255 -AUTHENTICATION_OIDC_CLIENT_ID,./usecases/config/environment.go,239 -AUTHENTICATION_OIDC_ENABLED,./usecases/config/environment.go,218 -AUTHENTICATION_OIDC_GROUPS_CLAIM,./usecases/config/environment.go,251 -AUTHENTICATION_OIDC_ISSUER,./usecases/config/environment.go,235 -AUTHENTICATION_OIDC_JWKS_URL,./usecases/config/environment.go,259 -AUTHENTICATION_OIDC_SCOPES,./usecases/config/environment.go,243 -AUTHENTICATION_OIDC_SKIP_CLIENT_ID_CHECK,./usecases/config/environment.go,231 -AUTHENTICATION_OIDC_USERNAME_CLAIM,./usecases/config/environment.go,247 -AUTHORIZATION_ADMIN_USERS,./usecases/config/environment.go,327 -AUTHORIZATION_ADMINLIST_ENABLED,./usecases/config/environment.go,292 -AUTHORIZATION_ADMINLIST_GROUPS,./usecases/config/environment.go,305 -AUTHORIZATION_ADMINLIST_READONLY_GROUPS,./usecases/config/environment.go,310 -AUTHORIZATION_ADMINLIST_READONLY_USERS,./usecases/config/environment.go,300 -AUTHORIZATION_ADMINLIST_USERS,./usecases/config/environment.go,295 -AUTHORIZATION_ENABLE_RBAC,./usecases/config/environment.go,316 -AUTHORIZATION_RBAC_ENABLED,./usecases/config/environment.go,316 -AUTHORIZATION_RBAC_IP_IN_AUDIT_LOG_DISABLED,./usecases/config/environment.go,319 -AUTHORIZATION_RBAC_READONLY_GROUPS,./usecases/config/environment.go,338 -AUTHORIZATION_RBAC_ROOT_GROUPS,./usecases/config/environment.go,333 -AUTHORIZATION_RBAC_ROOT_USERS,./usecases/config/environment.go,323 -AUTOSCHEMA_DEFAULT_DATE,./usecases/config/environment.go,736 -AUTOSCHEMA_DEFAULT_NUMBER,./usecases/config/environment.go,732 -AUTOSCHEMA_DEFAULT_STRING,./usecases/config/environment.go,728 -AUTOSCHEMA_ENABLED,./usecases/config/environment.go,722 -AWS_ACCESS_KEY,./modules/multi2vec-aws/module.go,112 -AWS_ACCESS_KEY_ID,./modules/multi2vec-aws/module.go,109 -AWS_DEFAULT_REGION,./modules/backup-s3/client.go,54 -AWS_ENDPOINT,./modules/usage-s3/storage.go,45 -AWS_REGION,./modules/backup-s3/client.go,52 -AWS_SECRET_ACCESS_KEY,./modules/multi2vec-aws/module.go,116 -AWS_SECRET_KEY,./modules/multi2vec-aws/module.go,119 -AWS_SESSION_TOKEN,./modules/multi2vec-aws/module.go,99 -AZURE_APIKEY,./modules/qna-openai/module.go,137 -AZURE_BLOCK_SIZE,./modules/backup-azure/client.go,280 -AZURE_CONCURRENCY,./modules/backup-azure/client.go,298 -AZURE_STORAGE_ACCOUNT,./modules/backup-azure/client.go,73 -AZURE_STORAGE_CONNECTION_STRING,./modules/backup-azure/client.go,50 -AZURE_STORAGE_KEY,./modules/backup-azure/client.go,74 -BACKUP_GCS_USE_AUTH,./modules/backup-gcs/client.go,46 -BIGRAM,./modules/text2vec-bigram/bigram.go,65 -BIND_INFERENCE_API,./modules/multi2vec-bind/module.go,143 -BLOCKMAX_WAND_PER_SEGMENT_LIMIT,./adapters/repos/db/inverted/bm25_searcher_block.go,186 -CLIP_INFERENCE_API,./modules/multi2vec-clip/module.go,108 -CLIP_WAIT_FOR_STARTUP,./modules/multi2vec-clip/module.go,114 -CLUSTER_ADVERTISE_ADDR,./usecases/config/environment.go,1489 -CLUSTER_ADVERTISE_PORT,./usecases/config/environment.go,1499 -CLUSTER_BASIC_AUTH_PASSWORD,./usecases/config/environment.go,1540 -CLUSTER_BASIC_AUTH_USERNAME,./usecases/config/environment.go,1539 -CLUSTER_BIND_ADDR,./usecases/config/environment.go,1494 -CLUSTER_DATA_BIND_PORT,./usecases/config/environment.go,1510 -CLUSTER_GOSSIP_BIND_PORT,./usecases/config/environment.go,1509 -CLUSTER_HOSTNAME,./usecases/config/runtime/launch_darkly.go,70 -CLUSTER_IGNORE_SCHEMA_SYNC,./usecases/config/environment.go,1535 -CLUSTER_IN_LOCALHOST,./usecases/modulecomponents/usage/base_storage.go,115 -CLUSTER_JOIN,./usecases/config/environment.go,1487 -CLUSTER_SKIP_SCHEMA_REPAIR,./usecases/config/environment.go,1537 -COHERE_APIKEY,./modules/generative-cohere/module.go,64 -CONTEXTIONARY_URL,./usecases/config/environment.go,603 -CONTEXTUALAI_APIKEY,./modules/generative-contextualai/module.go,64 -CORS_ALLOW_HEADERS,./usecases/config/environment.go,1160 -CORS_ALLOW_METHODS,./usecases/config/environment.go,1154 -CORS_ALLOW_ORIGIN,./usecases/config/environment.go,1148 -CURRENT_VERSION,./tools/dev/generate_release_notes/main.go,45 -DATABRICKS_TOKEN,./modules/generative-databricks/module.go,63 -DEFAULT_QUANTIZATION,./usecases/config/environment.go,491 -DEFAULT_TOKENIZATION,./usecases/schema/class.go,486 -DEFAULT_VECTOR_DISTANCE_METRIC,./usecases/config/environment.go,707 -DEFAULT_VECTORIZER_MODULE,./usecases/config/environment.go,687 -DISABLE_GRAPHQL,./usecases/config/environment.go,833 -DISABLE_LAZY_LOAD_SHARDS,./usecases/config/environment.go,131 -DISABLE_RECOVERY_ON_PANIC,./adapters/repos/db/inverted/bm25_searcher_block.go,53 -DISABLE_TELEMETRY,./usecases/config/environment.go,854 -DISK_USE_READONLY_PERCENTAGE,./usecases/config/environment.go,1443 -DISK_USE_WARNING_PERCENTAGE,./usecases/config/environment.go,1433 -DISTRIBUTED_TASKS_ENABLED,./usecases/config/environment.go,930 -ENABLE_CLEANUP_UNFINISHED_BACKUPS,./adapters/handlers/rest/configure_api.go,1121 -ENABLE_EXPERIMENTAL_HYBRID_OPERANDS,./adapters/handlers/graphql/local/aggregate/hybrid_search.go,116 -ENABLE_MODULES,./usecases/config/environment.go,711 -ENABLE_TOKENIZER_GSE,./usecases/schema/class.go,812 -ENABLE_TOKENIZER_GSE_CH,./usecases/schema/class.go,817 -ENABLE_TOKENIZER_KAGOME_JA,./usecases/schema/class.go,827 -ENABLE_TOKENIZER_KAGOME_KR,./usecases/schema/class.go,822 -EXPERIMENTAL_AUTHORIZATION_RBAC_ADMIN_USERS,./usecases/config/environment.go,354 -EXPERIMENTAL_AUTHORIZATION_RBAC_READONLY_ROOT_GROUPS,./usecases/config/environment.go,343 -EXPERIMENTAL_AUTHORIZATION_RBAC_READONLY_USERS,./usecases/config/environment.go,349 -EXPERIMENTAL_HFRESH_ENABLED,./usecases/config/environment.go,496 -EXPERIMENTAL_METADATA_SERVER_ENABLED,./usecases/config/environment.go,884 -EXPERIMENTAL_METADATA_SERVER_GRPC_LISTEN_ADDRESS,./usecases/config/environment.go,888 -EXPERIMENTAL_OTEL_BSP_EXPORT_TIMEOUT,./usecases/telemetry/opentelemetry/config.go,98 -EXPERIMENTAL_OTEL_BSP_MAX_EXPORT_BATCH_SIZE,./usecases/telemetry/opentelemetry/config.go,104 -EXPERIMENTAL_OTEL_ENABLED,./usecases/telemetry/opentelemetry/config.go,54 -EXPERIMENTAL_OTEL_ENVIRONMENT,./usecases/telemetry/opentelemetry/config.go,64 -EXPERIMENTAL_OTEL_EXPORTER_OTLP_ENDPOINT,./usecases/telemetry/opentelemetry/config.go,69 -EXPERIMENTAL_OTEL_EXPORTER_OTLP_PROTOCOL,./usecases/telemetry/opentelemetry/config.go,73 -EXPERIMENTAL_OTEL_SERVICE_NAME,./usecases/telemetry/opentelemetry/config.go,60 -EXPERIMENTAL_OTEL_TRACES_SAMPLER_ARG,./usecases/telemetry/opentelemetry/config.go,91 -FAST_FAILURE_DETECTION,./usecases/config/environment.go,1549 -FLAT_INDEX_DISABLE_FORCED_COMPACTION,./adapters/repos/db/vector/flat/index.go,286 -FORCE_FULL_REPLICAS_SEARCH,./usecases/config/environment.go,135 -FRIENDLI_TOKEN,./modules/generative-friendliai/module.go,64 -GCLOUD_PROJECT,./modules/backup-gcs/client.go,61 -GCP_PROJECT,./modules/backup-gcs/client.go,63 -GITHUB_TOKEN,./tools/dev/generate_release_notes/main.go,36 -GO_BLOCK_PROFILE_RATE,./usecases/config/environment.go,758 -GO_MUTEX_PROFILE_FRACTION,./usecases/config/environment.go,767 -GO_PROFILING_DISABLE,./usecases/config/environment.go,360 -GO_PROFILING_PORT,./usecases/config/environment.go,205 -GOMAXPROCS,./adapters/handlers/rest/configure_api.go,2109 -GOOGLE_APIKEY,./modules/generative-google/module.go,71 -GOOGLE_CLOUD_PROJECT,./modules/backup-gcs/client.go,59 -GPT4ALL_INFERENCE_API,./modules/text2vec-gpt4all/module.go,94 -GPT4ALL_WAIT_FOR_STARTUP,./modules/text2vec-gpt4all/module.go,100 -GRPC_CERT_FILE,./usecases/config/environment.go,809 -GRPC_KEY_FILE,./usecases/config/environment.go,813 -HNSW_DEFAULT_FILTER_STRATEGY,./entities/vectorindex/hnsw/config.go,121 -HNSW_STARTUP_WAIT_FOR_VECTOR_CACHE,./usecases/config/environment.go,858 -HUGGINGFACE_APIKEY,./modules/text2vec-huggingface/module.go,102 -IMAGE_INFERENCE_API,./modules/img2vec-neural/module.go,76 -INDEX_MISSING_TEXT_FILTERABLE_AT_STARTUP,./usecases/config/environment.go,158 -INDEX_RANGEABLE_IN_MEMORY,./usecases/config/environment.go,500 -INVERTED_SORTER_DISABLED,./usecases/config/environment.go,990 -JINAAI_APIKEY,./modules/multi2multivec-jinaai/module.go,97 -LANGUAGES,./tools/release_template/main.go,120 -LIMIT_RESOURCES,./adapters/handlers/rest/configure_api.go,2107 -LOG_FORMAT,./adapters/handlers/rest/configure_api.go,1338 -LOG_LEVEL,./adapters/handlers/rest/configure_api.go,1341 -LOG_STACK_TRACE_ON_ERROR_GROUP,./entities/errors/error_group_wrapper.go,55 -LOWERCASE_VECTORIZATION_INPUT,./usecases/modulecomponents/vectorizer/object_texts.go,79 -MAINTENANCE_NODES,./usecases/config/environment.go,1563 -MAX_IMPORT_GOROUTINES_FACTOR,./usecases/config/environment.go,674 -MAX_MEMORY_MAPPINGS,./usecases/memwatch/monitor.go,219 -MAXIMUM_CONCURRENT_GET_REQUESTS,./usecases/config/environment.go,776 -MEMBERLIST_FAST_FAILURE_DETECTION,./usecases/config/environment.go,1549 -MEMORY_ESTIMATE_DELETE_BYTES,./usecases/memwatch/monitor.go,331 -MEMORY_READONLY_PERCENTAGE,./usecases/config/environment.go,1463 -MEMORY_WARNING_PERCENTAGE,./usecases/config/environment.go,1453 -MINIMUM_INTERNAL_TIMEOUT,./usecases/config/environment.go,106 -MISTRAL_APIKEY,./modules/text2vec-mistral/module.go,104 -MODEL2VEC_INFERENCE_API,./modules/text2vec-model2vec/module.go,98 -MODEL2VEC_WAIT_FOR_STARTUP,./modules/text2vec-model2vec/module.go,94 -MODULES_CLIENT_TIMEOUT,./usecases/config/environment.go,697 -MORPH_APIKEY,./modules/text2vec-morph/module.go,105 -NER_INFERENCE_API,./modules/ner-transformers/module.go,66 -NER_WAIT_FOR_STARTUP,./modules/ner-transformers/module.go,72 -NVIDIA_APIKEY,./modules/multi2vec-nvidia/module.go,97 -OBJECTS_TTL_MINIMUM_DEFAULT_TTL,./adapters/repos/db/ttl/config.go,35 -OCTOAI_APIKEY,./modules/generative-octoai/module.go,64 -OPENAI_APIKEY,./modules/qna-openai/module.go,135 -OPENAI_ORGANIZATION,./modules/qna-openai/module.go,136 -OPERATIONAL_MODE,./usecases/config/environment.go,996 -ORIGIN,./usecases/config/environment.go,599 -PALM_APIKEY,./modules/generative-google/module.go,73 -PERSISTENCE_DATA_PATH,./modules/offload-s3/module.go,174 -PERSISTENCE_HNSW_DISABLE_SNAPSHOTS,./usecases/config/environment.go,456 -PERSISTENCE_HNSW_MAX_LOG_SIZE,./usecases/config/environment.go,443 -PERSISTENCE_HNSW_SNAPSHOT_ON_STARTUP,./usecases/config/environment.go,469 -PERSISTENCE_LAZY_SEGMENTS_DISABLED,./usecases/config/environment.go,408 -PERSISTENCE_LSM_ACCESS_STRATEGY,./usecases/config/environment.go,366 -PERSISTENCE_LSM_ENABLE_SEGMENTS_CHECKSUM_VALIDATION,./usecases/config/environment.go,393 -PERSISTENCE_LSM_MAX_SEGMENT_SIZE,./usecases/config/environment.go,370 -PERSISTENCE_LSM_SEPARATE_OBJECTS_COMPACTIONS,./usecases/config/environment.go,389 -PERSISTENCE_MAX_REUSE_WAL_SIZE,./usecases/config/environment.go,424 -PERSISTENCE_MIN_MMAP_SIZE,./usecases/config/environment.go,397 -PERSISTENCE_SEGMENT_INFO_FROM_FILE_DISABLED,./usecases/config/environment.go,412 -PERSISTENCE_WRITE_METADATA_FILES_ENABLED,./usecases/config/environment.go,418 -PREVIOUS_VERSION,./tools/dev/generate_release_notes/main.go,51 -PROMETHEUS_MONITOR_CRITICAL_BUCKETS_ONLY,./usecases/config/environment.go,96 -PROMETHEUS_MONITORING_ENABLED,./usecases/config/environment.go,74 -PROMETHEUS_MONITORING_GROUP,./usecases/config/environment.go,81 -PROMETHEUS_MONITORING_GROUP_CLASSES,./usecases/config/environment.go,80 -PROMETHEUS_MONITORING_METRIC_NAMESPACE,./usecases/config/environment.go,92 -PROMETHEUS_MONITORING_PORT,./usecases/config/environment.go,196 -QNA_INFERENCE_API,./modules/qna-transformers/module.go,138 -QNA_WAIT_FOR_STARTUP,./modules/qna-transformers/module.go,144 -QUERY_DEFAULTS_LIMIT,./usecases/config/environment.go,607 -QUERY_DEFAULTS_LIMIT_GRAPHQL,./usecases/config/environment.go,620 -QUERY_HYBRID_MAXIMUM_RESULTS,./usecases/config/environment.go,644 -QUERY_MAXIMUM_RESULTS,./usecases/config/environment.go,633 -QUERY_NESTED_CROSS_REFERENCE_LIMIT,./usecases/config/environment.go,654 -QUERY_SLOW_LOG_ENABLED,./usecases/config/environment.go,956 -QUERY_SLOW_LOG_THRESHOLD,./usecases/config/environment.go,960 -QUEUE_RETRY_INTERVAL,./adapters/repos/db/queue/scheduler.go,90 -QUEUE_SCHEDULER_INTERVAL,./adapters/repos/db/queue/scheduler.go,73 -RAFT_ENABLE_ONE_NODE_RECOVERY,./usecases/config/environment.go,1141 -RAFT_FORCE_ONE_NODE_RECOVERY,./usecases/config/environment.go,1142 -RAFT_METADATA_ONLY_VOTERS,./usecases/config/environment.go,1006 -RECOUNT_PROPERTIES_AT_STARTUP,./usecases/config/environment.go,150 -REINDEX_INDEXES_AT_STARTUP,./usecases/config/environment.go,183 -REINDEX_MAP_TO_BLOCKMAX_SELECT,./usecases/config/environment.go,584 -REINDEX_SET_TO_ROARINGSET_AT_STARTUP,./usecases/config/environment.go,154 -REINDEX_VECTOR_DIMENSIONS_AT_STARTUP,./usecases/config/environment.go,127 -REPLICA_MOVEMENT_ENABLED,./usecases/config/environment.go,934 -REPLICA_MOVEMENT_MINIMUM_ASYNC_WAIT,./usecases/config/environment.go,938 -REPLICATED_INDICES_REQUEST_QUEUE_ENABLED,./usecases/config/environment.go,1571 -REPLICATION_FORCE_DELETION_STRATEGY,./usecases/config/environment.go,849 -RERANKER_INFERENCE_API,./modules/reranker-transformers/module.go,66 -RERANKER_WAIT_FOR_STARTUP,./modules/reranker-transformers/module.go,74 -REVECTORIZE_CHECK_DISABLED,./usecases/config/environment.go,951 -RUNTIME_OVERRIDES_ENABLED,./usecases/config/environment.go,899 -RUNTIME_OVERRIDES_LOAD_INTERVAL,./usecases/config/environment.go,906 -RUNTIME_OVERRIDES_PATH,./usecases/config/environment.go,901 -SENTRY_CLUSTER_ID,./entities/sentry/config.go,72 -SENTRY_CLUSTER_OWNER,./entities/sentry/config.go,71 -SENTRY_DEBUG,./entities/sentry/config.go,107 -SENTRY_DSN,./entities/sentry/config.go,61 -SENTRY_ENABLED,./entities/sentry/config.go,56 -SENTRY_ENVIRONMENT,./entities/sentry/config.go,66 -SENTRY_ERROR_REPORTING_DISABLED,./entities/sentry/config.go,75 -SENTRY_ERROR_SAMPLE_RATE,./entities/sentry/config.go,78 -SENTRY_PROFILE_SAMPLE_RATE,./entities/sentry/config.go,100 -SENTRY_PROFILING_DISABLED,./entities/sentry/config.go,97 -SENTRY_RELEASE,./entities/sentry/config.go,108 -SENTRY_TRACES_SAMPLE_RATE,./entities/sentry/config.go,89 -SENTRY_TRACING_DISABLED,./entities/sentry/config.go,86 -SPELLCHECK_INFERENCE_API,./modules/text-spellcheck/module.go,58 -SUM_INFERENCE_API,./modules/sum-transformers/module.go,66 -SUM_WAIT_FOR_STARTUP,./modules/sum-transformers/module.go,72 -TENANT_ACTIVITY_READ_LOG_LEVEL,./usecases/config/environment.go,741 -TENANT_ACTIVITY_WRITE_LOG_LEVEL,./usecases/config/environment.go,747 -TOKENIZER_CONCURRENCY_COUNT,./entities/tokenizer/tokenizer.go,65 -TOMBSTONE_DELETION_CONCURRENCY,./adapters/repos/db/vector/hnsw/delete.go,441 -TOMBSTONE_DELETION_MAX_PER_CYCLE,./adapters/repos/db/vector/hnsw/delete.go,421 -TOMBSTONE_DELETION_MIN_PER_CYCLE,./adapters/repos/db/vector/hnsw/delete.go,431 -TRACK_VECTOR_DIMENSIONS,./usecases/config/environment.go,101 -TRACK_VECTOR_DIMENSIONS_INTERVAL,./usecases/config/environment.go,117 -TRANSFER_INACTIVITY_TIMEOUT,./usecases/config/environment.go,139 -TRANSFORMERS_INFERENCE_API,./modules/text2vec-transformers/module.go,96 -TRANSFORMERS_PASSAGE_INFERENCE_API,./modules/text2vec-transformers/module.go,94 -TRANSFORMERS_QUERY_INFERENCE_API,./modules/text2vec-transformers/module.go,95 -TRANSFORMERS_WAIT_FOR_STARTUP,./modules/text2vec-transformers/module.go,117 -TX_SLOW_LOG_AGE_THRESHOLD_SECONDS,./usecases/cluster/transactions_slowlog.go,28 -TX_SLOW_LOG_CHANGE_THRESHOLD_SECONDS,./usecases/cluster/transactions_slowlog.go,35 -USAGE_GCS_BUCKET,./modules/usage-gcs/module.go,138 -USAGE_GCS_PREFIX,./modules/usage-gcs/module.go,146 -USAGE_POLICY_VERSION,./usecases/modulecomponents/usage/base_storage.go,167 -USAGE_S3_BUCKET,./modules/usage-s3/module.go,138 -USAGE_S3_PREFIX,./modules/usage-s3/module.go,146 -USAGE_SCRAPE_INTERVAL,./usecases/modulecomponents/usage/base_storage.go,155 -USAGE_SHARD_JITTER_INTERVAL,./usecases/modulecomponents/usage/base_storage.go,176 -USAGE_VERIFY_PERMISSIONS,./usecases/modulecomponents/usage/base_storage.go,189 -USE_BLOCKMAX_WAND,./adapters/repos/db/inverted/bm25_searcher.go,108 -USE_GOOGLE_AUTH,./modules/generative-google/module.go,75 -USE_GSE,./usecases/schema/class.go,812 -USE_INVERTED_SEARCHABLE,./usecases/config/config_handler.go,60 -VERSION,./tools/release_template/main.go,29 -VOYAGEAI_APIKEY,./modules/reranker-voyageai/module.go,66 -WEAVIATE_TEST_COPY_REPLICA_SLEEP,./cluster/replication/copier/copier.go,132 -XAI_APIKEY,./modules/generative-xai/module.go,64 diff --git a/find-undocumented-env-vars.sh b/find-undocumented-env-vars.sh index e685c6a5..d807f45f 100755 --- a/find-undocumented-env-vars.sh +++ b/find-undocumented-env-vars.sh @@ -1,31 +1,65 @@ #!/bin/bash -# Find environment variables that exist in code but aren't documented -# Usage: ./find-undocumented-env-vars.sh path/to/env-vars-list.csv +# Find environment variables that exist in Weaviate code but aren't documented +# This script: +# 1. Extracts env vars from the Weaviate codebase +# 2. Checks which ones are not documented in this docs repo +# +# Usage: ./find-undocumented-env-vars.sh +# Example: ./find-undocumented-env-vars.sh ../weaviate if [ $# -eq 0 ]; then - echo "Usage: $0 " - echo "Example: $0 ../weaviate/env-vars-list.csv" + echo "Usage: $0 " + echo "Example: $0 ../weaviate" exit 1 fi -CSV_FILE="$1" +WEAVIATE_REPO="$1" -if [ ! -f "$CSV_FILE" ]; then - echo "Error: File '$CSV_FILE' not found" +if [ ! -d "$WEAVIATE_REPO" ]; then + echo "Error: Directory '$WEAVIATE_REPO' not found" exit 1 fi -# Directories to search +# Directories to search in docs repo SEARCH_DIRS="docs _includes" -echo "Checking which env vars from $CSV_FILE are not documented..." +echo "Step 1: Extracting env vars from Weaviate repo..." +echo "===========================================" + +# Extract env vars from Weaviate repo (same logic as env-vars-audit.sh) +# NOTE: Only catches string literal patterns like os.Getenv("VAR") and os.Getenv(`VAR`) +# Will NOT catch variables like os.Getenv(varName) +ENV_VARS=$(cd "$WEAVIATE_REPO" && { + # Pattern 1: Double-quoted strings + grep -rnoE 'os\.(Getenv|LookupEnv)\("[^"]+"\)' --include="*.go" --exclude-dir={vendor,test,node_modules,.git} . | while IFS=: read -r file line match; do + env_var=$(echo "$match" | sed -E 's/os\.(Getenv|LookupEnv)\("([^"]+)"\)/\2/') + if [ -n "$env_var" ]; then + echo "$env_var" + fi + done + + # Pattern 2: Backtick/raw strings + grep -rnoE 'os\.(Getenv|LookupEnv)\(`[^`]+`\)' --include="*.go" --exclude-dir={vendor,test,node_modules,.git} . | while IFS=: read -r file line match; do + env_var=$(echo "$match" | sed -E 's/os\.(Getenv|LookupEnv)\(`([^`]+)`\)/\2/') + if [ -n "$env_var" ]; then + echo "$env_var" + fi + done +} | sort -u) + +TOTAL_COUNT=$(echo "$ENV_VARS" | wc -l | tr -d ' ') +echo "Found $TOTAL_COUNT unique environment variables" +echo "" + +echo "Step 2: Checking which are undocumented..." +echo "===========================================" echo "Searching in: $SEARCH_DIRS" echo "" echo "UNDOCUMENTED ENV VARS:" echo "=====================" -# Skip header line, extract env var names, and check if they appear in docs -tail -n +2 "$CSV_FILE" | cut -d',' -f1 | sort -u | while read -r env_var; do +UNDOCUMENTED=0 +echo "$ENV_VARS" | while read -r env_var; do # Skip empty lines [ -z "$env_var" ] && continue @@ -34,6 +68,7 @@ tail -n +2 "$CSV_FILE" | cut -d',' -f1 | sort -u | while read -r env_var; do # Use -q for quiet (just exit status), -r for recursive if ! grep -rqFw "$env_var" $SEARCH_DIRS 2>/dev/null; then echo "$env_var" + UNDOCUMENTED=$((UNDOCUMENTED + 1)) fi done