Class: Anomonitor::ConfigurationValidator
- Inherits:
-
Object
- Object
- Anomonitor::ConfigurationValidator
- Defined in:
- lib/anomonitor/configuration_validator.rb
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(config) ⇒ ConfigurationValidator
constructor
A new instance of ConfigurationValidator.
- #log! ⇒ Object
- #warnings ⇒ Object
Constructor Details
#initialize(config) ⇒ ConfigurationValidator
Returns a new instance of ConfigurationValidator.
9 10 11 |
# File 'lib/anomonitor/configuration_validator.rb', line 9 def initialize(config) @config = config end |
Class Method Details
.warnings(config = Anomonitor.config) ⇒ Object
5 6 7 |
# File 'lib/anomonitor/configuration_validator.rb', line 5 def self.warnings(config = Anomonitor.config) new(config).warnings end |
Instance Method Details
#log! ⇒ Object
36 37 38 |
# File 'lib/anomonitor/configuration_validator.rb', line 36 def log! warnings.each { |w| Anomonitor.logger.warn("[Anomonitor] Config: #{w}") } end |
#warnings ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/anomonitor/configuration_validator.rb', line 13 def warnings list = [] if @config.notifier.nil? && @config.webhook_url.to_s.strip.empty? list << "No notifier configured (set c.webhook_url or c.notifier) — anomalies will record as webhook failed" end if @config.collectors.schema_drift tenants = begin Tenancy.tenant_names rescue StandardError [] end if tenants.size < 2 list << "schema_drift is enabled but fewer than 2 tenants are configured" end end if @config.poll_mode == :thread list << "poll_mode=:thread can double-collect under multi-worker Puma/Unicorn — prefer :cron or enable poll_lock" end path = @config.dashboard_path.to_s list << "dashboard_path should start with / (got #{path.inspect})" if path != "" && !path.start_with?("/") list end |