eac_tools 0.106.1 → 0.107.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.
Files changed (116) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +17 -17
  3. data/lib/eac_tools/version.rb +1 -1
  4. data/sub/avm-eac_redmine_base0/avm-eac_redmine_base0.gemspec +26 -0
  5. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/apache_host.rb +10 -0
  6. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base/database.rb +27 -0
  7. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base/files.rb +18 -0
  8. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base/gitolite.rb +52 -0
  9. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base/install.rb +43 -0
  10. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base/nodejs.rb +19 -0
  11. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base/web.rb +17 -0
  12. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base.rb +58 -0
  13. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/deploy.rb +16 -0
  14. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/docker_image.rb +110 -0
  15. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api/entity_base.rb +31 -0
  16. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api/project.rb +21 -0
  17. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api/root.rb +17 -0
  18. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api/wiki_page.rb +50 -0
  19. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api.rb +10 -0
  20. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/runners/docker.rb +15 -0
  21. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/runners/project/wiki_page/read.rb +25 -0
  22. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/runners/project/wiki_page/write.rb +68 -0
  23. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/runners/project/wiki_page.rb +26 -0
  24. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/runners/project.rb +22 -0
  25. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/runners/project_rename.rb +53 -0
  26. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources/base.rb +44 -0
  27. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources/core_update.rb +125 -0
  28. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources/runners/core_update.rb +61 -0
  29. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources/runners/docker.rb +16 -0
  30. data/sub/{avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0 → avm-eac_redmine_base0/lib/avm/eac_redmine_base0}/version.rb +2 -2
  31. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0.rb +16 -0
  32. data/sub/avm-eac_redmine_base0/locale/en.yml +6 -0
  33. data/sub/avm-eac_redmine_base0/locale/pt-BR.yml +6 -0
  34. data/sub/avm-eac_redmine_base0/spec/lib/avm/eac_redmine_base0/instances/apache_host_spec.rb +22 -0
  35. data/sub/avm-eac_redmine_base0/spec/lib/avm/eac_redmine_base0/instances/apache_host_spec_files/apache_host_spec_no_ssl_content.conf +11 -0
  36. data/sub/avm-eac_redmine_base0/spec/lib/avm/eac_redmine_base0/instances/base/gitolite_spec.rb +26 -0
  37. data/sub/avm-eac_redmine_base0/spec/lib/avm/eac_redmine_base0/instances/base/gitolite_spec_files/config.yml +10 -0
  38. data/sub/{avm-eac_asciidoctor_base0 → avm-eac_redmine_base0}/spec/spec_helper.rb +2 -3
  39. data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/deploy/config/install.sh.template +45 -0
  40. data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/deploy/config/secrets.yml +8 -0
  41. data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/Dockerfile.template +37 -0
  42. data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/apache_host_dockerfile +8 -0
  43. data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/apache_http_virtualhost.conf.template +10 -0
  44. data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/apache_https_virtualhost.conf.template +16 -0
  45. data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/apache_path_dockerfile +5 -0
  46. data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/start.sh.template +52 -0
  47. metadata +49 -81
  48. data/sub/avm-eac_asciidoctor_base0/avm-eac_asciidoctor_base0.gemspec +0 -24
  49. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/documents_owner.rb +0 -27
  50. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/file_formats/base/file_resource_name.rb +0 -34
  51. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/file_formats/base.rb +0 -14
  52. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/apache_host.rb +0 -17
  53. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/apache_path.rb +0 -10
  54. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/base.rb +0 -28
  55. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/document/body_target.rb +0 -35
  56. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/document/header_lines.rb +0 -90
  57. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/document/media.rb +0 -27
  58. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/document/pre_process_line.rb +0 -62
  59. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/document.rb +0 -99
  60. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/theme.rb +0 -38
  61. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build.rb +0 -56
  62. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/deploy.rb +0 -24
  63. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/macros/base.rb +0 -19
  64. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/macros/breadcrumbs.rb +0 -52
  65. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/macros/child_docs/document_builder.rb +0 -60
  66. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/macros/child_docs.rb +0 -30
  67. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/macros/default_body.rb +0 -18
  68. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/macros/todo.rb +0 -18
  69. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/logging/catcher.rb +0 -44
  70. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/logging/error.rb +0 -16
  71. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/source_generators/base.rb +0 -24
  72. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/base/instance_to_build.rb +0 -44
  73. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/base/theme.rb +0 -45
  74. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/base.rb +0 -42
  75. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/document/media.rb +0 -27
  76. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/document/title.rb +0 -30
  77. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/document.rb +0 -55
  78. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/runners/build.rb +0 -55
  79. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/runners/document/build.rb +0 -49
  80. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/runners/document.rb +0 -26
  81. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/runners/documents.rb +0 -26
  82. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/runners/ignore_errors_option.rb +0 -42
  83. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/runners.rb +0 -11
  84. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0.rb +0 -11
  85. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/file_formats/base_spec.rb +0 -11
  86. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build/document_spec.rb +0 -79
  87. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build/document_spec_files/pre_processed_root_body.adoc +0 -25
  88. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec.rb +0 -19
  89. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.source/content/_media/a_media_file +0 -1
  90. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.source/content/doc1/_media/a_media_file +0 -1
  91. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.source/content/doc1/body.adoc +0 -11
  92. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.source/content/doc1/title +0 -1
  93. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.source/content/doc2/body.adoc +0 -11
  94. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.source/content/doc2/doc2_1/_media/a_media_file +0 -1
  95. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.source/content/doc2/doc2_1/body.adoc +0 -11
  96. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.source/content/doc2/doc2_1/title +0 -1
  97. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.source/content/doc2/title +0 -1
  98. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.target/_media/a_media_file +0 -1
  99. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.target/_theme/main.css +0 -1
  100. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.target/doc1/_media/a_media_file +0 -1
  101. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.target/doc1/index.html +0 -1
  102. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.target/doc2/doc2_1/_media/a_media_file +0 -1
  103. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.target/doc2/doc2_1/index.html +0 -1
  104. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.target/doc2/index.html +0 -1
  105. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.target/index.html +0 -1
  106. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/source_generators/base_spec.rb +0 -5
  107. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/source_generators/base_spec_files/no_options/content/body.adoc +0 -11
  108. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/source_generators/base_spec_files/no_options/content/title +0 -1
  109. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/source_generators/base_spec_files/no_options/theme/main.css +0 -1
  110. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/sources/base_spec.rb +0 -13
  111. data/sub/avm-eac_asciidoctor_base0/spec/spec_helper/eac_asciidoctor_base0_stubs.rb +0 -55
  112. data/sub/avm-eac_asciidoctor_base0/template/avm/eac_asciidoctor_base0/source_generators/base/content/body.adoc +0 -11
  113. data/sub/avm-eac_asciidoctor_base0/template/avm/eac_asciidoctor_base0/source_generators/base/content/title +0 -1
  114. data/sub/avm-eac_asciidoctor_base0/template/avm/eac_asciidoctor_base0/source_generators/base/theme/main.css +0 -1
  115. /data/sub/{avm-eac_asciidoctor_base0 → avm-eac_redmine_base0}/Gemfile +0 -0
  116. /data/sub/{avm-eac_asciidoctor_base0 → avm-eac_redmine_base0}/spec/rubocop_spec.rb +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d288f43e73700fb45d0cdc51d36c6aab2cc21638b5d1e590f16a12486688fd56
