# Notifier Service Configuration server: grpc_port: 50051 rest_port: 8080 host: "0.0.0.0" mode: "both" # Options: both, grpc, rest queue: type: "local" # Options: local, kafka max_size: 10000 worker_count: 10 retry_attempts: 3 retry_backoff: "exponential" # Options: exponential, linear, fixed # Local queue configuration local: buffer_size: 1000 persist_to_disk: false persist_path: "/var/lib/notifier/queue.json" # Kafka queue configuration (when type: kafka) # kafka: # brokers: # - "localhost:9092" # topic: "notifications" # consumer_group: "notifier-service" # partition_count: 10 # replication_factor: 3 # enable_idempotence: true # compression_type: "snappy" notifiers: # Enable stdout notifier (useful for development/debugging) stdout: true # SMTP email configuration smtp: host: "smtp.gmail.com" port: 587 username: "your-email@gmail.com" password: "your-app-password" from: "notifications@yourservice.com" use_tls: true # Slack configuration slack: webhook_url: "https://hooks.slack.com/services/YOUR/WEBHOOK/URL" # token: "xoxb-your-bot-token" # Alternative to webhook # channel: "#notifications" # Default channel username: "Notifier Bot" icon_emoji: ":bell:" # Channel-specific webhooks # webhooks: # "#alerts": "https://hooks.slack.com/services/ALERTS/WEBHOOK" # "#monitoring": "https://hooks.slack.com/services/MONITORING/WEBHOOK" # Ntfy configuration ntfy: server_url: "https://ntfy.sh" # Token-based authentication (recommended for ntfy.sh) # Supports both access tokens (tk_...) and publish tokens # token: "tk_your_access_token" # Basic authentication (alternative to token) # username: "your-username" # password: "your-password" # Default topic if recipient not specified # default_topic: "default-notifications" # Skip TLS verification (for self-hosted servers with self-signed certs) # insecure_skip_verify: false logging: level: "info" # Options: debug, info, warn, error format: "json" # Options: json, text output_path: "stdout" # Options: stdout, stderr, or file path metrics: enabled: true port: 9090 path: "/metrics" prometheus_enabled: true health_check: enabled: true port: 8081 path: "/health" interval: 30 # seconds