eac_tools 0.69.1 → 0.70.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (83) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +28 -33
  3. data/lib/eac_tools/version.rb +1 -1
  4. data/sub/avm/avm.gemspec +1 -1
  5. data/sub/avm/lib/avm/entries/base/uri_components_entries_values/generic_component.rb +32 -6
  6. data/sub/avm/lib/avm/entries/base/uri_components_entries_values/url_component.rb +2 -2
  7. data/sub/avm/lib/avm/instances/base/processes.rb +27 -0
  8. data/sub/avm/lib/avm/instances/data/package.rb +4 -0
  9. data/sub/avm/lib/avm/instances/data/unit.rb +4 -0
  10. data/sub/avm/lib/avm/instances/process.rb +21 -0
  11. data/sub/avm/lib/avm/version.rb +1 -1
  12. data/sub/avm-eac_rails_base1/avm-eac_rails_base1.gemspec +4 -4
  13. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/base.rb +6 -0
  14. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/processes/daemon.rb +35 -0
  15. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/processes/tasks_scheduler.rb +27 -0
  16. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/processes.rb +13 -0
  17. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/version.rb +1 -1
  18. data/sub/avm-eac_ubuntu_base0/avm-eac_ubuntu_base0.gemspec +2 -2
  19. data/sub/avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0/instances/base.rb +6 -0
  20. data/sub/avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0/version.rb +1 -1
  21. data/sub/avm-eac_webapp_base0/avm-eac_webapp_base0.gemspec +3 -3
  22. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/apache_base.rb +28 -0
  23. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/apache_host.rb +2 -10
  24. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/apache_path.rb +2 -10
  25. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/base/install.rb +22 -0
  26. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/base.rb +15 -1
  27. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/processes/web_server.rb +33 -0
  28. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/processes.rb +13 -0
  29. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/version.rb +1 -1
  30. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/instances/base_spec.rb +11 -0
  31. data/sub/avm-eac_webapp_base0/spec/spec_helper.rb +1 -1
  32. metadata +18 -71
  33. data/sub/aranha-parsers/Gemfile +0 -8
  34. data/sub/aranha-parsers/aranha-parsers.gemspec +0 -23
  35. data/sub/aranha-parsers/lib/aranha/parsers/base.rb +0 -86
  36. data/sub/aranha-parsers/lib/aranha/parsers/html/base.rb +0 -61
  37. data/sub/aranha-parsers/lib/aranha/parsers/html/item.rb +0 -24
  38. data/sub/aranha-parsers/lib/aranha/parsers/html/item_list.rb +0 -33
  39. data/sub/aranha-parsers/lib/aranha/parsers/html/node/base.rb +0 -34
  40. data/sub/aranha-parsers/lib/aranha/parsers/html/node/default/numeric_support.rb +0 -129
  41. data/sub/aranha-parsers/lib/aranha/parsers/html/node/default/string_support.rb +0 -77
  42. data/sub/aranha-parsers/lib/aranha/parsers/html/node/default.rb +0 -43
  43. data/sub/aranha-parsers/lib/aranha/parsers/html/node.rb +0 -13
  44. data/sub/aranha-parsers/lib/aranha/parsers/html.rb +0 -11
  45. data/sub/aranha-parsers/lib/aranha/parsers/invalid_state_exception.rb +0 -8
  46. data/sub/aranha-parsers/lib/aranha/parsers/json/base.rb +0 -20
  47. data/sub/aranha-parsers/lib/aranha/parsers/json.rb +0 -11
  48. data/sub/aranha-parsers/lib/aranha/parsers/patches/ofx_parser.rb +0 -38
  49. data/sub/aranha-parsers/lib/aranha/parsers/patches.rb +0 -11
  50. data/sub/aranha-parsers/lib/aranha/parsers/rspec/setup.rb +0 -15
  51. data/sub/aranha-parsers/lib/aranha/parsers/rspec/shared_examples/source_target_fixtures.rb +0 -74
  52. data/sub/aranha-parsers/lib/aranha/parsers/rspec/source_target_fixtures_controller.rb +0 -39
  53. data/sub/aranha-parsers/lib/aranha/parsers/rspec.rb +0 -11
  54. data/sub/aranha-parsers/lib/aranha/parsers/source_address/fetch_content_error.rb +0 -16
  55. data/sub/aranha-parsers/lib/aranha/parsers/source_address/file.rb +0 -31
  56. data/sub/aranha-parsers/lib/aranha/parsers/source_address/hash_http_base.rb +0 -85
  57. data/sub/aranha-parsers/lib/aranha/parsers/source_address/hash_http_get.rb +0 -13
  58. data/sub/aranha-parsers/lib/aranha/parsers/source_address/hash_http_post.rb +0 -13
  59. data/sub/aranha-parsers/lib/aranha/parsers/source_address/http_get.rb +0 -54
  60. data/sub/aranha-parsers/lib/aranha/parsers/source_address.rb +0 -57
  61. data/sub/aranha-parsers/lib/aranha/parsers/source_target_fixtures/source_target_file.rb +0 -19
  62. data/sub/aranha-parsers/lib/aranha/parsers/source_target_fixtures.rb +0 -78
  63. data/sub/aranha-parsers/lib/aranha/parsers/version.rb +0 -7
  64. data/sub/aranha-parsers/lib/aranha/parsers.rb +0 -9
  65. data/sub/aranha-parsers/spec/lib/aranha/parsers/rspec/shared_examples/source_target_fixtures_spec.rb +0 -9
  66. data/sub/aranha-parsers/spec/lib/aranha/parsers/rspec/shared_examples/source_target_fixtures_spec_files/fixture1.source.txt +0 -1
  67. data/sub/aranha-parsers/spec/lib/aranha/parsers/rspec/shared_examples/source_target_fixtures_spec_files/fixture1.target.yaml +0 -3
  68. data/sub/aranha-parsers/spec/lib/aranha/parsers/source_address/detect_sub_spec.rb +0 -32
  69. data/sub/aranha-parsers/spec/lib/aranha/parsers/source_address/detect_sub_spec_files/hash_http_get.source.yml +0 -6
  70. data/sub/aranha-parsers/spec/lib/aranha/parsers/source_address/detect_sub_spec_files/hash_http_get.target.yaml +0 -10
  71. data/sub/aranha-parsers/spec/lib/aranha/parsers/source_address/detect_sub_spec_files/hash_http_post.source.yml +0 -5
  72. data/sub/aranha-parsers/spec/lib/aranha/parsers/source_address/detect_sub_spec_files/hash_http_post.target.yaml +0 -12
  73. data/sub/aranha-parsers/spec/lib/aranha/parsers/source_address/detect_sub_spec_files/http_get.source.yml +0 -1
  74. data/sub/aranha-parsers/spec/lib/aranha/parsers/source_address/detect_sub_spec_files/http_get.target.yaml +0 -10
  75. data/sub/aranha-parsers/spec/lib/aranha/parsers/source_address/http_get_spec.rb +0 -21
  76. data/sub/aranha-parsers/spec/lib/aranha/parsers/source_address_spec.rb +0 -74
  77. data/sub/aranha-parsers/spec/lib/aranha/parsers/source_target_fixtures_spec.rb +0 -27
  78. data/sub/aranha-parsers/spec/lib/aranha/parsers/source_target_fixtures_spec_files/stub1.source.txt +0 -1
  79. data/sub/aranha-parsers/spec/lib/aranha/parsers/source_target_fixtures_spec_files/stub1.target.html +0 -1
  80. data/sub/aranha-parsers/spec/lib/aranha/parsers/source_target_fixtures_spec_files/stub2.source.html +0 -1
  81. data/sub/aranha-parsers/spec/lib/aranha/parsers/source_target_fixtures_spec_files/stub3.target.yaml +0 -1
  82. data/sub/aranha-parsers/spec/lib/rubocop_check_spec.rb +0 -3
  83. data/sub/aranha-parsers/spec/spec_helper.rb +0 -4
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: '009dade4ed624a02bbe58452512587fde89139f556705ca4dc04a7b7a07aa4db'
4
- data.tar.gz: f5e0232487bf64235ced72c158e3fb4767ec03c10f12c2fab707d38dda29ddf2
3
+ metadata.gz: 6858be32721d74994abe63f9eb7652c535bbfc94eddc100187fdde6a5e81e48d
4
+ data.tar.gz: 904933c0b7844a730604735f778a547d6d7fe57fae367ed3982b3b03d27ac736
5
5
  SHA512:
