2018-08-02 00:09:29 +02:00
|
|
|
# Copyright (C) 2018 Colin Darie <colin@darie.eu>, 2018 Evolix <info@evolix.fr>
|
|
|
|
# License: GNU AGPL-3+ (see full text in LICENSE file)
|
|
|
|
|
2018-06-05 15:24:44 +02:00
|
|
|
namespace :checks do
|
2018-07-02 14:25:35 +02:00
|
|
|
namespace :sync_dates do
|
2018-07-02 17:21:08 +02:00
|
|
|
task all: [:domain, :ssl]
|
2018-07-02 14:25:35 +02:00
|
|
|
|
2018-08-30 18:36:26 +02:00
|
|
|
def stdout_logger(env = {}) # rubocop:disable Metrics/MethodLength
|
2018-08-30 17:50:38 +02:00
|
|
|
verbose_mode = env.fetch("VERBOSE") { 0 }.to_i == 1
|
|
|
|
quiet_mode = env.fetch("QUIET") { 0 }.to_i == 1
|
|
|
|
silent_mode = env.fetch("SILENT") { 0 }.to_i == 1
|
|
|
|
|
|
|
|
if silent_mode
|
2018-08-30 18:36:26 +02:00
|
|
|
NullLogger.new
|
2018-08-30 17:50:38 +02:00
|
|
|
else
|
|
|
|
logger = Logging.logger(STDOUT)
|
|
|
|
logger.level = if quiet_mode
|
|
|
|
:error
|
|
|
|
elsif verbose_mode
|
|
|
|
:debug
|
|
|
|
else
|
|
|
|
:info
|
|
|
|
end
|
|
|
|
|
|
|
|
logger
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2018-07-02 14:25:35 +02:00
|
|
|
desc "Refresh domains expiry dates"
|
|
|
|
task domain: :environment do
|
2018-08-30 17:50:38 +02:00
|
|
|
process = CheckDomainProcessor.new(
|
|
|
|
logger: stdout_logger(ENV),
|
2018-08-30 18:36:26 +02:00
|
|
|
configuration: Rails.configuration.chexpire.fetch("checks_domain"),
|
2018-08-30 17:50:38 +02:00
|
|
|
)
|
2018-07-02 14:25:35 +02:00
|
|
|
process.sync_dates
|
|
|
|
end
|
2018-07-02 17:21:08 +02:00
|
|
|
|
|
|
|
desc "Refresh SSL expiry dates"
|
2018-07-06 12:57:07 +02:00
|
|
|
task ssl: :environment do
|
2018-08-30 17:50:38 +02:00
|
|
|
process = CheckSSLProcessor.new(
|
|
|
|
logger: stdout_logger(ENV),
|
2018-08-30 18:36:26 +02:00
|
|
|
configuration: Rails.configuration.chexpire.fetch("checks_ssl"),
|
2018-08-30 17:50:38 +02:00
|
|
|
)
|
2018-07-02 17:21:08 +02:00
|
|
|
process.sync_dates
|
|
|
|
end
|
2018-06-05 15:24:44 +02:00
|
|
|
end
|
|
|
|
end
|