netx/.env.example
oliver e0503df8a5 Raise runtime defaults for multi-user shared-server deployments.
Size DB pool, CLI budget, and WebCRT session caps for concurrent operators while keeping hard ceilings and env overrides.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-02 18:11:12 +08:00

84 lines
3.9 KiB
Text
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

NETX_DATABASE_URL=postgresql+psycopg://netx:netx@127.0.0.1:5432/netx
# Fernet key for managed NE passwords (python -c "from cryptography.fernet import Fernet; print(Fernet.generate_key().decode())")
NETX_CREDENTIAL_SECRET_KEY=
NETX_NE_CONNECT_MAX_WORKERS=5
NETX_NE_CONNECT_TIMEOUT_SEC=30
# Managed NE CLI: max commands per exec request (default 5, hard cap 50). Lab can set 10+.
NETX_NE_EXEC_MAX_COMMANDS=5
NETX_HOST=127.0.0.1
NETX_PORT=8890
NETX_VENDOR=ZTE
NETX_SOURCE_TYPE=gateway_export_excel
NETX_PARSER_CONFIG=netx_api/config/parsers/zte_alarm_monitor_v1.yaml
NETX_OCLAW_ANALYZE_URL=http://127.0.0.1:8787/admin/api/ops-ai/analyze-sync
NETX_OCLAW_ANALYZE_TOKEN=
NETX_OCLAW_HEALTH_URL=http://127.0.0.1:8787/admin/api/ops-ai/health
NETX_OCLAW_ALARM_WS_ENABLED=false
NETX_OCLAW_ALARM_WS_URL=ws://127.0.0.1:8787/ws/netx-bridge
# 告警 WSS 鉴权与 NETX_OCLAW_ANALYZE_TOKEN 共用(OClaw 侧 OCLAW_OPS_AI_SHARED_TOKEN)
NETX_UME_BASE_URL=https://10.227.157.143:18014
NETX_UME_USERNAME=
NETX_UME_PASSWORD=
NETX_UME_AUTH_HEADER=accessToken
NETX_UME_CONTENT_TYPE=application/yang-data+json;charset=UTF-8
NETX_UME_TOKEN_TTL_S=1800
NETX_UME_TOKEN_REFRESH_SKEW_S=60
NETX_UME_TOKEN_PATH=/restconf/operations/zte-security:oauth_token
NETX_UME_TOKEN_HANDSHAKE_PATH=/restconf/operations/zte-security:oauth_handshake
NETX_UME_TOKEN_LOGOUT_PATH=/restconf/operations/zte-security:oauth_token
NETX_UME_NE_PATH=/restconf/data/zte-resources-module:network-elements
NETX_UME_ALARMS_PATH=/restconf/data/zte-alarms:alarms/alarm-list
NETX_UME_SYNC_ALARMS_CURRENT_ENABLED=true
NETX_UME_SYNC_ALARMS_CURRENT_INTERVAL_S=18000
NETX_UME_SYNC_ALARMS_CURRENT_SKIP_WHEN_WS=true
NETX_UME_STARTUP_SYNC_ALARMS_BEFORE_WS=true
NETX_UME_ALARM_CLEARED_TOMBSTONE_S=300
NETX_UME_ALARM_WS_ENABLED=true
NETX_UME_NOTIFICATION_ESTABLISH_PATH=/restconf/operations/zte-notifications:establish-subscription
NETX_UME_NOTIFICATION_DELETE_PATH=/restconf/operations/zte-notifications:delete-subscription
NETX_UME_NOTIFICATION_TOPIC=ALARM
# TLS verify for UME (default true). Set false only for lab self-signed certs.
# NETX_UME_VERIFY_TLS=true
# Auth (lab defaults: admin/admin123 + data/auth/mcp_token)
# NETX_AUTH_ENABLED=true
# Leave NETX_AUTH_SECRET empty to auto-create data/auth/jwt_secret on first boot.
# NETX_AUTH_SECRET=
# NETX_AUTH_SECRET_FILE=data/auth/jwt_secret
# NETX_BOOTSTRAP_ADMIN_USERNAME=admin
# NETX_BOOTSTRAP_ADMIN_PASSWORD=admin123
# NETX_API_TOKEN= # MCP: leave empty to auto-read data/auth/mcp_token
# API docs (/docs, /redoc, /openapi.json); default false. Lab: set true.
# NETX_DOCS_ENABLED=true
# NETX_ALLOW_INSECURE_DEFAULTS=false
# Schema: Alembic auto-upgrades on API start (defaults on). Override only if needed:
# NETX_ALEMBIC_UPGRADE_ON_START=false
# NETX_SKIP_LEGACY_STARTUP_DDL=false
# NETX_SQL_READONLY_DATABASE_URL=postgresql+psycopg://netx_ro:xxx@127.0.0.1:5432/netx
# Device collectors run inline with the API by default (frontend+backend start is enough).
# Production split only: NETX_RUN_INLINE_SCHEDULERS=false and run `python -m netx_api.worker`
# NETX_RUN_INLINE_SCHEDULERS=false
# --- Multi-user shared-server capacity (defaults in Settings already match these) ---
# NETX_DB_POOL_SIZE=40
# NETX_DB_MAX_OVERFLOW=40
# NETX_DB_POOL_RECYCLE_SEC=1800
# NETX_DB_POOL_TIMEOUT_SEC=30
# NETX_CLI_MAX_CONCURRENT=24
# NETX_CLI_FEATURE_HARD_CAP=32
# NETX_CLI_TIMEOUT_POOL_WORKERS=24
# NETX_PORT_TRAFFIC_DISPATCH_WORKERS=6
# NETX_NE_CONNECT_MAX_WORKERS=8
# NETX_NE_COLLECT_MAX_WORKERS=8
# NETX_NE_COLLECT_RUN_TIMEOUT_CAP_SEC=600
# NETX_NE_COLLECT_MAX_OUTPUT_BYTES=8388608
# NETX_WEBCRT_MAX_SESSIONS=40
# NETX_WEBCRT_KEEPALIVE_SEC=30
# NETX_WEBCRT_OUT_QUEUE_MAX=2000
# NETX_WEBCRT_SESSION_LOG_MAX_BYTES=4194304
# NETX_WEBCRT_SFTP_MAX_FILE_BYTES=536870912
# NETX_WEBCRT_SFTP_LIST_MAX_ENTRIES=5000
# NETX_AUDIT_ASYNC=true
# NETX_AUDIT_SAMPLE_N=5
# NETX_AUDIT_QUEUE_MAX=5000
# NETX_OCLAW_FORWARD_QUEUE_MAX=5000
# NETX_OCLAW_FORWARD_MAX_RETRIES=3
# Heavier fleets: raise CLI/DB together; also ensure Postgres max_connections and bastion session limits.