fix: move hardcoded Discord webhook URL to env var #83

Open
cal wants to merge 3 commits from fix/remove-hardcoded-webhook into main
3 changed files with 13 additions and 1 deletions

3
.env
View File

@ -6,6 +6,9 @@ SBA_DB_USER_PASSWORD=your_production_password
# SBa API
API_TOKEN=Tp3aO3jhYve5NJF1IqOmJTmk
# Integrations
DISCORD_WEBHOOK_URL=
# Universal
TZ=America/Chicago
LOG_LEVEL=INFO

View File

@ -22,6 +22,9 @@ logger = logging.getLogger("discord_app")
# level=log_level
# )
# Discord integration
DISCORD_WEBHOOK_URL = os.environ.get("DISCORD_WEBHOOK_URL")
# Redis configuration
REDIS_HOST = os.environ.get("REDIS_HOST", "localhost")
REDIS_PORT = int(os.environ.get("REDIS_PORT", "6379"))
@ -513,7 +516,12 @@ def send_webhook_message(message: str) -> bool:
Returns:
bool: True if successful, False otherwise
"""
webhook_url = "https://discord.com/api/webhooks/1408811717424840876/7RXG_D5IqovA3Jwa9YOobUjVcVMuLc6cQyezABcWuXaHo5Fvz1en10M7J43o3OJ3bzGW"
webhook_url = DISCORD_WEBHOOK_URL
Review

DISCORD_WEBHOOK_URL is not included in the api service environment block in docker-compose.yml. Without - DISCORD_WEBHOOK_URL=${DISCORD_WEBHOOK_URL} in that file, this os.environ.get will always return None in every deployed environment (dev and prod) and the webhook will silently do nothing.

`DISCORD_WEBHOOK_URL` is not included in the `api` service `environment` block in `docker-compose.yml`. Without `- DISCORD_WEBHOOK_URL=${DISCORD_WEBHOOK_URL}` in that file, this `os.environ.get` will always return `None` in every deployed environment (dev and prod) and the webhook will silently do nothing.
if not webhook_url:
logger.warning(
"DISCORD_WEBHOOK_URL env var is not set — skipping webhook message"
)
return False
try:
payload = {"content": message}

View File

@ -34,6 +34,7 @@ services:
- REDIS_HOST=sba_redis
- REDIS_PORT=6379
- REDIS_DB=0
- DISCORD_WEBHOOK_URL=${DISCORD_WEBHOOK_URL}
depends_on:
- postgres
- redis