4
- data.tar.gz: 4bff59ddea7ea6169079b2b1c103e5362b68d10574009370afa23b95afd12d7f
3
+ metadata.gz: a6febb29b629611d3a5ea59d89066bd082f0f26544327b0e5daea4c283db7cfc
4
+ data.tar.gz: 7297b2abff84cf13e1318bbf8e63a5cbf8a546d2227c5c51eaa76fadae9bdca5
5
5
  SHA512:
6
- metadata.gz: e18e3a122adea01f9fc4364d287ca5831c94874ca465a9ec70008486fc771db11942d9669ffccdfa9b961cf868f0d68254f4ae35995cfcb4d31568029075162e
7
- data.tar.gz: d21bae0acc36e62c3648076534e36461adb229a2105d4bc26337450aff84e20d06c99c66ebfee9489fbcc82a1a12235cd4629a220c004e50bf174fd81fae92a2
6
+ metadata.gz: d776e0922750e7d42b0901a0493198aaea1e3bc54de6791e7eacf3e56836d7c359541c7cc3ddf8075b63243e6b5c3cb89a47797f574f7ef7d48329064d194b7a
7
+ data.tar.gz: fa86501a01af56b4341026ecc119a083c63a216ee13271ae2ec6643a3419d69942b44cf0598bdfdbfaa8ce364d42c17a227d01e485813b7e38c5a87a0838ea4c
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- eac_tools (0.106.1)
4
+ eac_tools (0.107.0)
5
5
  avm (~> 0.98, >= 0.98.3)