6
- metadata.gz: 51fb45c77591d5256b4af43189cdd5febf57cdaa2cf6a01059903b86f8f96c65dfcf4e25f413bcf3e1f644fb38abfb76d26d2b9d79deeeebc76e08e0c4eb5719
7
- data.tar.gz: 22b81b2557a307b73cb2733d5f0d5c38e184770402ccdfa798ce1f5e75d4e7803792e1f9b16962020006d5c0289be39b95d87af0f8327229dab6510cc960909f
6
+ metadata.gz: 476ec657348113643c3b6a0c937c1f3c02ccab809287e69a53f29d6d03a609ef6f129338be568557b8d54b7ddd1e2aa1b2bf34ded38c5d2ebeef2fecfc7bb402
7
+ data.tar.gz: 73d93ad5bde69d50a32ff8d677ee5c7418b568f76ce6cf95016de84bb18f384ec8457293b717e2ed05d623489e7c13348bf511b58af58d4c6176a31b1727b884
data/Gemfile.lock CHANGED
@@ -1,8 +1,8 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- eac_tools (0.69.1)
5
- avm (~> 0.76)
4
+ eac_tools (0.70.0)
5
+ avm (~> 0.77)
6
6
  avm-eac_asciidoctor_base0 (~> 0.19)
7
7
  avm-eac_generic_base0 (~> 0.12)
