avm-eac_redmine_base0 0.16.1 → 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 +4 -4
- data/lib/avm/eac_redmine_base0/instances/base/files.rb +22 -0
- data/lib/avm/eac_redmine_base0/instances/base/gitolite.rb +11 -0
- data/lib/avm/eac_redmine_base0/instances/base/install.rb +37 -0
- data/lib/avm/eac_redmine_base0/instances/base.rb +3 -9
- data/lib/avm/eac_redmine_base0/instances/data_package.rb +23 -0
- data/lib/avm/eac_redmine_base0/instances/deploy.rb +1 -19
- data/lib/avm/eac_redmine_base0/version.rb +1 -1
- metadata +13 -11
- data/lib/avm/eac_redmine_base0/instances/data_unit.rb +0 -53
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: f24264eaab80e14c42168a30561e40f309f84a9d67dc5e45c078409a1dbd3eda
|
|
4
|
+
data.tar.gz: e7b114c9bea0d113cefd1c6e9f8d231d03a39d743e04042e5417bc5b92751ecb
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
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/
|
|
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::
|
|
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
|
-
|
|
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
|
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.
|
|
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-11-
|
|
11
|
+
date: 2022-11-16 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: avm
|
|
@@ -16,20 +16,14 @@ dependencies:
|
|
|
16
16
|
requirements:
|
|
17
17
|
- - "~>"
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version: '0.
|
|
20
|
-
- - ">="
|
|
21
|
-
- !ruby/object:Gem::Version
|
|
22
|
-
version: 0.56.1
|
|
19
|
+
version: '0.57'
|
|
23
20
|
type: :runtime
|
|
24
21
|
prerelease: false
|
|
25
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
26
23
|
requirements:
|
|
27
24
|
- - "~>"
|
|
28
25
|
- !ruby/object:Gem::Version
|
|
29
|
-
version: '0.
|
|
30
|
-
- - ">="
|
|
31
|
-
- !ruby/object:Gem::Version
|
|
32
|
-
version: 0.56.1
|
|
26
|
+
version: '0.57'
|
|
33
27
|
- !ruby/object:Gem::Dependency
|
|
34
28
|
name: avm-eac_generic_base0
|
|
35
29
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -51,6 +45,9 @@ dependencies:
|
|
|
51
45
|
- - "~>"
|
|
52
46
|
- !ruby/object:Gem::Version
|
|
53
47
|
version: '0.7'
|
|
48
|
+
- - ">="
|
|
49
|
+
- !ruby/object:Gem::Version
|
|
50
|
+
version: 0.7.1
|
|
54
51
|
type: :runtime
|
|
55
52
|
prerelease: false
|
|
56
53
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -58,6 +55,9 @@ dependencies:
|
|
|
58
55
|
- - "~>"
|
|
59
56
|
- !ruby/object:Gem::Version
|
|
60
57
|
version: '0.7'
|
|
58
|
+
- - ">="
|
|
59
|
+
- !ruby/object:Gem::Version
|
|
60
|
+
version: 0.7.1
|
|
61
61
|
- !ruby/object:Gem::Dependency
|
|
62
62
|
name: avm-eac_ubuntu_base0
|
|
63
63
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -171,9 +171,11 @@ files:
|
|
|
171
171
|
- lib/avm/eac_redmine_base0/instances/apache_host.rb
|
|
172
172
|
- lib/avm/eac_redmine_base0/instances/base.rb
|
|
173
173
|
- lib/avm/eac_redmine_base0/instances/base/database.rb
|
|
174
|
+
- lib/avm/eac_redmine_base0/instances/base/files.rb
|
|
174
175
|
- lib/avm/eac_redmine_base0/instances/base/gitolite.rb
|
|
176
|
+
- lib/avm/eac_redmine_base0/instances/base/install.rb
|
|
175
177
|
- lib/avm/eac_redmine_base0/instances/base/web.rb
|
|
176
|
-
- lib/avm/eac_redmine_base0/instances/
|
|
178
|
+
- lib/avm/eac_redmine_base0/instances/data_package.rb
|
|
177
179
|
- lib/avm/eac_redmine_base0/instances/deploy.rb
|
|
178
180
|
- lib/avm/eac_redmine_base0/instances/docker_image.rb
|
|
179
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
|