Class: Capistrano::Puma::Systemd
- Inherits:
-
Capistrano::Plugin
- Object
- Capistrano::Plugin
- Capistrano::Puma::Systemd
show all
- Includes:
- Capistrano::PumaCommon
- Defined in:
- lib/capistrano/puma/systemd.rb
Instance Method Summary
collapse
#compiled_template_puma, #puma_bind, #puma_binds, #puma_switch_user, #puma_user, #template_puma
Instance Method Details
#define_tasks ⇒ Object
9
10
11
|
# File 'lib/capistrano/puma/systemd.rb', line 9
def define_tasks
eval_rakefile File.expand_path('../../tasks/systemd.rake', __FILE__)
end
|
#execute_systemd(*args) ⇒ Object
54
55
56
|
# File 'lib/capistrano/puma/systemd.rb', line 54
def execute_systemd(*args)
sudo_if_needed(*systemd_command(*args))
end
|
#expanded_bundle_command ⇒ Object
23
24
25
|
# File 'lib/capistrano/puma/systemd.rb', line 23
def expanded_bundle_command
backend.capture(:echo, SSHKit.config.command_map[:bundle]).strip
end
|
#fetch_systemd_unit_path ⇒ Object
27
28
29
30
31
32
33
34
|
# File 'lib/capistrano/puma/systemd.rb', line 27
def fetch_systemd_unit_path
if fetch(:puma_systemctl_user) == :system
"/etc/systemd/system/"
else
home_dir = backend.capture :pwd
File.join(home_dir, ".config", "systemd", "user")
end
end
|
#register_hooks ⇒ Object
5
6
7
|
# File 'lib/capistrano/puma/systemd.rb', line 5
def register_hooks
after 'deploy:finished', 'puma:smart_restart'
end
|
#set_defaults ⇒ Object
13
14
15
16
17
18
19
20
21
|
# File 'lib/capistrano/puma/systemd.rb', line 13
def set_defaults
set_if_empty :puma_systemctl_bin, '/bin/systemctl'
set_if_empty :puma_service_unit_name, -> { "puma_#{fetch(:application)}_#{fetch(:stage)}" }
set_if_empty :puma_enable_socket_service, -> { false }
set_if_empty :puma_systemctl_user, :system
set_if_empty :puma_enable_lingering, -> { fetch(:puma_systemctl_user) != :system }
set_if_empty :puma_lingering_user, -> { fetch(:user) }
set_if_empty :puma_phased_restart, -> { false }
end
|
#sudo_if_needed(*command) ⇒ Object
46
47
48
49
50
51
52
|
# File 'lib/capistrano/puma/systemd.rb', line 46
def sudo_if_needed(*command)
if fetch(:puma_systemctl_user) == :system
backend.sudo command.map(&:to_s).join(" ")
else
backend.execute(*command)
end
end
|
#systemd_command(*args) ⇒ Object
36
37
38
39
40
41
42
43
44
|
# File 'lib/capistrano/puma/systemd.rb', line 36
def systemd_command(*args)
command = [fetch(:puma_systemctl_bin)]
unless fetch(:puma_systemctl_user) == :system
command << "--user"
end
command + args
end
|