avm-eac_redmine_base0 0.16.0 → 0.17.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: 30d851b9a2e5895bffd9830f752d05e18957b897e44398026c61916ecc3955b7
4
- data.tar.gz: b744ea2ec75dc9f349475c66a94a5611a38d208b4c53b8116e3029d87aba2858
3
+ metadata.gz: f24264eaab80e14c42168a30561e40f309f84a9d67dc5e45c078409a1dbd3eda
4
+ data.tar.gz: e7b114c9bea0d113cefd1c6e9f8d231d03a39d743e04042e5417bc5b92751ecb
5
5
  SHA512:
6
- metadata.gz: fdeb8c77b40dacf07dfaf1f738eed19e1f255f562030f487aecce8bc25b765b8e49a95d773a25bb5518e9b3a715e3fbf5698770e17b360e3b711d1934aa47cd3
7
- data.tar.gz: 0ba34fcbe7f3ceee0b31c8025ef4168ccd7b4d985aed23089a4c547b7cba1ee32ec3199ffb6595546ee0a02a7ce162ae0fa10228d916be6048cd05fd5f2cf034
6
+ metadata.gz: aed7b120ecde3e0fcc81ff01530eb1fec356b62ec934c6d5f39b0acebd61df31864c6af4f3726fa7e8aa2892c2624898421980d4c600f2d9767e9f648293942a
7
+ data.tar.gz: 613324a28ac37018f479b597dcfd7e9ced06bba558a891842b1ad391b09b21f98ecbce39e090606889826cf7f47037d6cde6545975bb278837cba39a8391b323
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/eac_rails_base1/instances/base'
4
+ require 'avm/instances/data/files_unit'
5
+ require 'eac_ruby_utils/core_ext'
6
+
7
+ module Avm
8
+ module EacRedmineBase0
9
+ module Instances
10
+ class Base < ::Avm::EacRailsBase1::Instances::Base
11
+ module Files
12
+ FILES_SUBPATH = 'files'
13
+
14
+ # @return [Avm::Instances::Data::FilesUnit]
15
+ def files_data_unit
16
+ ::Avm::Instances::Data::FilesUnit.new(self, FILES_SUBPATH)
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -18,6 +18,12 @@ module Avm
18
18
  uri_components_entries_values GITOLITE_ENTRY_KEYS_PREFIX
19
19
  end
20
20
 
21
+ # @return [Avm::Instances::Data::FilesUnit]
22
+ def gitolite_data_unit
23
+ ::Avm::Instances::Data::FilesUnit.new(self, gitolite_repositories_path,
24
+ sudo_user: entry('gitolite.username').value!)
25
+ end
26
+
21
27
  def gitolite_hostname_default_value
22
28
  DEFAULT_HOSTNAME
23
29
  end
@@ -28,6 +34,11 @@ module Avm
28
34
  end
29
35
  end
30
36
 
37
+ # @return [Pathname]
38
+ def gitolite_repositories_path
39
+ entry('gitolite.path').value!.to_pathname.join('repositories')
40
+ end
41
+
31
42
  def gitolite_scheme_default_value
32
43
  DEFAULT_SCHEME
33
44
  end
@@ -0,0 +1,37 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/eac_rails_base1/instances/base'
4
+ require 'eac_ruby_utils/core_ext'
5
+
6
+ module Avm
7
+ module EacRedmineBase0
8
+ module Instances
9
+ class Base < ::Avm::EacRailsBase1::Instances::Base
10
+ module Install
11
+ def run_installer
12
+ ::EacRubyUtils::Ruby.on_clean_environment do
13
+ installer_command.system!
14
+ end
15
+ end
16
+
17
+ def installer_command
18
+ host_env.command(installer_path, install_task)
19
+ end
20
+
21
+ def installer_path
22
+ ::File.join(install_path, 'plugins', 'redmine_installer', 'installer',
23
+ 'run.sh')
24
+ end
25
+
26
+ def install_task
27
+ if web_path_optional.present?
28
+ 'redmine_as_apache_path'
29
+ else
30
+ 'redmine_as_apache_base'
31
+ end
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'addressable/uri'
4
- require 'avm/eac_redmine_base0/instances/data_unit'
4
+ require 'avm/eac_redmine_base0/instances/data_package'
5
5
  require 'avm/eac_redmine_base0/instances/docker_image'
