92 lines
2.3 KiB
YAML
92 lines
2.3 KiB
YAML
# 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
|