# AlpineBits Python config # Use annotatedyaml for secrets and environment-specific overrides database: url: "sqlite+aiosqlite:///alpinebits.db" # For local dev, use SQLite. For prod, override with PostgreSQL URL. # url: "postgresql://user:password@host:port/dbname" # Example for Postgres # AlpineBits Python config # Use annotatedyaml for secrets and environment-specific overrides server: codecontext: "ADVERTISING" code: 70597314 companyname: "99tales Gmbh" res_id_source_context: "99tales" logger: level: "INFO" # Set to DEBUG for more verbose output file: "alpinebits.log" # Log file path, or null for console only alpine_bits_auth: - hotel_id: "39054_001" hotel_name: "Bemelmans Post" username: "bemelman" password: !secret BEMELMANS_PASSWORD - hotel_id: "135" hotel_name: "Testhotel" username: "sebastian" password: !secret BOB_PASSWORD - hotel_id: "39052_001" hotel_name: "Jagthof Kaltern" username: "jagthof" password: !secret JAGTHOF_PASSWORD - hotel_id: "39040_001" hotel_name: "Residence Erika" username: "erika" password: !secret ERIKA_PASSWORD # Email configuration for monitoring and alerts email: # SMTP server configuration smtp: host: "smtp.gmail.com" # Your SMTP server port: 587 # Usually 587 for TLS, 465 for SSL username: !secret EMAIL_USERNAME # SMTP username password: !secret EMAIL_PASSWORD # SMTP password use_tls: true # Use STARTTLS use_ssl: false # Use SSL/TLS from start # Email addresses from_address: "noreply@99tales.com" # Sender address from_name: "AlpineBits Monitor" # Sender display name # Monitoring and alerting monitoring: # Daily report configuration daily_report: enabled: false # Set to true to enable daily reports recipients: - "admin@99tales.com" - "dev@99tales.com" send_time: "08:00" # Time to send daily report (24h format, local time) include_stats: true # Include reservation/customer stats include_errors: true # Include error summary # Error alert configuration (hybrid approach) error_alerts: enabled: false # Set to true to enable error alerts recipients: - "alerts@99tales.com" - "oncall@99tales.com" # Alert is sent immediately if threshold is reached error_threshold: 5 # Send immediate alert after N errors # Otherwise, alert is sent after buffer time expires buffer_minutes: 15 # Wait N minutes before sending buffered errors # Cooldown period to prevent alert spam cooldown_minutes: 15 # Wait N min before sending another alert # Error severity levels to monitor log_levels: - "ERROR" - "CRITICAL"