avm-eac_redmine_base0 0.19.1 → 0.20.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.rb +1 -1
- data/lib/avm/eac_redmine_base0/instances/docker_image.rb +7 -2
- data/lib/avm/eac_redmine_base0/instances/rest_api/entity_base.rb +35 -0
- data/lib/avm/eac_redmine_base0/instances/rest_api/project.rb +26 -0
- data/lib/avm/eac_redmine_base0/instances/rest_api/root.rb +21 -0
- data/lib/avm/eac_redmine_base0/instances/rest_api/wiki_page.rb +54 -0
- data/lib/avm/eac_redmine_base0/instances/rest_api.rb +1 -0
- data/lib/avm/eac_redmine_base0/instances/runners/project/wiki_page/read.rb +27 -0
- data/lib/avm/eac_redmine_base0/instances/runners/project/wiki_page/write.rb +70 -0
- data/lib/avm/eac_redmine_base0/instances/runners/project/wiki_page.rb +30 -0
- data/lib/avm/eac_redmine_base0/instances/runners/project.rb +26 -0
- data/lib/avm/eac_redmine_base0/version.rb +1 -1
- data/template/avm/eac_redmine_base0/instances/docker_image/apache_path_dockerfile +5 -0
- metadata +18 -15
- /data/template/avm/eac_redmine_base0/instances/docker_image/{Dockerfile_apache_setup → apache_host_dockerfile} +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: '074843787a7e86e7a312cc98d9d87a408273fc0e25a3eee3c8059d5829dcce5a'
|
4
|
+
data.tar.gz: 121135debacd00cd742479585954e8b19b1676fb5e7307d232744ab1f2ad793c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4f3be7cf0501d9986a2fdca8697a2b3ae550258ad32a83dd4ccb1e78d380e8b0695b8616115af413f6e40734a4090e4d44b5c6959622091fc3bfabcfef448fe9
|
7
|
+
data.tar.gz: 7ac2da04bc3cd9a1ae0d73b527f30f29707aac7aec6caf8c4c86835c02a31ceaf02e2aec799f9b0be87e1a076945a68792bc7a373d5c3b36f961fc5e1e2892ab
|
@@ -49,7 +49,7 @@ module Avm
|
|
49
49
|
# @return [Avm::EacRedmineBase0::Instances::RestApi]
|
50
50
|
def rest_api_uncached
|
51
51
|
url = root_url
|
52
|
-
url.query_values = { key:
|
52
|
+
url.query_values = { key: admin_api_key }
|
53
53
|
::Avm::EacRedmineBase0::Instances::RestApi.new(url)
|
54
54
|
end
|
55
55
|
end
|
@@ -12,6 +12,8 @@ module Avm
|
|
12
12
|
class DockerImage < ::Avm::Instances::DockerImage
|
13
13
|
enable_simple_cache
|
14
14
|
|
15
|
+
APACHE_HOST_DOCKERFILE_SUBPATH = 'apache_host_dockerfile'
|
16
|
+
APACHE_PATH_DOCKERFILE_SUBPATH = 'apache_path_dockerfile'
|
15
17
|
INSTALLER_TARGET_TASK_WITH_WEB_PATH_BLANK = 'redmine_as_apache_base'
|
16
18
|
INSTALLER_TARGET_TASK_WITH_WEB_PATH_PRESENT = 'redmine_as_apache_path'
|
17
19
|
REDMINE_SOURCE_HOST_SUBPATH = 'redmine_source'
|
@@ -23,9 +25,12 @@ module Avm
|
|
23
25
|
end
|
24
26
|
|
25
27
|
def apache_setup
|
26
|
-
|
28
|
+
template.child(apache_setup_dockerfile).apply(self)
|
29
|
+
end
|
27
30
|
|
28
|
-
|
31
|
+
# @return [String]
|
32
|
+
def apache_setup_dockerfile
|
33
|
+
web_path_present? ? APACHE_PATH_DOCKERFILE_SUBPATH : APACHE_HOST_DOCKERFILE_SUBPATH
|
29
34
|
end
|
30
35
|
|
31
36
|
def base_image
|
@@ -0,0 +1,35 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'eac_rest/api'
|
4
|
+
require 'eac_rest/entity'
|
5
|
+
require 'eac_ruby_utils/core_ext'
|
6
|
+
|
7
|
+
module Avm
|
8
|
+
module EacRedmineBase0
|
9
|
+
module Instances
|
10
|
+
class RestApi < ::EacRest::Api
|
11
|
+
class EntityBase < ::EacRest::Entity
|
12
|
+
def build_request(url_suffix)
|
13
|
+
api.request_json("#{url_suffix}.json")
|
14
|
+
end
|
15
|
+
|
16
|
+
def data_from_response(response)
|
17
|
+
raise "\"#{response.url}\" returned non-ok status: #{response.status}" unless
|
18
|
+
response.status.to_s.start_with?('2')
|
19
|
+
|
20
|
+
return {} if response.body_str.blank?
|
21
|
+
|
22
|
+
response.body_data
|
23
|
+
rescue ::JSON::ParserError
|
24
|
+
raise "\"#{response.url}\" returned invalid JSON: \"#{response.body_str}\"" \
|
25
|
+
" (Status: #{response.status})"
|
26
|
+
end
|
27
|
+
|
28
|
+
def fetch_data(url_suffix)
|
29
|
+
data_from_response(build_request(url_suffix).response)
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'avm/eac_redmine_base0/instances/rest_api/entity_base'
|
4
|
+
require 'avm/eac_redmine_base0/instances/rest_api/wiki_page'
|
5
|
+
require 'eac_rest/api'
|
6
|
+
require 'eac_ruby_utils/core_ext'
|
7
|
+
|
8
|
+
module Avm
|
9
|
+
module EacRedmineBase0
|
10
|
+
module Instances
|
11
|
+
class RestApi < ::EacRest::Api
|
12
|
+
class Project < ::Avm::EacRedmineBase0::Instances::RestApi::EntityBase
|
13
|
+
# @return [String]
|
14
|
+
def prefix
|
15
|
+
"/projects/#{id}"
|
16
|
+
end
|
17
|
+
|
18
|
+
# @return [Avm::EacRedmineBase0::Instances::RestApi::WikiPage]
|
19
|
+
def wiki_page(name)
|
20
|
+
child_entity(::Avm::EacRedmineBase0::Instances::RestApi::WikiPage, name)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'avm/eac_redmine_base0/instances/rest_api/entity_base'
|
4
|
+
require 'eac_rest/api'
|
5
|
+
require 'eac_ruby_utils/core_ext'
|
6
|
+
|
7
|
+
module Avm
|
8
|
+
module EacRedmineBase0
|
9
|
+
module Instances
|
10
|
+
class RestApi < ::EacRest::Api
|
11
|
+
class Root < ::Avm::EacRedmineBase0::Instances::RestApi::EntityBase
|
12
|
+
# @param id_or_identifier [String]
|
13
|
+
# @return [Avm::EacRedmineBase0::Instances::RestApi::Project]
|
14
|
+
def project(id_or_identifier)
|
15
|
+
api.entity(::Avm::EacRedmineBase0::Instances::RestApi::Project, id_or_identifier)
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,54 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'avm/eac_redmine_base0/instances/rest_api/entity_base'
|
4
|
+
require 'eac_rest/api'
|
5
|
+
require 'eac_ruby_utils/core_ext'
|
6
|
+
|
7
|
+
module Avm
|
8
|
+
module EacRedmineBase0
|
9
|
+
module Instances
|
10
|
+
class RestApi < ::EacRest::Api
|
11
|
+
class WikiPage < ::Avm::EacRedmineBase0::Instances::RestApi::EntityBase
|
12
|
+
enable_simple_cache
|
13
|
+
|
14
|
+
# @return [Hash]
|
15
|
+
def data_from_id
|
16
|
+
fetch_data(prefix)
|
17
|
+
end
|
18
|
+
|
19
|
+
# @return [String]
|
20
|
+
def data_root
|
21
|
+
'wiki_page'
|
22
|
+
end
|
23
|
+
|
24
|
+
# @return [String]
|
25
|
+
def prefix
|
26
|
+
"#{parent_entity.prefix}/wiki/#{id}"
|
27
|
+
end
|
28
|
+
|
29
|
+
# @return [String]
|
30
|
+
def read
|
31
|
+
data.fetch(data_root).fetch('text')
|
32
|
+
end
|
33
|
+
|
34
|
+
# @param content [String]
|
35
|
+
# @return [+self+]
|
36
|
+
def write(text)
|
37
|
+
data_from_response(
|
38
|
+
build_request(prefix).verb(:put).header('Content-type', 'application/json')
|
39
|
+
.body_data(write_data(text).to_json).response
|
40
|
+
)
|
41
|
+
end
|
42
|
+
|
43
|
+
# @param text [String]
|
44
|
+
# @return [Hash]
|
45
|
+
def write_data(text)
|
46
|
+
{
|
47
|
+
data_root => { 'text' => text }
|
48
|
+
}
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'eac_cli/core_ext'
|
4
|
+
|
5
|
+
module Avm
|
6
|
+
module EacRedmineBase0
|
7
|
+
module Instances
|
8
|
+
module Runners
|
9
|
+
class Project
|
10
|
+
class WikiPage
|
11
|
+
class Read
|
12
|
+
runner_with :help, :output
|
13
|
+
|
14
|
+
def run
|
15
|
+
run_output
|
16
|
+
end
|
17
|
+
|
18
|
+
def output_content
|
19
|
+
runner_context.call(:wiki_page_content)
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,70 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'eac_cli/core_ext'
|
4
|
+
|
5
|
+
module Avm
|
6
|
+
module EacRedmineBase0
|
7
|
+
module Instances
|
8
|
+
module Runners
|
9
|
+
class Project
|
10
|
+
class WikiPage
|
11
|
+
class Write
|
12
|
+
runner_with :help, :confirmation, :input do
|
13
|
+
bool_opt '-f', '--force'
|
14
|
+
end
|
15
|
+
delegate :force?, to: :parsed
|
16
|
+
|
17
|
+
def run
|
18
|
+
start_banner
|
19
|
+
if write?
|
20
|
+
run_write
|
21
|
+
else
|
22
|
+
success 'Content unchanged, no further action will be taken'
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
def start_banner
|
27
|
+
infov 'Content'
|
28
|
+
infov ' * Current', current_content
|
29
|
+
infov ' * New', new_content
|
30
|
+
infov ' * Changed?', content_changed?
|
31
|
+
end
|
32
|
+
|
33
|
+
# @return [Boolean]
|
34
|
+
def content_changed?
|
35
|
+
new_content != current_content
|
36
|
+
end
|
37
|
+
|
38
|
+
def run_write
|
39
|
+
if confirm?('Write?')
|
40
|
+
infom 'Writing...'
|
41
|
+
runner_context.call(:wiki_page).write(new_content)
|
42
|
+
success('Writed!')
|
43
|
+
else
|
44
|
+
success('Unconfirmed, no further action will be taken')
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
# @return [Boolean]
|
49
|
+
def write?
|
50
|
+
parsed.force? || content_changed?
|
51
|
+
end
|
52
|
+
|
53
|
+
private
|
54
|
+
|
55
|
+
# @return [String]
|
56
|
+
def current_content_uncached
|
57
|
+
runner_context.call(:wiki_page_content)
|
58
|
+
end
|
59
|
+
|
60
|
+
# @return [String]
|
61
|
+
def new_content_uncached
|
62
|
+
input_content
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'eac_cli/core_ext'
|
4
|
+
|
5
|
+
module Avm
|
6
|
+
module EacRedmineBase0
|
7
|
+
module Instances
|
8
|
+
module Runners
|
9
|
+
class Project
|
10
|
+
class WikiPage
|
11
|
+
runner_with :help, :subcommands do
|
12
|
+
pos_arg :name
|
13
|
+
subcommands
|
14
|
+
end
|
15
|
+
|
16
|
+
def wiki_page
|
17
|
+
runner_context.call(:project).wiki_page(parsed.name)
|
18
|
+
end
|
19
|
+
|
20
|
+
def wiki_page_content
|
21
|
+
wiki_page.read
|
22
|
+
end
|
23
|
+
|
24
|
+
require_sub __FILE__
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'eac_cli/core_ext'
|
4
|
+
|
5
|
+
module Avm
|
6
|
+
module EacRedmineBase0
|
7
|
+
module Instances
|
8
|
+
module Runners
|
9
|
+
class Project
|
10
|
+
runner_with :help, :subcommands do
|
11
|
+
pos_arg :id_or_identifier
|
12
|
+
subcommands
|
13
|
+
end
|
14
|
+
|
15
|
+
private
|
16
|
+
|
17
|
+
def project_uncached
|
18
|
+
runner_context.call(:instance).rest_api.root_entity.project(parsed.id_or_identifier)
|
19
|
+
end
|
20
|
+
|
21
|
+
require_sub __FILE__
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
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.20.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: 2023-
|
11
|
+
date: 2023-05-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: avm
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '0.
|
19
|
+
version: '0.68'
|
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.68'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: avm-eac_generic_base0
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -67,7 +67,7 @@ dependencies:
|
|
67
67
|
version: '0.4'
|
68
68
|
- - ">="
|
69
69
|
- !ruby/object:Gem::Version
|
70
|
-
version: 0.4.
|
70
|
+
version: 0.4.2
|
71
71
|
type: :runtime
|
72
72
|
prerelease: false
|
73
73
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -77,7 +77,7 @@ dependencies:
|
|
77
77
|
version: '0.4'
|
78
78
|
- - ">="
|
79
79
|
- !ruby/object:Gem::Version
|
80
|
-
version: 0.4.
|
80
|
+
version: 0.4.2
|
81
81
|
- !ruby/object:Gem::Dependency
|
82
82
|
name: curb
|
83
83
|
requirement: !ruby/object:Gem::Requirement
|
@@ -118,20 +118,14 @@ dependencies:
|
|
118
118
|
requirements:
|
119
119
|
- - "~>"
|
120
120
|
- !ruby/object:Gem::Version
|
121
|
-
version: '0.
|
122
|
-
- - ">="
|
123
|
-
- !ruby/object:Gem::Version
|
124
|
-
version: 0.7.3
|
121
|
+
version: '0.9'
|
125
122
|
type: :runtime
|
126
123
|
prerelease: false
|
127
124
|
version_requirements: !ruby/object:Gem::Requirement
|
128
125
|
requirements:
|
129
126
|
- - "~>"
|
130
127
|
- !ruby/object:Gem::Version
|
131
|
-
version: '0.
|
132
|
-
- - ">="
|
133
|
-
- !ruby/object:Gem::Version
|
134
|
-
version: 0.7.3
|
128
|
+
version: '0.9'
|
135
129
|
- !ruby/object:Gem::Dependency
|
136
130
|
name: eac_ruby_utils
|
137
131
|
requirement: !ruby/object:Gem::Requirement
|
@@ -179,8 +173,16 @@ files:
|
|
179
173
|
- lib/avm/eac_redmine_base0/instances/deploy.rb
|
180
174
|
- lib/avm/eac_redmine_base0/instances/docker_image.rb
|
181
175
|
- lib/avm/eac_redmine_base0/instances/rest_api.rb
|
176
|
+
- lib/avm/eac_redmine_base0/instances/rest_api/entity_base.rb
|
177
|
+
- lib/avm/eac_redmine_base0/instances/rest_api/project.rb
|
178
|
+
- lib/avm/eac_redmine_base0/instances/rest_api/root.rb
|
179
|
+
- lib/avm/eac_redmine_base0/instances/rest_api/wiki_page.rb
|
182
180
|
- lib/avm/eac_redmine_base0/instances/runners.rb
|
183
181
|
- lib/avm/eac_redmine_base0/instances/runners/docker.rb
|
182
|
+
- lib/avm/eac_redmine_base0/instances/runners/project.rb
|
183
|
+
- lib/avm/eac_redmine_base0/instances/runners/project/wiki_page.rb
|
184
|
+
- lib/avm/eac_redmine_base0/instances/runners/project/wiki_page/read.rb
|
185
|
+
- lib/avm/eac_redmine_base0/instances/runners/project/wiki_page/write.rb
|
184
186
|
- lib/avm/eac_redmine_base0/instances/runners/project_rename.rb
|
185
187
|
- lib/avm/eac_redmine_base0/sources.rb
|
186
188
|
- lib/avm/eac_redmine_base0/sources/base.rb
|
@@ -194,9 +196,10 @@ files:
|
|
194
196
|
- template/avm/eac_redmine_base0/instances/deploy/config/install.sh.template
|
195
197
|
- template/avm/eac_redmine_base0/instances/deploy/config/secrets.yml
|
196
198
|
- template/avm/eac_redmine_base0/instances/docker_image/Dockerfile.template
|
197
|
-
- template/avm/eac_redmine_base0/instances/docker_image/
|
199
|
+
- template/avm/eac_redmine_base0/instances/docker_image/apache_host_dockerfile
|
198
200
|
- template/avm/eac_redmine_base0/instances/docker_image/apache_http_virtualhost.conf.template
|
199
201
|
- template/avm/eac_redmine_base0/instances/docker_image/apache_https_virtualhost.conf.template
|
202
|
+
- template/avm/eac_redmine_base0/instances/docker_image/apache_path_dockerfile
|
200
203
|
- template/avm/eac_redmine_base0/instances/docker_image/start.sh.template
|
201
204
|
homepage:
|
202
205
|
licenses: []
|
File without changes
|