6
6
  require 'avm/eac_redmine_base0/instances/runners'
7
7
  require 'avm/eac_redmine_base0/instances/rest_api'
@@ -14,8 +14,6 @@ module Avm
14
14
  require_sub __FILE__, include_modules: true
15
15
  enable_simple_cache
16
16
 
17
- FILES_UNITS = { files: 'files' }.freeze
18
-
19
17
  def docker_image_class
20
18
  ::Avm::EacRedmineBase0::Instances::DockerImage
21
19
  end
@@ -30,13 +28,9 @@ module Avm
30
28
  ]
31
29
  end
32
30
 
31
+ # @return [Avm::EacRedmineBase0::Instances::DataPackage]
33
32
  def data_package
34
- @data_package ||= ::Avm::Data::Instance::Package.new(
35
- self,
36
- units: {
37
- all: ::Avm::EacRedmineBase0::Instances::DataUnit.new(self)
38
- }
39
- )
33
+ @data_package ||= ::Avm::EacRedmineBase0::Instances::DataPackage.new(self)
40
34
  end
41
35
 
42
36
  # @return [Addressable::URI]
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/instances/data/package'
4
+ require 'eac_ruby_utils/core_ext'
5
+
6
+ module Avm
7
+ module EacRedmineBase0
8
+ module Instances
9
+ class DataPackage < ::Avm::Instances::Data::Package
10
+ after_load :run_installer
11
+
12
+ def initialize(instance, options = {})
13
+ super(instance, options.merge(units: options[:units].if_present({}).merge(
14
+ database: instance.database_unit, files: instance.files_data_unit,
15
+ gitolite: instance.gitolite_data_unit
16
+ )))
17
+ end
18
+
19
+ delegate :run_installer, to: :instance
20
+ end
21
+ end
22
+ end
23
+ end
@@ -11,25 +11,7 @@ module Avm
11
11
 
12
12
  def run_installer
13
13
  infom 'Running installer'
14
- ::EacRubyUtils::Ruby.on_clean_environment do
15
- installer_command.system!
16
- end
17
- end
18
-
19
- def installer_command
20
- instance.host_env.command(installer_path, install_task)
21
- end
22
-
23
- def installer_path
24
- ::File.join(instance.install_path, 'plugins', 'redmine_installer', 'installer', 'run.sh')
25
- end
26
-
27
- def install_task
28
- if instance.web_path_optional.present?
29
- 'redmine_as_apache_path'
30
- else
31
- 'redmine_as_apache_base'
32
- end
14
+ instance.run_installer
33
15
  end
34
16
  end
35
17
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Avm
4
4
  module EacRedmineBase0
5
- VERSION = '0.16.0'
5
+ VERSION = '0.17.0'
6
6
  end
7
7
  end
@@ -22,8 +22,8 @@ export address_path='%%WEB.PATH%%'
22
22
 
23
23
  # Git
24
24
  export git_repositories_hierarchical_organisation=false
25
- export gitolite_user='%%GIT.USERNAME%%'
26
- export gitolite_user_home="/var/lib/${gitolite_user}"
25
+ export gitolite_user='%%GITOLITE.USERNAME%%'
26
+ export gitolite_user_home='%%GITOLITE.PATH%%'
27
27
  export redmine_git_hosting_ssh_key_name=redmine_git_hosting_id
28
28
 
29
29
  # Mail settings
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: avm-eac_redmine_base0
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.16.0
4
+ version: 0.17.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-09-25 00:00:00.000000000 Z
11
+ date: 2022-11-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: avm
@@ -16,42 +16,48 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0.44'
19
+ version: '0.57'
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.44'
26
+ version: '0.57'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: avm-eac_generic_base0
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '0.5'
33
+ version: '0.8'
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.5'
40
+ version: '0.8'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: avm-eac_rails_base1
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.7'
48
+ - - ">="
49
+ - !ruby/object:Gem::Version
50
+ version: 0.7.1
48
51
  type: :runtime
49
52
  prerelease: false
50
53
  version_requirements: !ruby/object:Gem::Requirement
51
54
  requirements:
52
55
  - - "~>"
53
56
  - !ruby/object:Gem::Version
54
- version: '0.6'
57
+ version: '0.7'
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ version: 0.7.1
55
61
  - !ruby/object:Gem::Dependency
56
62
  name: avm-eac_ubuntu_base0
57
63
  requirement: !ruby/object:Gem::Requirement
