43 lines
1.0 KiB
Ruby
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
|