6
6
  avm-eac_asciidoctor_base0 (~> 0.26, >= 0.26.1)
7
7
  avm-eac_generic_base0 (~> 0.15, >= 0.15.2)
@@ -13,7 +13,7 @@ PATH
13
13
  avm-eac_python_base0 (~> 0.2, >= 0.2.2)
14
14
  avm-eac_rails_base0 (~> 0.11, >= 0.11.1)
15
15
  avm-eac_rails_base1 (~> 0.11, >= 0.11.1)
16
- avm-eac_redmine_base0 (~> 0.23, >= 0.23.1)
16
+ avm-eac_redmine_base0 (~> 0.24)
17
17
  avm-eac_redmine_plugin_base0 (~> 0.5)
18
18
  avm-eac_ruby_base0 (~> 0.1)
19
19
  avm-eac_ruby_base1 (~> 0.38, >= 0.38.1)
@@ -24,15 +24,16 @@ PATH
24
24
  eac_ruby_utils (~> 0.128, >= 0.128.6)
25
25
 
26
26
  PATH
27
- remote: sub/avm-eac_asciidoctor_base0
27
+ remote: sub/avm-eac_redmine_base0
28
28
  specs:
29
- avm-eac_asciidoctor_base0 (0.26.1)
30
- asciidoctor (~> 2.0, >= 2.0.26)
31
- avm-eac_webapp_base0 (~> 0.21, >= 0.21.3)
29
+ avm-eac_redmine_base0 (0.24.0)
30
+ avm (~> 0.98, >= 0.98.3)
31
+ avm-eac_generic_base0 (~> 0.15, >= 0.15.2)
32
+ avm-eac_rails_base1 (~> 0.11, >= 0.11.1)
33
+ avm-eac_ubuntu_base0 (~> 0.7)
32
34
  eac_fs (~> 0.20)
35
+ eac_rest (~> 0.12)
33
36
  eac_ruby_utils (~> 0.128, >= 0.128.6)
34
- os (~> 1.1, >= 1.1.4)
35
- rouge (~> 3.30)
36
37
 
37
38
  GEM
38
39
  remote: https://rubygems.org/
@@ -66,6 +67,13 @@ GEM
66
67
  eac_ruby_utils (~> 0.128, >= 0.128.6)
67
68
  eac_templates (~> 0.8, >= 0.8.3)
68
69
  minitar (~> 0.12, >= 0.12.1)
70
+ avm-eac_asciidoctor_base0 (0.26.1)
71
+ asciidoctor (~> 2.0, >= 2.0.26)
72
+ avm-eac_webapp_base0 (~> 0.21, >= 0.21.3)
73
+ eac_fs (~> 0.20)
74
+ eac_ruby_utils (~> 0.128, >= 0.128.6)
75
+ os (~> 1.1, >= 1.1.4)
76
+ rouge (~> 3.30)
69
77
  avm-eac_generic_base0 (0.15.2)
70
78
  avm (~> 0.98, >= 0.98.2)
71
79
  eac_ruby_utils (~> 0.128, >= 0.128.6)
@@ -99,14 +107,6 @@ GEM
99
107
  avm-eac_ruby_base1 (~> 0.38, >= 0.38.1)
100
108
  avm-eac_webapp_base0 (~> 0.21, >= 0.21.3)
101
109
  eac_ruby_utils (~> 0.128, >= 0.128.6)
102
- avm-eac_redmine_base0 (0.23.1)
103
- avm (~> 0.97, >= 0.97.1)
104
- avm-eac_generic_base0 (~> 0.15, >= 0.15.1)
105
- avm-eac_rails_base1 (~> 0.10, >= 0.10.2)
106
- avm-eac_ubuntu_base0 (~> 0.6)
107
- eac_fs (~> 0.19, >= 0.19.1)
108
- eac_rest (~> 0.12)
109
- eac_ruby_utils (~> 0.128, >= 0.128.3)
110
110
  avm-eac_redmine_plugin_base0 (0.5.0)
111
111
  avm-eac_ruby_base1 (~> 0.38, >= 0.38.1)