8
8
  avm-eac_latex_base0 (~> 0.3, >= 0.3.1)
@@ -10,27 +10,16 @@ PATH
10
10
  avm-eac_postgresql_base0 (~> 0.5, >= 0.5.1)
11
11
  avm-eac_python_base0 (~> 0.2, >= 0.2.1)
12
12
  avm-eac_rails_base0 (~> 0.10, >= 0.10.2)
13
- avm-eac_rails_base1 (~> 0.8, >= 0.8.4)
13
+ avm-eac_rails_base1 (~> 0.9)
14
14
  avm-eac_redmine_base0 (~> 0.20, >= 0.20.1)
15
15
  avm-eac_redmine_plugin_base0 (~> 0.4)
16
16
  avm-eac_ruby_base1 (~> 0.30, >= 0.30.3)
17
- avm-eac_webapp_base0 (~> 0.17, >= 0.17.2)
17
+ avm-eac_webapp_base0 (~> 0.18)
18
18
  avm-eac_wordpress_base0 (~> 0.3, >= 0.3.1)
19
19
  avm-git (~> 0.13, >= 0.13.3)
20
20
  avm-tools (~> 0.151, >= 0.151.1)
21
21
  eac_ruby_utils (~> 0.117, >= 0.117.1)
22
22
 
23
- PATH
24
- remote: sub/aranha-parsers
25
- specs:
26
- aranha-parsers (0.19.0)
27
- activesupport (>= 4.0.0)
28
- addressable (~> 2.8, >= 2.8.4)
29
- eac_envs-http (~> 0.3, >= 0.3.2)
30
- eac_ruby_utils (~> 0.117)
31
- nokogiri (~> 1.15, >= 1.15.1)
32
- ofx-parser (~> 1.1)
33
-
34
23
  PATH
35
24
  remote: sub/avm-eac_asciidoctor_base0
36
25
  specs:
@@ -88,11 +77,11 @@ PATH
88
77
  PATH
89
78
  remote: sub/avm-eac_rails_base1
90
79
  specs:
91
- avm-eac_rails_base1 (0.8.4)
92
- avm (~> 0.68)
93
- avm-eac_ruby_base1 (~> 0.30, >= 0.30.2)
94
- avm-eac_webapp_base0 (~> 0.15, >= 0.15.1)
95
- eac_ruby_utils (~> 0.112)
80
+ avm-eac_rails_base1 (0.9.0)
81
+ avm (~> 0.77)
82
+ avm-eac_ruby_base1 (~> 0.30, >= 0.30.3)
83
+ avm-eac_webapp_base0 (~> 0.18)
84
+ eac_ruby_utils (~> 0.117, >= 0.117.1)
96
85
 
97
86
  PATH