@@ -92,20 +98,14 @@ dependencies:
92
98
  requirements:
93
99
  - - "~>"
94
100
  - !ruby/object:Gem::Version
95
- version: '0.12'
96
- - - ">="
97
- - !ruby/object:Gem::Version
98
- version: 0.12.3
101
+ version: '0.15'
99
102
  type: :runtime
100
103
  prerelease: false
101
104
  version_requirements: !ruby/object:Gem::Requirement
102
105
  requirements:
103
106
  - - "~>"
104
107
  - !ruby/object:Gem::Version
105
- version: '0.12'
106
- - - ">="
107
- - !ruby/object:Gem::Version
108
- version: 0.12.3
108
+ version: '0.15'
109
109
  - !ruby/object:Gem::Dependency
110
110
  name: eac_rest
111
111
  requirement: !ruby/object:Gem::Requirement
@@ -132,14 +132,20 @@ dependencies:
132
132
  requirements:
133
133
  - - "~>"
134
134
  - !ruby/object:Gem::Version
135
- version: '0.104'
135
+ version: '0.107'
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: 0.107.1
136
139
  type: :runtime
137
140
  prerelease: false
138
141
  version_requirements: !ruby/object:Gem::Requirement
139
142
  requirements:
140
143
  - - "~>"
141
144
  - !ruby/object:Gem::Version
142
- version: '0.104'
145
+ version: '0.107'
146
+ - - ">="
147
+ - !ruby/object:Gem::Version
148
+ version: 0.107.1
143
149
  - !ruby/object:Gem::Dependency
144
150
  name: eac_ruby_gem_support
145
151
  requirement: !ruby/object:Gem::Requirement
@@ -165,9 +171,11 @@ files:
165
171
  - lib/avm/eac_redmine_base0/instances/apache_host.rb
166
172
  - lib/avm/eac_redmine_base0/instances/base.rb
167
173
  - lib/avm/eac_redmine_base0/instances/base/database.rb
174
+ - lib/avm/eac_redmine_base0/instances/base/files.rb
168
175
  - lib/avm/eac_redmine_base0/instances/base/gitolite.rb
176
+ - lib/avm/eac_redmine_base0/instances/base/install.rb
169
177
  - lib/avm/eac_redmine_base0/instances/base/web.rb
170
- - lib/avm/eac_redmine_base0/instances/data_unit.rb
178
+ - lib/avm/eac_redmine_base0/instances/data_package.rb
171
179
  - lib/avm/eac_redmine_base0/instances/deploy.rb
172
180
  - lib/avm/eac_redmine_base0/instances/docker_image.rb
173
181
  - lib/avm/eac_redmine_base0/instances/rest_api.rb
@@ -1,53 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'avm/data/instance/unit'
4
- require 'eac_ruby_utils/core_ext'
5
- require 'curb'
6
- require 'open-uri'
7
-
8
- module Avm
9
- module EacRedmineBase0
10
- module Instances
11
- class DataUnit < ::Avm::Data::Instance::Unit
12
- common_constructor :instance
13
-
14
- EXPORT_PATH = '/backup/export'
15
- EXTENSION = '.tar'
16
- IMPORT_PATH = '/backup/import.json'
17
-
18
- def do_dump(data_path)
19
- ::File.open(data_path, 'wb') do |file|
20
- file << export_request.response.body_data_or_raise
21
- end
22
- end
23
-
24
- def do_load(data_path)
25
- do_load_by_web(data_path) || do_load_by_rake(data_path) || raise('Failed to load')
26
- end
27
-
28
- def do_load_by_web(data_path)
29
- c = Curl::Easy.new(import_url)
30
- c.multipart_form_post = true
31
- c.http_post(Curl::PostField.file('redmine_with_git_tableless_load[path]', data_path))
32
- c.perform
33
- true
34
- rescue Curl::Err::ConnectionFailedError
35
- false
36
- end
37
-
38
- def do_load_by_rake(data_path)
39
- instance.bundle('exec', 'rake', "redmine_with_git:load:all[#{data_path}]").system
40
- true
41
- end
42
-
43
- def export_request
44
- instance.rest_api.request(EXPORT_PATH)
45
- end
46
-
47
- def import_url
48
- instance.rest_api.build_service_url(IMPORT_PATH).to_s
49
- end
50
- end
51
- end
52
- end
53
- end