112
112
  eac_ruby_utils (~> 0.128, >= 0.128.6)
@@ -328,7 +328,7 @@ PLATFORMS
328
328
  x86_64-linux-gnu
329
329
 
330
330
  DEPENDENCIES
331
- avm-eac_asciidoctor_base0!
331
+ avm-eac_redmine_base0!
332
332
  eac_ruby_gem_support (~> 0.12)
333
333
  eac_tools!
334
334
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module EacTools
4
- VERSION = '0.106.1'
4
+ VERSION = '0.107.0'
5
5
  end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ $LOAD_PATH.push File.expand_path('lib', __dir__)
4
+
5
+ require 'avm/eac_redmine_base0/version'
6
+
7
+ Gem::Specification.new do |s|
8
+ s.name = 'avm-eac_redmine_base0'
9
+ s.version = Avm::EacRedmineBase0::VERSION
10
+ s.authors = ['Put here the authors']
11
+ s.summary = 'Put here de description.'
12
+
13
+ s.files = Dir['{lib,locale,template}/**/*']
14
+
15
+ s.required_ruby_version = '>= 2.7.0'
16
+
17
+ s.add_dependency 'avm', '~> 0.98', '>= 0.98.3'
18
+ s.add_dependency 'avm-eac_generic_base0', '~> 0.15', '>= 0.15.2'
19
+ s.add_dependency 'avm-eac_rails_base1', '~> 0.11', '>= 0.11.1'
20
+ s.add_dependency 'avm-eac_ubuntu_base0', '~> 0.7'
21
+ s.add_dependency 'eac_fs', '~> 0.20'
22
+ s.add_dependency 'eac_rest', '~> 0.12'
23
+ s.add_dependency 'eac_ruby_utils', '~> 0.128', '>= 0.128.6'
24
+
25
+ s.add_development_dependency 'eac_ruby_gem_support', '~> 0.12'
26
+ end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module EacRedmineBase0
5
+ module Instances
6
+ class ApacheHost < ::Avm::EacRailsBase1::Instances::ApacheHost
7
+ end
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module EacRedmineBase0
5
+ module Instances
6
+ class Base < ::Avm::EacRailsBase1::Instances::Base
7
+ module Database
8
+ DATABASE_INTERNAL_HOSTNAME = ::Avm::Instances::Base::AutoValues::Database::LOCAL_ADDRESS
9
+ DEFAULT_POSTGRESQL_VERSION = ''
10
+
11
+ common_concern do
12
+ uri_components_entries_values 'postgresql', %w[version]
13
+ end
14
+
15
+ def database_internal # rubocop:disable Naming/PredicateMethod
16
+ ::Avm::Instances::Base::AutoValues::Database::LOCAL_ADDRESSES
17
+ .include?(entry(::Avm::Instances::EntryKeys::DATABASE_HOSTNAME).value)
18
+ end
19
+
20
+ def postgresql_version_default_value
21
+ DEFAULT_POSTGRESQL_VERSION
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module EacRedmineBase0
5
+ module Instances
6
+ class Base < ::Avm::EacRailsBase1::Instances::Base
7
+ module Files
8
+ FILES_SUBPATH = 'files'
9
+
10
+ # @return [Avm::Instances::Data::FilesUnit]
11
+ def files_data_unit
12
+ ::Avm::Instances::Data::FilesUnit.new(self, FILES_SUBPATH)
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,52 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module EacRedmineBase0
5
+ module Instances
6
+ class Base < ::Avm::EacRailsBase1::Instances::Base
7
+ module Gitolite
8
+ GITOLITE_ENTRY_KEYS_PREFIX = 'gitolite'
9
+ DEFAULT_HOSTNAME = 'localhost'
10
+ DEFAULT_PATH_PARENT = '/var/lib'
11
+ DEFAULT_SCHEME = 'file'
12
+ DEFAULT_USERNAME = 'git'
13
+
14
+ common_concern do
15
+ uri_components_entries_values GITOLITE_ENTRY_KEYS_PREFIX
16
+ undef_method :gitolite_path_inherited_value_proc
17
+ end
18
+
19
+ # @return [Avm::Instances::Data::FilesUnit]
20
+ def gitolite_data_unit
21
+ ::Avm::Instances::Data::FilesUnit.new(self, gitolite_repositories_path,
22
+ sudo_user: entry('gitolite.username').value!)
23
+ end
24
+
25
+ def gitolite_hostname_default_value
26
+ DEFAULT_HOSTNAME
27
+ end
28
+
29
+ # @return [String]
30
+ def gitolite_path_default_value
31
+ gitolite_username_optional.if_present do |v|
32
+ ::File.join(DEFAULT_PATH_PARENT, v)
33
+ end
34
+ end
35
+
36
+ # @return [Pathname]
37
+ def gitolite_repositories_path
38
+ entry('gitolite.path').value!.to_pathname.join('repositories')
39
+ end
40
+
41
+ def gitolite_scheme_default_value
42
+ DEFAULT_SCHEME
43
+ end
44
+
45
+ def gitolite_username_default_value
46
+ DEFAULT_USERNAME
47
+ end
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
@@ -0,0 +1,43 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module EacRedmineBase0
5
+ module Instances
6
+ class Base < ::Avm::EacRailsBase1::Instances::Base
7
+ module Install
8
+ INSTALL_EXTRA_KEY = 'install.extra'
9
+ DEFAULT_INSTALL_EXTRA = ''
10
+
11
+ # @return [String]
12
+ def auto_install_extra
13
+ inherited_entry_value(::Avm::Instances::EntryKeys::INSTALL_ID, INSTALL_EXTRA_KEY) ||
14
+ DEFAULT_INSTALL_EXTRA
15
+ end
16
+
17
+ def run_installer
18
+ ::EacRubyUtils::Ruby.on_clean_environment do
19
+ installer_command.system!
20
+ end
21
+ end
22
+
23
+ def installer_command
24
+ host_env.command(installer_path, install_task)
25
+ end
26
+
27
+ def installer_path
28
+ ::File.join(install_path, 'plugins', 'redmine_installer', 'installer',
29
+ 'run.sh')
30
+ end
31
+
32
+ def install_task
33
+ if web_path_optional.present?
34
+ 'redmine_as_apache_path'
35
+ else
36
+ 'redmine_as_apache_base'
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module EacRedmineBase0
5
+ module Instances
6
+ class Base < ::Avm::EacRailsBase1::Instances::Base
7
+ module Nodejs
8
+ DEFAULT_NODEJS_VERSION = '19.8.1'
9
+ NODEJS_VERSION_KEY = 'nodejs.version'
10
+
11
+ def auto_install_nodejs_version
12
+ inherited_entry_value(::Avm::Instances::EntryKeys::INSTALL_ID, NODEJS_VERSION_KEY) ||
13
+ DEFAULT_NODEJS_VERSION
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module EacRedmineBase0
5
+ module Instances
6
+ class Base < ::Avm::EacRailsBase1::Instances::Base
7
+ module Web
8
+ def web_authority
9
+ web_hostname.if_present do |h|
10
+ h.to_s + web_port_optional.if_present('') { |p| ":#{p}" }
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,58 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'addressable/uri'
4
+
5
+ module Avm
6
+ module EacRedmineBase0
7
+ module Instances
8
+ class Base < ::Avm::EacRailsBase1::Instances::Base
9
+ require_sub __FILE__, include_modules: true
10
+ enable_simple_cache
11
+
12
+ include ::Avm::EacRubyBase1::Instances::Mixin
13
+
14
+ # @return [String]
15
+ def auto_install_ruby_version
16
+ application.local_source.default_ruby_version.if_present(&:to_s) || super
17
+ end
18
+
19
+ def docker_image_class
20
+ ::Avm::EacRedmineBase0::Instances::DockerImage
21
+ end
22
+
23
+ def docker_run_arguments
24
+ [
25
+ '--volume',
26
+ "#{install_path}:/home/myuser/eac_redmine_base0",
27
+ '--publish', "#{read_entry(:ssh_port)}:22",
28
+ '--publish', "#{read_entry(:http_port)}:80",
29
+ '--publish', "#{read_entry(:https_port)}:443"
30
+ ]
31
+ end
32
+
33
+ # @return [Avm::Instances::Data::Package]
34
+ def data_package_create
35
+ r = super.add_unit('files', files_data_unit).add_unit('gitolite', gitolite_data_unit)
36
+ r.after_load { instance.run_installer }
37
+ r
38
+ end
39
+
40
+ # @return [Addressable::URI]
41
+ def root_url
42
+ r = ::Addressable::URI.parse(read_entry(::Avm::Instances::EntryKeys::WEB_URL))
43
+ r.query_values = nil
44
+ r
45
+ end
46
+
47
+ private
48
+
49
+ # @return [Avm::EacRedmineBase0::Instances::RestApi]
50
+ def rest_api_uncached
51
+ url = root_url
52
+ url.query_values = { key: admin_api_key }
53
+ ::Avm::EacRedmineBase0::Instances::RestApi.new(url)
54
+ end
55
+ end
56
+ end
57
+ end
58
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module EacRedmineBase0
5
+ module Instances
6
+ class Deploy < ::Avm::EacRailsBase1::Instances::Deploy
7
+ set_callback :assert_instance_branch, :after, :run_installer
8
+
9
+ def run_installer
10
+ infom 'Running installer'
11
+ instance.run_installer
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,110 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module EacRedmineBase0
5
+ module Instances
6
+ class DockerImage < ::Avm::Instances::DockerImage
7
+ enable_simple_cache
8
+
9
+ APACHE_HOST_DOCKERFILE_SUBPATH = 'apache_host_dockerfile'
10
+ APACHE_PATH_DOCKERFILE_SUBPATH = 'apache_path_dockerfile'
11
+ INSTALLER_TARGET_TASK_WITH_WEB_PATH_BLANK = 'redmine_as_apache_base'
12
+ INSTALLER_TARGET_TASK_WITH_WEB_PATH_PRESENT = 'redmine_as_apache_path'
13
+ REDMINE_SOURCE_HOST_SUBPATH = 'redmine_source'
14
+ SSH_SERVER_INSTALL = <<~CODE
15
+ RUN sudo apt-get install -y openssh-server
16
+ EXPOSE 22/tcp
17
+ CODE
18
+
19
+ delegate :database_internal, to: :instance
20
+
21
+ def avm_fs_cache_object_id
22
+ instance.id
23
+ end
24
+
25
+ def apache_setup
26
+ template.child(apache_setup_dockerfile).apply(self)
27
+ end
28
+
29
+ # @return [String]
30
+ def apache_setup_dockerfile
31
+ web_path_present? ? APACHE_PATH_DOCKERFILE_SUBPATH : APACHE_HOST_DOCKERFILE_SUBPATH
32
+ end
33
+
34
+ def base_image
35
+ eac_ubuntu_base0_instance.docker_image.provide.id
36
+ end
37
+
38
+ def installer_target_task
39
+ if web_path_present?
40
+ INSTALLER_TARGET_TASK_WITH_WEB_PATH_PRESENT
41
+ else
42
+ INSTALLER_TARGET_TASK_WITH_WEB_PATH_BLANK
43
+ end
44
+ end
45
+
46
+ def redmine_user
47
+ eac_ubuntu_base0_instance.docker_image.user_name
48
+ end
49
+
50
+ def redmine_user_home
51
+ eac_ubuntu_base0_instance.docker_image.user_home
52
+ end
53
+
54
+ def redmine_path
55
+ "#{redmine_user_home}/redmine_app"
56
+ end
57
+
58
+ def skip_database
59
+ ENV.fetch('SKIP_DATABASE', nil)
60
+ end
61
+
62
+ # Optionally install the SSH server.
63
+ # @return [String]
64
+ def ssh_server_install
65
+ ENV.fetch('SSH_SERVER', false).to_bool ? SSH_SERVER_INSTALL : ''
66
+ end
67
+
68
+ def start_path
69
+ '/start.sh'
70
+ end
71
+
72
+ def web_path_present?
73
+ ::Addressable::URI.parse(instance.web_url).path.present?
74
+ end
75
+
76
+ def write_in_provide_dir
77
+ super
78
+
79
+ ::Avm::EacRedmineBase0::Instances::Deploy.template.child('config')
80
+ .child('install.sh')
81
+ .apply_to_file(variables_source, provide_dir.join('install_settings.sh'))
82
+ end
83
+
84
+ private
85
+
86
+ def eac_ubuntu_base0_instance
87
+ r = ::Avm::EacUbuntuBase0::Instances::Base.by_id(instance.id)
88
+ r.docker_image_options = instance.docker_image_options
89
+ r
90
+ end
91
+
92
+ def git_repo_uncached
93
+ ::EacGit::Local.new(instance.source_instance.install_path)
94
+ end
95
+
96
+ def redmine_source_git_id
97
+ git_repo.rev_parse('HEAD')
98
+ end
99
+
100
+ def redmine_source_path_uncached
101
+ r = provide_dir.join(REDMINE_SOURCE_HOST_SUBPATH)
102
+ ::FileUtils.rm_rf(r.to_path)
103
+ r.mkpath
104
+ git_repo.commit(redmine_source_git_id).archive_to_dir(r).system!
105
+ REDMINE_SOURCE_HOST_SUBPATH
106
+ end
107
+ end
108
+ end
109
+ end
110
+ end
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module EacRedmineBase0
5
+ module Instances
6
+ class RestApi < ::EacRest::Api
7
+ class EntityBase < ::EacRest::Entity
8
+ def build_request(url_suffix)
9
+ api.request_json("#{url_suffix}.json")
10
+ end
11
+
12
+ def data_from_response(response)
13
+ raise "\"#{response.url}\" returned non-ok status: #{response.status}" unless
14
+ response.status.to_s.start_with?('2')
15
+
16
+ return {} if response.body_str.blank?
17
+
18
+ response.body_data
19
+ rescue ::JSON::ParserError
20
+ raise "\"#{response.url}\" returned invalid JSON: \"#{response.body_str}\" " \
21
+ "(Status: #{response.status})"
22
+ end
23
+
24
+ def fetch_data(url_suffix)
25
+ data_from_response(build_request(url_suffix).response)
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module EacRedmineBase0
5
+ module Instances
6
+ class RestApi < ::EacRest::Api
7
+ class Project < ::Avm::EacRedmineBase0::Instances::RestApi::EntityBase
8
+ # @return [String]
9
+ def prefix
10
+ "/projects/#{id}"
11
+ end
12
+
13
+ # @return [Avm::EacRedmineBase0::Instances::RestApi::WikiPage]
14
+ def wiki_page(name)
15
+ child_entity(::Avm::EacRedmineBase0::Instances::RestApi::WikiPage, name)
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module EacRedmineBase0
5
+ module Instances
6
+ class RestApi < ::EacRest::Api
7
+ class Root < ::Avm::EacRedmineBase0::Instances::RestApi::EntityBase
8
+ # @param id_or_identifier [String]
9
+ # @return [Avm::EacRedmineBase0::Instances::RestApi::Project]
10
+ def project(id_or_identifier)
11
+ api.entity(::Avm::EacRedmineBase0::Instances::RestApi::Project, id_or_identifier)
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,50 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module EacRedmineBase0
5
+ module Instances
6
+ class RestApi < ::EacRest::Api
7
+ class WikiPage < ::Avm::EacRedmineBase0::Instances::RestApi::EntityBase
8
+ enable_simple_cache
9
+
10
+ # @return [Hash]
11
+ def data_from_id
12
+ fetch_data(prefix)
13
+ end
14
+
15
+ # @return [String]
16
+ def data_root
17
+ 'wiki_page'
18
+ end
19
+
20
+ # @return [String]
21
+ def prefix
22
+ "#{parent_entity.prefix}/wiki/#{id}"
23
+ end
24
+
25
+ # @return [String]
26
+ def read
27
+ data.fetch(data_root).fetch('text')
28
+ end
29
+
30
+ # @param content [String]
31
+ # @return [+self+]
32
+ def write(text)
33
+ data_from_response(
34
+ build_request(prefix).verb(:put).header('Content-type', 'application/json')
35
+ .body_data(write_data(text).to_json).response
36
+ )
37
+ end
38
+
39
+ # @param text [String]
40
+ # @return [Hash]
41
+ def write_data(text)
42
+ {
43
+ data_root => { 'text' => text }
44
+ }
45
+ end
46
+ end
47
+ end
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module EacRedmineBase0
5
+ module Instances
6
+ class RestApi < ::EacRest::Api
7
+ end
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module EacRedmineBase0
5
+ module Instances
6
+ module Runners
7
+ class Docker < ::Avm::Docker::Runner
8
+ def use_default_registry?
9
+ false
10
+ end
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module EacRedmineBase0
5
+ module Instances
6
+ module Runners
7
+ class Project
8
+ class WikiPage
9
+ class Read
10
+ runner_with :help, :output
11
+
12
+ def run
13
+ run_output
14
+ end
15
+
16
+ def output_content
17
+ runner_context.call(:wiki_page_content)
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end