98
87
  remote: sub/avm-eac_redmine_base0
@@ -127,21 +116,21 @@ PATH
127
116
  PATH
128
117
  remote: sub/avm-eac_ubuntu_base0
129
118
  specs:
130
- avm-eac_ubuntu_base0 (0.4.3)
131
- avm (~> 0.73)
132
- eac_ruby_utils (~> 0.117)
119
+ avm-eac_ubuntu_base0 (0.5.0)
120
+ avm (~> 0.77)
121
+ eac_ruby_utils (~> 0.117, >= 0.117.1)
133
122
  eac_templates (~> 0.5)
134
123
 
135
124
  PATH
136
125
  remote: sub/avm-eac_webapp_base0
137
126
  specs:
138
- avm-eac_webapp_base0 (0.17.2)
139
- avm (~> 0.73)
127
+ avm-eac_webapp_base0 (0.18.0)
128
+ avm (~> 0.77)
140
129
  avm-eac_generic_base0 (~> 0.12)
141
130
  avm-eac_postgresql_base0 (~> 0.5, >= 0.5.1)
142
- avm-eac_ubuntu_base0 (~> 0.4, >= 0.4.3)
131
+ avm-eac_ubuntu_base0 (~> 0.5)
143
132
  avm-files (~> 0.6, >= 0.6.2)
144
- eac_ruby_utils (~> 0.117)
133
+ eac_ruby_utils (~> 0.117, >= 0.117.1)
145
134
 
146
135
  PATH
147
136
  remote: sub/avm-eac_wordpress_base0
@@ -192,8 +181,8 @@ PATH
192
181
  PATH
193
182
  remote: sub/avm
194
183
  specs:
195
- avm (0.76.0)
196
- aranha-parsers (~> 0.19)
184
+ avm (0.77.0)
185
+ aranha-parsers (~> 0.19, >= 0.19.1)
197
186
  eac_cli (~> 0.35, >= 0.35.1)
198
187
  eac_config (~> 0.12)
199
188
  eac_docker (~> 0.7)
@@ -299,6 +288,13 @@ GEM
299
288
  zeitwerk (~> 2.3)
300
289
  addressable (2.8.4)
301
290
  public_suffix (>= 2.0.2, < 6.0)
291
+ aranha-parsers (0.20.0)
292
+ activesupport (>= 4.0.0)
293
+ addressable (~> 2.8, >= 2.8.4)
294
+ eac_envs-http (~> 0.3, >= 0.3.2)
295
+ eac_ruby_utils (~> 0.117, >= 0.117.1)
296
+ nokogiri (~> 1.15, >= 1.15.2)
297
+ ofx-parser (~> 1.1)
302
298
  asciidoctor (2.0.20)
303
299
  ast (2.4.2)
304
300
  clipboard (1.3.6)
@@ -325,7 +321,7 @@ GEM
325
321
  faraday-multipart (1.0.4)
326
322
  multipart-post (~> 2)
327
323
  faraday-net_http (3.0.2)
328
- faraday-retry (2.1.0)
324
+ faraday-retry (2.2.0)
329
325
  faraday (~> 2.0)
330
326
  filesize (0.2.0)
331
327
  git (1.18.0)
@@ -333,9 +329,9 @@ GEM
333
329
  rchardet (~> 1.8)
334
330
  hpricot (0.8.6)
335
331
  htmlbeautifier (1.4.2)
336
- i18n (1.13.0)
332
+ i18n (1.14.0)
337
333
  concurrent-ruby (~> 1.0)
338
- jaro_winkler (1.5.5)
334
+ jaro_winkler (1.5.6)
339
335
  minitar (0.9)
340
336
  minitest (5.18.0)
341
337
  multipart-post (2.3.0)
@@ -396,7 +392,6 @@ PLATFORMS
396
392
  x86_64-linux
397
393
 
398
394
  DEPENDENCIES
399
- aranha-parsers!
400
395
  avm!
401
396
  avm-eac_asciidoctor_base0!
402
397
  avm-eac_generic_base0!
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module EacTools
4
- VERSION = '0.69.1'
4
+ VERSION = '0.70.0'
5
5
  end
data/sub/avm/avm.gemspec CHANGED
@@ -12,7 +12,7 @@ Gem::Specification.new do |s|
12
12
 
