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 +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
- data/template/avm/eac_redmine_base0/instances/deploy/config/install.sh.template +2 -2
- metadata +27 -19
- 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
|
@@ -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='%%
|
26
|
-
export gitolite_user_home=
|
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.
|
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
|
+
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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/
|
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
|