gitlab-org--gitlab-foss/lib/system_check/incoming_email/mail_room_enabled_check.rb

43 lines
1.0 KiB
Ruby

# frozen_string_literal: true
module SystemCheck
module IncomingEmail
class MailRoomEnabledCheck < SystemCheck::BaseCheck
include ::SystemCheck::InitHelpers
set_name 'Mailroom enabled?'
def skip?
omnibus_gitlab?
end
def check?
mail_room_enabled? || mail_room_configured?
end
def show_error
try_fixing_it(
'Enable mail_room'
)
for_more_information(
'doc/administration/reply_by_email.md'
)
fix_and_rerun
end
private
def mail_room_enabled?
target = '/usr/local/lib/systemd/system/gitlab.target'
service = '/usr/local/lib/systemd/system/gitlab-mailroom.service'
File.exist?(target) && File.exist?(service) && systemd_get_wants('gitlab.target').include?("gitlab-mailroom.service")
end
def mail_room_configured?
path = '/etc/default/gitlab'
File.exist?(path) && File.read(path).include?('mail_room_enabled=true')
end
end
end
end