13
13
  s.files = Dir['{lib}/**/*']
14
14
 
15
- s.add_dependency 'aranha-parsers', '~> 0.19'
15
+ s.add_dependency 'aranha-parsers', '~> 0.19', '>= 0.19.1'
16
16
  s.add_dependency 'eac_cli', '~> 0.35', '>= 0.35.1'
17
17
  s.add_dependency 'eac_config', '~> 0.12'
18
18
  s.add_dependency 'eac_docker', '~> 0.7'
@@ -19,8 +19,25 @@ module Avm
19
19
  [prefix, component].join('_')
20
20
  end
21
21
 
22
- def define_auto_method(&block)
23
- entries_provider_class.define_method(auto_method_name, &block)
22
+ def define_auto_method
23
+ outer_self = self
24
+ entries_provider_class.define_method(auto_method_name) do
25
+ uri_component_entry_value(outer_self.entry_key_path.to_string)
26
+ end
27
+ end
28
+
29
+ def define_get_method
30
+ outer_self = self
31
+ entries_provider_class.define_method(get_method_name) do
32
+ read_entry(outer_self.entry_key_path.to_string)
33
+ end
34
+ end
35
+
36
+ def define_get_optional_method
37
+ outer_self = self
38
+ entries_provider_class.define_method(get_optional_method_name) do
39
+ read_entry_optional(outer_self.entry_key_path.to_string)
40
+ end
24
41
  end
25
42
 
26
43
  def define_inherited_value_proc_method(&block)
@@ -31,6 +48,16 @@ module Avm
31
48
  ::EacConfig::EntryPath.assert([prefix, component])
32
49
  end
33
50
 
51
+ # @return [String]
52
+ def get_method_name # rubocop:disable Naming/AccessorMethodName
53
+ component_method_name
54
+ end
55
+
56
+ # @return [String]
57
+ def get_optional_method_name # rubocop:disable Naming/AccessorMethodName
58
+ get_method_name + '_optional'
59
+ end
60
+
34
61
  def id_component
35
62
  @id_component ||= owner.component_factory('id')
36
63
  end
@@ -40,10 +67,9 @@ module Avm
40
67
  end
41
68
 
42
69
  def setup
43
- outer_self = self
44
- define_auto_method do
45
- uri_component_entry_value(outer_self.entry_key_path.to_string)
46
- end
70
+ define_auto_method
71
+ define_get_method
72
+ define_get_optional_method
47
73
  end
48
74
  end
49
75
  end
@@ -8,9 +8,9 @@ module Avm
8
8
  module Base
9
9
  class UriComponentsEntriesValues
10
10
  class UrlComponent < ::Avm::Entries::Base::UriComponentsEntriesValues::GenericComponent
11
- def setup
11
+ def define_auto_method
12
12
  outer_self = self
13
- define_auto_method do
13
+ entries_provider_class.define_method(auto_method_name) do
14
14
  inherited_entry_value(outer_self.id_component.entry_key_path.to_string,
15
15
  outer_self.entry_key_path.to_string) ||
16
16
  outer_self.auto_install_url_by_parts(self)
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+
5
+ module Avm
6
+ module Instances
7
+ class Base
8
+ module Processes
9
+ # @return [Array<Avm::Instances::Process>]
10
+ def available_processes
11
+ processes.select(&:available?)
12
+ end
13
+
14
+ def on_disabled_processes(&block)
15
+ available_processes.each(&:disable)
16
+ block.call
17
+ available_processes.each(&:enable)
18
+ end
19
+
20
+ # @return [Array<Avm::Instances::Process>]
21
+ def processes
22
+ []
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
@@ -17,6 +17,10 @@ module Avm
17
17
  def data_default_dump_path
18
18
  instance.data_default_dump_path.to_pathname
19
19
  end
20
+
21
+ def load(*args, &block)
22
+ instance.on_disabled_processes { super(*args, &block) }
23
+ end
20
24
  end
21
25
  end
22
26
  end
@@ -20,6 +20,10 @@ module Avm
20
20
  def identifier
21
21
  instance.data_package.units.key(self) || raise("No identifier found for #{self}")
22
22
  end
