avm-eac_redmine_base0 0.19.1 → 0.20.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b27527dc74e72e965df3c22833d830e38db777b978c51029724bc0a6ed9f4e8d
4
- data.tar.gz: 6b9d3b228d2b45ee20a62a2870f8f20a81bbce3a6d64c13c3fe5030e6a305880
3
+ metadata.gz: '074843787a7e86e7a312cc98d9d87a408273fc0e25a3eee3c8059d5829dcce5a'
4
+ data.tar.gz: 121135debacd00cd742479585954e8b19b1676fb5e7307d232744ab1f2ad793c
5
5
  SHA512:
6
- metadata.gz: 2fb910a6048022cdc49c0abe2a5f75808a616ae15c92fd5d3b71f694bd254b55c86d02fe9dd378b5477bdc83fcc9d32fe2901b81a0694cfa26c8d93549fef715
7
- data.tar.gz: 4b81fbff0ad9dc1465f564e28859a20ebabc2a93374812bebc9d719d6fa4ed635669994eeb43bb2b45520596d32aeae93111ee0ccab12be217dc5c13d9fdda01
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: read_entry('api.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
- return '' if web_path_present?
28
+ template.child(apache_setup_dockerfile).apply(self)
29
+ end
27
30
 
28
- template.child('Dockerfile_apache_setup').apply(self)
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
@@ -7,6 +7,7 @@ module Avm
7
7
  module EacRedmineBase0
8
8
  module Instances
9
9
  class RestApi < ::EacRest::Api
10
+ require_sub __FILE__
10
11
  end
11
12
  end
12
13
  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
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Avm
4
4
  module EacRedmineBase0
5
- VERSION = '0.19.1'
5
+ VERSION = '0.20.0'
6
6
  end
7
7
  end
@@ -0,0 +1,5 @@
1
+ USER root
2
+ RUN a2ensite 000-default
3
+ RUN a2ensite default-ssl
4
+ RUN a2enmod ssl
5
+ RUN service apache2 restart
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.19.1
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-04-14 00:00:00.000000000 Z
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.67'
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.67'
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.1
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.1
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.7'
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.7'
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/Dockerfile_apache_setup
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: []