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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a1c90d3dfb3e81da85980dc5791ad6940084b8cf31e0a15459e87809d2679a2e
4
- data.tar.gz: 7083e86a075897d6ada5d5327684c8b8ecdf864a304d08af80fb84582d862439
3
+ metadata.gz: 60cbf683d2eab977e42eff3944934a06e2ca88afff2e09b6abe2553188ea3b0d
4
+ data.tar.gz: 895f655aa46f4d0cdeffd2e52a04460b7edb82368b85756d76bef2024acc19e4
5
5
  SHA512:
6
- metadata.gz: 42ad1e1cf98bfe5d1cae9ee3de7cf9413bf0bcdf68dcb8c9d304277d1c3a66d68851c30a40d88bc974fa3b19724016f722a0d55266ec48f04c437bb47ad803e6
7
- data.tar.gz: 46679fdc666f604debb262b6e0c44b22dec64315166202f735ef1498ac9e79e23cadd98ed0de3d25a32778d6fffc10780c98267ac5593026810e51252aae38cc
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
- restart: parsed.restart,
36
- exec_run: parsed.exec_run?)
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
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Avm
4
4
  module EacRailsBase1
5
- VERSION = '0.6.0'
5
+ VERSION = '0.7.0'
6
6
  end
7
7
  end
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.6.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-08-19 00:00:00.000000000 Z
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.41'
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.41'
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.20'
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.20'
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.6'
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.6'
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.102'
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.102'
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