23
+
24
+ def load(*args, &block)
25
+ instance.on_disabled_processes { super(*args, &block) }
26
+ end
23
27
  end
24
28
  end
25
29
  end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+
5
+ module Avm
6
+ module Instances
7
+ class Process
8
+ class << self
9
+ # @return [Symbol]
10
+ def default_id
11
+ name.demodulize.underscore.to_sym
12
+ end
13
+ end
14
+
15
+ acts_as_abstract :available?, :disable, :enable
16
+ common_constructor :instance, :id, default: [nil] do
17
+ self.id ||= (id || self.class.default_id).to_sym
18
+ end
19
+ end
20
+ end
21
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Avm
4
- VERSION = '0.76.0'
4
+ VERSION = '0.77.0'
5
5
  end
@@ -12,10 +12,10 @@ Gem::Specification.new do |s|
12
12
 
13
13
  s.files = Dir['{lib,template}/**/*']
14
14
 
15
- s.add_dependency 'avm', '~> 0.68'
16
- s.add_dependency 'avm-eac_ruby_base1', '~> 0.30', '>= 0.30.2'
17
- s.add_dependency 'avm-eac_webapp_base0', '~> 0.15', '>= 0.15.1'
18
- s.add_dependency 'eac_ruby_utils', '~> 0.112'
15
+ s.add_dependency 'avm', '~> 0.77'
16
+ s.add_dependency 'avm-eac_ruby_base1', '~> 0.30', '>= 0.30.3'
17
+ s.add_dependency 'avm-eac_webapp_base0', '~> 0.18'
18
+ s.add_dependency 'eac_ruby_utils', '~> 0.117', '>= 0.117.1'
19
19
 
20
20
  s.add_development_dependency 'eac_ruby_gem_support', '~> 0.5.1'
21
21
  end
@@ -1,5 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require 'avm/eac_rails_base1/instances/processes/tasks_scheduler'
3
4
  require 'avm/eac_rails_base1/instances/runners'
4
5
  require 'avm/eac_ruby_base1/instances/mixin'
5
6
  require 'avm/eac_ruby_base1/sources/base'
@@ -22,6 +23,11 @@ module Avm
22
23
  super.add_unit('database', database_unit)
23
24
  end
24
25
 
26
+ # @return [Array<Avm::Instances::Process>]
27
+ def processes
28
+ super + [::Avm::EacRailsBase1::Instances::Processes::TasksScheduler.new(self)]
29
+ end
30
+
25
31
  def rake(*args)
26
32
  bundle('exec', 'rake', *args)
27
33
  end
@@ -0,0 +1,35 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/instances/process'
4
+ require 'eac_ruby_utils/core_ext'
5
+
6
+ module Avm
7
+ module EacRailsBase1
8
+ module Instances
9
+ module Processes
10
+ class Daemon < ::Avm::Instances::Process
11
+ acts_as_abstract :command_name, :gem_name
12
+
13
+ # @return [Boolean]
14
+ def available?
15
+ instance.the_gem.gemfile_lock_gem_version(gem_name).present?
16
+ end
17
+
18
+ def disable
19
+ daemon_command(:stop).system!
20
+ end
21
+
22
+ def enable
23
+ daemon_command(:start).system!
24
+ end
25
+
26
+ private
27
+
28
+ def daemon_command(action)
29
+ instance.bundle('exec', command_name, action)
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/eac_rails_base1/instances/processes/daemon'
4
+ require 'eac_ruby_utils/core_ext'
5
+
6
+ module Avm
7
+ module EacRailsBase1
8
+ module Instances
9
+ module Processes
10
+ class TasksScheduler < ::Avm::EacRailsBase1::Instances::Processes::Daemon
11
+ GEM_NAME = 'tasks_scheduler'
12
+ COMMAND_NAME = 'tasks_scheduler'
13
+
14
+ # @return [String]
15
+ def command_name
16
+ COMMAND_NAME
17
+ end
18
+
19
+ # @return [String]
20
+ def gem_name
21
+ GEM_NAME
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+
5
+ module Avm
6
+ module EacRailsBase1
7
+ module Instances
8
+ module Processes
9
+ require_sub __FILE__
10
+ end
11
+ end
12
+ end
13
+ end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Avm
4
4
  module EacRailsBase1
