avm-eac_rails_base1 0.6.0 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/avm/eac_rails_base1/instances/apache_host.rb +19 -0
- data/lib/avm/eac_rails_base1/instances/systemd_unit/service.rb +72 -0
- data/lib/avm/eac_rails_base1/instances/systemd_unit/tasks_scheduler_command.rb +31 -0
- data/lib/avm/eac_rails_base1/instances/systemd_unit.rb +59 -0
- data/lib/avm/eac_rails_base1/runner/tasks_scheduler/systemd_unit.rb +4 -4
- data/lib/avm/eac_rails_base1/version.rb +1 -1
- data/template/avm/eac_rails_base1/{systemd_unit → instances/systemd_unit}/tasks_scheduler.service +0 -0
- data/template/avm/eac_rails_base1/{systemd_unit → instances/systemd_unit}/tasks_scheduler_command.sh +0 -0
- metadata +16 -16
- data/lib/avm/eac_rails_base1/apache_host.rb +0 -17
- data/lib/avm/eac_rails_base1/systemd_unit/service.rb +0 -70
- data/lib/avm/eac_rails_base1/systemd_unit/tasks_scheduler_command.rb +0 -29
- data/lib/avm/eac_rails_base1/systemd_unit.rb +0 -57
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 60cbf683d2eab977e42eff3944934a06e2ca88afff2e09b6abe2553188ea3b0d
|
4
|
+
data.tar.gz: 895f655aa46f4d0cdeffd2e52a04460b7edb82368b85756d76bef2024acc19e4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: '0679994556c1e4e2ae00640183bb9dd086a32fcd60a4e5749a59030ed28d0e1172b6032194df3dd02691eab7173935dd04464ebd52ff8beda1aee15b20b5ef83'
|
7
|
+
data.tar.gz: a15d9f26f2f080918fe4190f343fd67abd7e5b1346af66d60dd1d03a25de2cc175b4687980eff22de2acc8a07a67e1309b721288499ee2dc11a1a2ea9bd3dce2
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'avm/eac_webapp_base0/instances/apache_host'
|
4
|
+
|
5
|
+
module Avm
|
6
|
+
module EacRailsBase1
|
7
|
+
module Instances
|
8
|
+
class ApacheHost < ::Avm::EacWebappBase0::Instances::ApacheHost
|
9
|
+
def document_root
|
10
|
+
"#{instance.read_entry(::Avm::Instances::EntryKeys::INSTALL_PATH)}/public"
|
11
|
+
end
|
12
|
+
|
13
|
+
def extra_content
|
14
|
+
'PassengerEnabled On'
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,72 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'eac_ruby_utils/core_ext'
|
4
|
+
|
5
|
+
module Avm
|
6
|
+
module EacRailsBase1
|
7
|
+
module Instances
|
8
|
+
class SystemdUnit
|
9
|
+
module Service
|
10
|
+
def service_content
|
11
|
+
template.child('tasks_scheduler.service').apply(variables_source)
|
12
|
+
end
|
13
|
+
|
14
|
+
def service_exec_lines
|
15
|
+
service_exec_operations
|
16
|
+
.map { |k, v| "#{k}=#{tasks_scheduler_command_path} #{v}" }
|
17
|
+
.join("\n")
|
18
|
+
end
|
19
|
+
|
20
|
+
def service_path
|
21
|
+
::Pathname.new('/etc/systemd/system').join(unit_name)
|
22
|
+
end
|
23
|
+
|
24
|
+
def service_link_path
|
25
|
+
::Pathname.new('/etc/systemd/system/multi-user.target.wants').join(unit_name)
|
26
|
+
end
|
27
|
+
|
28
|
+
def verify_service
|
29
|
+
sudo_system!('systemd-analyze', 'verify', service_path)
|
30
|
+
end
|
31
|
+
|
32
|
+
private
|
33
|
+
|
34
|
+
def enable_service
|
35
|
+
systemctl('enable', unit_name)
|
36
|
+
end
|
37
|
+
|
38
|
+
def link_service
|
39
|
+
sudo_execute!('rm', '-f', service_link_path)
|
40
|
+
sudo_execute!('ln', '-s', service_path, service_link_path)
|
41
|
+
end
|
42
|
+
|
43
|
+
def reload_systemd
|
44
|
+
systemctl('daemon-reload')
|
45
|
+
end
|
46
|
+
|
47
|
+
# @return [Hash<String, String>]
|
48
|
+
def service_exec_operations
|
49
|
+
if exec_run?
|
50
|
+
{ 'ExecStart' => 'run' }
|
51
|
+
else
|
52
|
+
{ 'ExecStart' => 'start', 'ExecStop' => 'stop' }
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
def start_service
|
57
|
+
systemctl('start', unit_name)
|
58
|
+
end
|
59
|
+
|
60
|
+
def systemctl(*args)
|
61
|
+
sudo_system!('systemctl', *args)
|
62
|
+
end
|
63
|
+
|
64
|
+
def write_service
|
65
|
+
infom 'Writing service\'s unit file...'
|
66
|
+
platform_instance.file_sudo_write(service_path, service_content)
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'eac_ruby_utils/core_ext'
|
4
|
+
|
5
|
+
module Avm
|
6
|
+
module EacRailsBase1
|
7
|
+
module Instances
|
8
|
+
class SystemdUnit
|
9
|
+
module TasksSchedulerCommand
|
10
|
+
def tasks_scheduler_command_content
|
11
|
+
template.child('tasks_scheduler_command.sh').apply(variables_source)
|
12
|
+
end
|
13
|
+
|
14
|
+
def tasks_scheduler_command_path
|
15
|
+
"/opt/aux/#{instance.id}/tasks_scheduler.sh"
|
16
|
+
end
|
17
|
+
|
18
|
+
private
|
19
|
+
|
20
|
+
def write_tasks_scheduler_command
|
21
|
+
infom 'Writing tasks scheduler\'s command...'
|
22
|
+
sudo_execute!('mkdir', '-p', ::File.dirname(tasks_scheduler_command_path))
|
23
|
+
platform_instance.file_sudo_write(tasks_scheduler_command_path,
|
24
|
+
tasks_scheduler_command_content)
|
25
|
+
sudo_execute!('chmod', '+x', tasks_scheduler_command_path)
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,59 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'avm/entries/jobs/base'
|
4
|
+
require 'avm/eac_ubuntu_base0/apache'
|
5
|
+
require 'eac_ruby_utils/core_ext'
|
6
|
+
|
7
|
+
module Avm
|
8
|
+
module EacRailsBase1
|
9
|
+
module Instances
|
10
|
+
class SystemdUnit
|
11
|
+
JOBS = %w[write_tasks_scheduler_command write_service link_service verify_service
|
12
|
+
reload_systemd enable_service start_service].freeze
|
13
|
+
|
14
|
+
include ::Avm::Entries::Jobs::Base
|
15
|
+
require_sub __FILE__, include_modules: true
|
16
|
+
delegate :platform_instance, to: :instance
|
17
|
+
|
18
|
+
enable_listable
|
19
|
+
lists.add_symbol :option, :exec_run, :restart
|
20
|
+
|
21
|
+
def description
|
22
|
+
"#{instance.id} Tasks Scheduler"
|
23
|
+
end
|
24
|
+
|
25
|
+
def exec_run?
|
26
|
+
options[OPTION_EXEC_RUN]
|
27
|
+
end
|
28
|
+
|
29
|
+
def option_list
|
30
|
+
self.class.lists.option
|
31
|
+
end
|
32
|
+
|
33
|
+
def restart
|
34
|
+
options[OPTION_RESTART]
|
35
|
+
end
|
36
|
+
|
37
|
+
def unit_name
|
38
|
+
"#{instance.id}_tasks_scheduler.service"
|
39
|
+
end
|
40
|
+
|
41
|
+
def user
|
42
|
+
instance.install_username
|
43
|
+
end
|
44
|
+
|
45
|
+
private
|
46
|
+
|
47
|
+
def sudo_execute!(*args)
|
48
|
+
platform_instance.host_env.command(['sudo'] + args).execute!
|
49
|
+
end
|
50
|
+
|
51
|
+
def sudo_system!(*args)
|
52
|
+
command_args = ['sudo'] + args
|
53
|
+
infom "Running \"#{::Shellwords.join(command_args)}\"..."
|
54
|
+
platform_instance.host_env.command(command_args).system!
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require 'avm/eac_rails_base1/systemd_unit'
|
3
|
+
require 'avm/eac_rails_base1/instances/systemd_unit'
|
4
4
|
require 'eac_ruby_utils/core_ext'
|
5
5
|
|
6
6
|
module Avm
|
@@ -31,9 +31,9 @@ module Avm
|
|
31
31
|
private
|
32
32
|
|
33
33
|
def systemd_unit_uncached
|
34
|
-
::Avm::EacRailsBase1::SystemdUnit.new(runner_context.call(:instance),
|
35
|
-
|
36
|
-
|
34
|
+
::Avm::EacRailsBase1::Instances::SystemdUnit.new(runner_context.call(:instance),
|
35
|
+
restart: parsed.restart,
|
36
|
+
exec_run: parsed.exec_run?)
|
37
37
|
end
|
38
38
|
|
39
39
|
def result_uncached
|
data/template/avm/eac_rails_base1/{systemd_unit → instances/systemd_unit}/tasks_scheduler.service
RENAMED
File without changes
|
data/template/avm/eac_rails_base1/{systemd_unit → instances/systemd_unit}/tasks_scheduler_command.sh
RENAMED
File without changes
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: avm-eac_rails_base1
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Put here the authors
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-09-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: avm
|
@@ -16,56 +16,56 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '0.
|
19
|
+
version: '0.45'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '0.
|
26
|
+
version: '0.45'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: avm-eac_ruby_base1
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '0.
|
33
|
+
version: '0.21'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '0.
|
40
|
+
version: '0.21'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: avm-eac_webapp_base0
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '0.
|
47
|
+
version: '0.9'
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '0.
|
54
|
+
version: '0.9'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: eac_ruby_utils
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
59
|
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: '0.
|
61
|
+
version: '0.104'
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: '0.
|
68
|
+
version: '0.104'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: eac_ruby_gem_support
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -87,9 +87,12 @@ extensions: []
|
|
87
87
|
extra_rdoc_files: []
|
88
88
|
files:
|
89
89
|
- lib/avm/eac_rails_base1.rb
|
90
|
-
- lib/avm/eac_rails_base1/apache_host.rb
|
91
90
|
- lib/avm/eac_rails_base1/instances.rb
|
91
|
+
- lib/avm/eac_rails_base1/instances/apache_host.rb
|
92
92
|
- lib/avm/eac_rails_base1/instances/base.rb
|
93
|
+
- lib/avm/eac_rails_base1/instances/systemd_unit.rb
|
94
|
+
- lib/avm/eac_rails_base1/instances/systemd_unit/service.rb
|
95
|
+
- lib/avm/eac_rails_base1/instances/systemd_unit/tasks_scheduler_command.rb
|
93
96
|
- lib/avm/eac_rails_base1/runner.rb
|
94
97
|
- lib/avm/eac_rails_base1/runner/bundle.rb
|
95
98
|
- lib/avm/eac_rails_base1/runner/code_runner.rb
|
@@ -102,12 +105,9 @@ files:
|
|
102
105
|
- lib/avm/eac_rails_base1/runner_with/bundle.rb
|
103
106
|
- lib/avm/eac_rails_base1/runner_with/rails_environment.rb
|
104
107
|
- lib/avm/eac_rails_base1/sources/base.rb
|
105
|
-
- lib/avm/eac_rails_base1/systemd_unit.rb
|
106
|
-
- lib/avm/eac_rails_base1/systemd_unit/service.rb
|
107
|
-
- lib/avm/eac_rails_base1/systemd_unit/tasks_scheduler_command.rb
|
108
108
|
- lib/avm/eac_rails_base1/version.rb
|
109
|
-
- template/avm/eac_rails_base1/systemd_unit/tasks_scheduler.service
|
110
|
-
- template/avm/eac_rails_base1/systemd_unit/tasks_scheduler_command.sh
|
109
|
+
- template/avm/eac_rails_base1/instances/systemd_unit/tasks_scheduler.service
|
110
|
+
- template/avm/eac_rails_base1/instances/systemd_unit/tasks_scheduler_command.sh
|
111
111
|
homepage:
|
112
112
|
licenses: []
|
113
113
|
metadata: {}
|
@@ -1,17 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'avm/eac_webapp_base0/apache_host'
|
4
|
-
|
5
|
-
module Avm
|
6
|
-
module EacRailsBase1
|
7
|
-
class ApacheHost < ::Avm::EacWebappBase0::ApacheHost
|
8
|
-
def document_root
|
9
|
-
"#{instance.read_entry(::Avm::Instances::EntryKeys::INSTALL_PATH)}/public"
|
10
|
-
end
|
11
|
-
|
12
|
-
def extra_content
|
13
|
-
'PassengerEnabled On'
|
14
|
-
end
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
@@ -1,70 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'eac_ruby_utils/core_ext'
|
4
|
-
|
5
|
-
module Avm
|
6
|
-
module EacRailsBase1
|
7
|
-
class SystemdUnit
|
8
|
-
module Service
|
9
|
-
def service_content
|
10
|
-
template.child('tasks_scheduler.service').apply(variables_source)
|
11
|
-
end
|
12
|
-
|
13
|
-
def service_exec_lines
|
14
|
-
service_exec_operations
|
15
|
-
.map { |k, v| "#{k}=#{tasks_scheduler_command_path} #{v}" }
|
16
|
-
.join("\n")
|
17
|
-
end
|
18
|
-
|
19
|
-
def service_path
|
20
|
-
::Pathname.new('/etc/systemd/system').join(unit_name)
|
21
|
-
end
|
22
|
-
|
23
|
-
def service_link_path
|
24
|
-
::Pathname.new('/etc/systemd/system/multi-user.target.wants').join(unit_name)
|
25
|
-
end
|
26
|
-
|
27
|
-
def verify_service
|
28
|
-
sudo_system!('systemd-analyze', 'verify', service_path)
|
29
|
-
end
|
30
|
-
|
31
|
-
private
|
32
|
-
|
33
|
-
def enable_service
|
34
|
-
systemctl('enable', unit_name)
|
35
|
-
end
|
36
|
-
|
37
|
-
def link_service
|
38
|
-
sudo_execute!('rm', '-f', service_link_path)
|
39
|
-
sudo_execute!('ln', '-s', service_path, service_link_path)
|
40
|
-
end
|
41
|
-
|
42
|
-
def reload_systemd
|
43
|
-
systemctl('daemon-reload')
|
44
|
-
end
|
45
|
-
|
46
|
-
# @return [Hash<String, String>]
|
47
|
-
def service_exec_operations
|
48
|
-
if exec_run?
|
49
|
-
{ 'ExecStart' => 'run' }
|
50
|
-
else
|
51
|
-
{ 'ExecStart' => 'start', 'ExecStop' => 'stop' }
|
52
|
-
end
|
53
|
-
end
|
54
|
-
|
55
|
-
def start_service
|
56
|
-
systemctl('start', unit_name)
|
57
|
-
end
|
58
|
-
|
59
|
-
def systemctl(*args)
|
60
|
-
sudo_system!('systemctl', *args)
|
61
|
-
end
|
62
|
-
|
63
|
-
def write_service
|
64
|
-
infom 'Writing service\'s unit file...'
|
65
|
-
platform_instance.file_sudo_write(service_path, service_content)
|
66
|
-
end
|
67
|
-
end
|
68
|
-
end
|
69
|
-
end
|
70
|
-
end
|
@@ -1,29 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'eac_ruby_utils/core_ext'
|
4
|
-
|
5
|
-
module Avm
|
6
|
-
module EacRailsBase1
|
7
|
-
class SystemdUnit
|
8
|
-
module TasksSchedulerCommand
|
9
|
-
def tasks_scheduler_command_content
|
10
|
-
template.child('tasks_scheduler_command.sh').apply(variables_source)
|
11
|
-
end
|
12
|
-
|
13
|
-
def tasks_scheduler_command_path
|
14
|
-
"/opt/aux/#{instance.id}/tasks_scheduler.sh"
|
15
|
-
end
|
16
|
-
|
17
|
-
private
|
18
|
-
|
19
|
-
def write_tasks_scheduler_command
|
20
|
-
infom 'Writing tasks scheduler\'s command...'
|
21
|
-
sudo_execute!('mkdir', '-p', ::File.dirname(tasks_scheduler_command_path))
|
22
|
-
platform_instance.file_sudo_write(tasks_scheduler_command_path,
|
23
|
-
tasks_scheduler_command_content)
|
24
|
-
sudo_execute!('chmod', '+x', tasks_scheduler_command_path)
|
25
|
-
end
|
26
|
-
end
|
27
|
-
end
|
28
|
-
end
|
29
|
-
end
|
@@ -1,57 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'avm/jobs/base'
|
4
|
-
require 'avm/eac_ubuntu_base0/apache'
|
5
|
-
require 'eac_ruby_utils/core_ext'
|
6
|
-
|
7
|
-
module Avm
|
8
|
-
module EacRailsBase1
|
9
|
-
class SystemdUnit
|
10
|
-
JOBS = %w[write_tasks_scheduler_command write_service link_service verify_service
|
11
|
-
reload_systemd enable_service start_service].freeze
|
12
|
-
|
13
|
-
include ::Avm::Jobs::Base
|
14
|
-
require_sub __FILE__, include_modules: true
|
15
|
-
delegate :platform_instance, to: :instance
|
16
|
-
|
17
|
-
enable_listable
|
18
|
-
lists.add_symbol :option, :exec_run, :restart
|
19
|
-
|
20
|
-
def description
|
21
|
-
"#{instance.id} Tasks Scheduler"
|
22
|
-
end
|
23
|
-
|
24
|
-
def exec_run?
|
25
|
-
options[OPTION_EXEC_RUN]
|
26
|
-
end
|
27
|
-
|
28
|
-
def option_list
|
29
|
-
self.class.lists.option
|
30
|
-
end
|
31
|
-
|
32
|
-
def restart
|
33
|
-
options[OPTION_RESTART]
|
34
|
-
end
|
35
|
-
|
36
|
-
def unit_name
|
37
|
-
"#{instance.id}_tasks_scheduler.service"
|
38
|
-
end
|
39
|
-
|
40
|
-
def user
|
41
|
-
instance.install_username
|
42
|
-
end
|
43
|
-
|
44
|
-
private
|
45
|
-
|
46
|
-
def sudo_execute!(*args)
|
47
|
-
platform_instance.host_env.command(['sudo'] + args).execute!
|
48
|
-
end
|
49
|
-
|
50
|
-
def sudo_system!(*args)
|
51
|
-
command_args = ['sudo'] + args
|
52
|
-
infom "Running \"#{::Shellwords.join(command_args)}\"..."
|
53
|
-
platform_instance.host_env.command(command_args).system!
|
54
|
-
end
|
55
|
-
end
|
56
|
-
end
|
57
|
-
end
|