Sha256: d5279c71cefb22f254697d566c8b5ebb861fbcd55f0a004f7c8ed35dc40183e2

Contents?: true

Size: 805 Bytes

Versions: 1

Compression:

Stored size: 805 Bytes

Contents

module Caco::Debian
  class ServiceEnable < Trailblazer::Operation
    step Subprocess(Caco::Executer),
      input: ->(_ctx, service:, **) {{
        command: "systemctl list-units --full -all | grep -Fq \"#{service}.service\""
      }},
      id: :check_service_exist

    step Subprocess(Class.new(Caco::Executer)),
      Output(:success) => End(:success),
      Output(:failure) => Track(:success),
      input: ->(_ctx, service:, **) {{
        command: "systemctl is-enabled #{service}.service"
      }},
      id: :check_service_enabled

    step Subprocess(Class.new(Caco::Executer)),
      input: ->(_ctx, service:, **) {{
        command: "systemctl enable #{service}.service"
      }},
      id: :enable_service

    step ->(ctx, **) { ctx[:enabled] = true },
      id: :mark_enabled
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
caco-0.1.0 lib/caco/debian/service_enable.rb