Files
notifier/k8s/configmap.yaml
T

98 lines
2.3 KiB
YAML

apiVersion: v1
kind: ConfigMap
metadata:
name: notifier-config
labels:
app: notifier
data:
config.yaml: |
server:
grpc_port: 50051
rest_port: 8080
host: "0.0.0.0"
mode: "both"
queue:
type: "local"
max_size: 10000
worker_count: 10
retry_attempts: 3
retry_backoff: "exponential"
local:
buffer_size: 1000
persist_to_disk: false
notifiers:
stdout: true
# SMTP email configuration (supports multiple accounts)
smtp:
personal:
host: "smtp.gmail.com"
port: 587
username: "your-email@gmail.com"
password: "your-app-password"
from: "your-email@gmail.com"
use_tls: true
default: true
# Slack configuration (supports multiple workspaces)
slack:
main:
webhook_url: "https://hooks.slack.com/services/YOUR/WEBHOOK/URL"
username: "Notifier Bot"
icon_emoji: ":bell:"
default: true
# Ntfy configuration (supports multiple servers)
ntfy:
public:
server_url: "https://ntfy.sh"
default: true
logging:
level: "info"
format: "json"
output_path: "stdout"
metrics:
enabled: true
port: 9090
path: "/metrics"
prometheus_enabled: true
health_check:
enabled: true
port: 8081
path: "/health"
interval: 30
# CORS (Cross-Origin Resource Sharing) configuration
# Only needed if web browsers will access the REST API
# For backend-only services using gRPC, CORS is not required
cors:
# Whitelist of allowed origins - wildcards (*) are NOT supported
# Leave empty if you don't have web browser clients
allowed_origins: []
# If you have a web frontend, add its domain(s) here:
# allowed_origins:
# - "https://app.example.com"
# - "https://dashboard.example.com"
# For local development:
# allowed_origins:
# - "http://localhost:3000"
# - "http://localhost:8080"
allowed_methods:
- "GET"
- "POST"
- "OPTIONS"
- "DELETE"
allowed_headers:
- "Content-Type"
- "Authorization"
allow_credentials: false
max_age: 3600