5
- VERSION = '0.8.4'
5
+ VERSION = '0.9.0'
6
6
  end
7
7
  end
@@ -12,8 +12,8 @@ Gem::Specification.new do |s|
12
12
 
13
13
  s.files = Dir['{lib,template}/**/*']
14
14
 
15
- s.add_dependency 'avm', '~> 0.73'
16
- s.add_dependency 'eac_ruby_utils', '~> 0.117'
15
+ s.add_dependency 'avm', '~> 0.77'
16
+ s.add_dependency 'eac_ruby_utils', '~> 0.117', '>= 0.117.1'
17
17
  s.add_dependency 'eac_templates', '~> 0.5'
18
18
 
19
19
  s.add_development_dependency 'avm-eac_ubuntu_base0'
@@ -1,5 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require 'avm/eac_ubuntu_base0/apache'
3
4
  require 'avm/eac_ubuntu_base0/docker_image'
4
5
  require 'avm/instances/base'
5
6
 
@@ -7,6 +8,11 @@ module Avm
7
8
  module EacUbuntuBase0
8
9
  module Instances
9
10
  class Base < ::Avm::Instances::Base
11
+ # @return [Avm::EacUbuntuBase0::Apache]
12
+ def apache
13
+ ::Avm::EacUbuntuBase0::Apache.new(host_env)
14
+ end
15
+
10
16
  def docker_image_class
11
17
  ::Avm::EacUbuntuBase0::DockerImage
12
18
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Avm
4
4
  module EacUbuntuBase0
5
- VERSION = '0.4.3'
5
+ VERSION = '0.5.0'
6
6
  end
7
7
  end
@@ -12,12 +12,12 @@ Gem::Specification.new do |s|
12
12
 
13
13
  s.files = Dir['{lib,template}/**/*']
14
14
 
15
- s.add_dependency 'avm', '~> 0.73'
15
+ s.add_dependency 'avm', '~> 0.77'
16
16
  s.add_dependency 'avm-eac_generic_base0', '~> 0.12'
17
17
  s.add_dependency 'avm-eac_postgresql_base0', '~> 0.5', '>= 0.5.1'
18
- s.add_dependency 'avm-eac_ubuntu_base0', '~> 0.4', '>= 0.4.3'
18
+ s.add_dependency 'avm-eac_ubuntu_base0', '~> 0.5'
19
19
  s.add_dependency 'avm-files', '~> 0.6', '>= 0.6.2'
20
- s.add_dependency 'eac_ruby_utils', '~> 0.117'
20
+ s.add_dependency 'eac_ruby_utils', '~> 0.117', '>= 0.117.1'
21
21
 
22
22
  s.add_development_dependency 'eac_ruby_gem_support', '~> 0.2'
23
23
  end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+ require 'avm/entries/jobs/base'
5
+ require 'avm/eac_ubuntu_base0/apache'
6
+ require 'eac_templates/core_ext'
7
+
8
+ module Avm
9
+ module EacWebappBase0
10
+ module Instances
11
+ class ApacheBase
12
+ protected
13
+
14
+ def reload_apache
15
+ infom 'Reloading Apache...'
16
+ apache.service('reload')
17
+ end
18
+
19
+ private
20
+
21
+ # @return [Avm::EacUbuntuBase0::Apache]
22
+ def apache_uncached
23
+ instance.platform_instance.apache
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -3,12 +3,13 @@
3
3
  require 'eac_ruby_utils/core_ext'
4
4
  require 'avm/entries/jobs/base'
5
5
  require 'avm/eac_ubuntu_base0/apache'
6
+ require 'avm/eac_webapp_base0/instances/apache_base'
6
7
  require 'eac_templates/core_ext'
7
8
 
8
9
  module Avm
9
10
  module EacWebappBase0
10
11
  module Instances
11
- class ApacheHost
12
+ class ApacheHost < ::Avm::EacWebappBase0::Instances::ApacheBase
12
13
  APACHE_DIRECTORY_EXTRA_CONFIG_KEY = 'install.apache_directory_extra_config'
13
14
  JOBS = %w[write_available_no_ssl_site enable_no_ssl_site remove_ssl_site reload_apache
14
15
  run_certbot enable_ssl_site reload_apache].freeze
@@ -31,10 +32,6 @@ module Avm
31
32
 
32
33
  private
33
34
 
34
- def apache_uncached
35
- ::Avm::EacUbuntuBase0::Apache.new(instance.host_env)
36
- end
37
-
38
35
  def enable_no_ssl_site
39
36
  infom 'Enabling no SSL site...'
40
37
  no_ssl_site.enable
@@ -51,11 +48,6 @@ module Avm
51
48
  apache.site(instance.id)
52
49
  end
53
50
 
54
- def reload_apache
55
- infom 'Reloading Apache...'
56
- apache.service('reload')
57
- end
58
-
59
51
  def remove_ssl_site
60
52
  infom 'Removing SSL site...'
61
53
  ssl_site.remove
@@ -2,12 +2,13 @@
2
2
 
3
3
  require 'avm/entries/jobs/base'
4
4
  require 'avm/eac_ubuntu_base0/apache'
5
+ require 'avm/eac_webapp_base0/instances/apache_base'
5
6
  require 'eac_ruby_utils/core_ext'
6
7
 
7
8
  module Avm
8
9
  module EacWebappBase0
9
10
  module Instances
10
- class ApachePath
11
+ class ApachePath < ::Avm::EacWebappBase0::Instances::ApacheBase
11
12
  JOBS = %w[write_available_conf enable_conf reload_apache].freeze
12
13
  include ::Avm::Entries::Jobs::Base
13
14
 
@@ -26,20 +27,11 @@ module Avm
26
27
 
27
28
  private
28
29
 
29
- def apache_uncached
30
- ::Avm::EacUbuntuBase0::Apache.new(instance.host_env)
31
- end
32
-
33
30
  def enable_conf
34
31
  infom 'Enabling configuration...'
35
32
  conf.enable
36
33
  end
37
34
 
38
- def reload_apache
39
- infom 'Reloading Apache...'
40
- apache.service('reload')
41
- end
42
-
43
35
  def conf_uncached
44
36
  apache.conf(instance.id)
45
37
  end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/entries/uri_builder'
4
+ require 'avm/instances/entry_keys'
5
+
6
+ module Avm
7
+ module EacWebappBase0
8
+ module Instances
9
+ class Base < ::Avm::Instances::Base
10
+ module Install
11
+ common_concern do
12
+ uri_components_entries_values 'install', %w[apache_resource_name]
13
+ end
14
+
15
+ def install_apache_resource_name_default_value
16
+ id
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -4,6 +4,7 @@ require 'avm/instances/base'
4
4
  require 'avm/eac_postgresql_base0/instance_with'
5
5
  require 'avm/instances/data/files_unit'
6
6
  require 'avm/instances/data/package'
7
+ require 'avm/eac_webapp_base0/instances/processes/web_server'
7
8
  require 'avm/eac_webapp_base0/instances/runners'
8
9
  require 'avm/eac_ubuntu_base0/instances/base'
9
10
 
@@ -11,10 +12,18 @@ module Avm
11
12
  module EacWebappBase0
12
13
  module Instances
13
14
  class Base < ::Avm::Instances::Base
14
- require_sub __FILE__
15
+ require_sub __FILE__, include_modules: true
15
16
  include ::Avm::EacPostgresqlBase0::InstanceWith
16
17
  enable_simple_cache
17
18
 
19
+ # @return [Avm::EacUbuntuBase0::Apache::Resource, nil]
20
+ def apache_resource
21
+ %i[conf site]
22
+ .lazy
23
+ .map { |type| platform_instance.apache.send(type, install_apache_resource_name) }
24
+ .find(&:available?)
25
+ end
26
+
18
27
  def run_subcommand(subcommand_class, argv)
19
28
  subcommand_class.create(
20
29
  argv: argv,
@@ -26,6 +35,11 @@ module Avm
26
35
  pg_data_unit
27
36
  end
28
37
 
38
+ # @return [Array<Avm::Instances::Process>]
39
+ def processes
40
+ super + [::Avm::EacWebappBase0::Instances::Processes::WebServer.new(self)]
41
+ end
42
+
29
43
  private
30
44
 
31
45
  # @return [Avm::EacUbuntuBase0::Instances::Base]