eac_tools 0.125.0 → 0.126.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 (137) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +34 -29
  3. data/eac_tools.gemspec +2 -2
  4. data/lib/eac_tools/version.rb +1 -1
  5. data/sub/avm-eac_asciidoctor_base0/.gitrepo +7 -0
  6. data/sub/avm-eac_asciidoctor_base0/.rubocop.yml +3 -0
  7. data/sub/avm-eac_asciidoctor_base0/avm-eac_asciidoctor_base0.gemspec +24 -0
  8. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/documents_owner.rb +27 -0
  9. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/file_formats/base/file_resource_name.rb +34 -0
  10. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/file_formats/base.rb +14 -0
  11. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/apache_host.rb +17 -0
  12. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/apache_path.rb +10 -0
  13. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/base.rb +28 -0
  14. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/document/body_source.rb +49 -0
  15. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/document/body_target.rb +35 -0
  16. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/document/children.rb +47 -0
  17. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/document/header_lines/docinfo_lines.rb +47 -0
  18. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/document/header_lines.rb +78 -0
  19. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/document/media.rb +27 -0
  20. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/document/pre_process_line.rb +62 -0
  21. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/document.rb +49 -0
  22. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/theme.rb +38 -0
  23. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build.rb +61 -0
  24. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/deploy.rb +24 -0
  25. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/macros/base.rb +19 -0
  26. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/macros/breadcrumbs.rb +52 -0
  27. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/macros/child_docs/document_builder.rb +60 -0
  28. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/macros/child_docs.rb +30 -0
  29. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/macros/default_body.rb +18 -0
  30. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/macros/todo.rb +18 -0
  31. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/logging/catcher.rb +44 -0
  32. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/logging/error.rb +16 -0
  33. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/source_generators/base.rb +24 -0
  34. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/base/instance_to_build.rb +44 -0
  35. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/base/theme.rb +45 -0
  36. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/base.rb +42 -0
  37. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/document/media.rb +27 -0
  38. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/document/title.rb +30 -0
  39. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/document.rb +55 -0
  40. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/runners/build.rb +55 -0
  41. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/runners/document/build.rb +49 -0
  42. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/runners/document.rb +26 -0
  43. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/runners/documents.rb +26 -0
  44. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/runners/ignore_errors_option.rb +42 -0
  45. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/runners.rb +11 -0
  46. data/sub/{avm-eac_redmine_base0/lib/avm/eac_redmine_base0 → avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0}/version.rb +2 -2
  47. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0.rb +6 -0
  48. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/file_formats/base_spec.rb +11 -0
  49. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build/document_spec.rb +79 -0
  50. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build/document_spec_files/pre_processed_root_body.adoc +26 -0
  51. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec.rb +19 -0
  52. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.source/content/_media/a_media_file +1 -0
  53. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.source/content/doc1/_media/a_media_file +1 -0
  54. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.source/content/doc1/body.adoc +11 -0
  55. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.source/content/doc1/title +1 -0
  56. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.source/content/doc2/body.adoc +11 -0
  57. 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 +1 -0
  58. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.source/content/doc2/doc2_1/body.adoc +11 -0
  59. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.source/content/doc2/doc2_1/title +1 -0
  60. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.source/content/doc2/title +1 -0
  61. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.target/.clearable_directory +0 -0
  62. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.target/_media/a_media_file +1 -0
  63. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.target/_theme/main.css +1 -0
  64. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.target/doc1/_media/a_media_file +1 -0
  65. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.target/doc1/index.html +1 -0
  66. 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 +1 -0
  67. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.target/doc2/doc2_1/index.html +1 -0
  68. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.target/doc2/index.html +1 -0
  69. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.target/index.html +1 -0
  70. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/source_generators/base_spec.rb +5 -0
  71. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/source_generators/base_spec_files/no_options/.gitignore +2 -0
  72. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/source_generators/base_spec_files/no_options/build/.clearable_directory +0 -0
  73. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/source_generators/base_spec_files/no_options/content/body.adoc +11 -0
  74. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/source_generators/base_spec_files/no_options/content/title +1 -0
  75. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/source_generators/base_spec_files/no_options/theme/main.css +1 -0
  76. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/sources/base_spec.rb +13 -0
  77. data/sub/avm-eac_asciidoctor_base0/spec/spec_helper/eac_asciidoctor_base0_stubs.rb +55 -0
  78. data/sub/{avm-eac_redmine_base0 → avm-eac_asciidoctor_base0}/spec/spec_helper.rb +3 -2
  79. data/sub/avm-eac_asciidoctor_base0/template/avm/eac_asciidoctor_base0/instances/deploy/.keep +1 -0
  80. data/sub/avm-eac_asciidoctor_base0/template/avm/eac_asciidoctor_base0/source_generators/base/.gitignore +2 -0
  81. data/sub/avm-eac_asciidoctor_base0/template/avm/eac_asciidoctor_base0/source_generators/base/build/.clearable_directory +0 -0
  82. data/sub/avm-eac_asciidoctor_base0/template/avm/eac_asciidoctor_base0/source_generators/base/content/body.adoc +11 -0
  83. data/sub/avm-eac_asciidoctor_base0/template/avm/eac_asciidoctor_base0/source_generators/base/content/title +1 -0
  84. data/sub/avm-eac_asciidoctor_base0/template/avm/eac_asciidoctor_base0/source_generators/base/theme/main.css +1 -0
  85. metadata +88 -65
  86. data/sub/avm-eac_redmine_base0/.gitrepo +0 -7
  87. data/sub/avm-eac_redmine_base0/.rubocop.yml +0 -2
  88. data/sub/avm-eac_redmine_base0/avm-eac_redmine_base0.gemspec +0 -26
  89. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/apache_host.rb +0 -10
  90. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base/database.rb +0 -27
  91. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base/files.rb +0 -18
  92. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base/gitolite.rb +0 -52
  93. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base/install.rb +0 -43
  94. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base/nodejs.rb +0 -21
  95. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base/web.rb +0 -17
  96. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base.rb +0 -63
  97. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/deploy.rb +0 -16
  98. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/docker_image.rb +0 -110
  99. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api/entity_base.rb +0 -27
  100. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api/project.rb +0 -30
  101. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api/root.rb +0 -17
  102. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api/wiki_page.rb +0 -67
  103. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api.rb +0 -16
  104. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/runners/docker.rb +0 -15
  105. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/runners/project/wiki_page/read.rb +0 -25
  106. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/runners/project/wiki_page/write.rb +0 -68
  107. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/runners/project/wiki_page.rb +0 -26
  108. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/runners/project.rb +0 -22
  109. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/runners/project_rename.rb +0 -53
  110. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources/base/default_settings.rb +0 -45
  111. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources/base/update.rb +0 -16
  112. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources/base.rb +0 -34
  113. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources/core_update/bundle_changes.rb +0 -64
  114. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources/core_update/scm.rb +0 -34
  115. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources/core_update/source_package.rb +0 -26
  116. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources/core_update/tempdir.rb +0 -22
  117. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources/core_update.rb +0 -95
  118. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources/runners/core_update.rb +0 -61
  119. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources/runners/docker.rb +0 -16
  120. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0.rb +0 -11
  121. data/sub/avm-eac_redmine_base0/locale/en.yml +0 -6
  122. data/sub/avm-eac_redmine_base0/locale/pt-BR.yml +0 -6
  123. data/sub/avm-eac_redmine_base0/spec/lib/avm/eac_redmine_base0/instances/apache_host_spec.rb +0 -19
  124. data/sub/avm-eac_redmine_base0/spec/lib/avm/eac_redmine_base0/instances/apache_host_spec_files/apache_host_spec_no_ssl_content.conf +0 -11
  125. data/sub/avm-eac_redmine_base0/spec/lib/avm/eac_redmine_base0/instances/base/gitolite_spec.rb +0 -24
  126. data/sub/avm-eac_redmine_base0/spec/lib/avm/eac_redmine_base0/instances/base/gitolite_spec_files/config.yml +0 -10
  127. data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/deploy/config/install.sh.template +0 -46
  128. data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/deploy/config/secrets.yml +0 -8
  129. data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/Dockerfile.template +0 -37
  130. data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/apache_host_dockerfile +0 -8
  131. data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/apache_http_virtualhost.conf.template +0 -10
  132. data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/apache_https_virtualhost.conf.template +0 -16
  133. data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/apache_path_dockerfile +0 -5
  134. data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/start.sh.template +0 -53
  135. /data/sub/{avm-eac_redmine_base0 → avm-eac_asciidoctor_base0}/.gitignore +0 -0
  136. /data/sub/{avm-eac_redmine_base0 → avm-eac_asciidoctor_base0}/.rspec +0 -0
  137. /data/sub/{avm-eac_redmine_base0 → avm-eac_asciidoctor_base0}/Gemfile +0 -0
@@ -1,26 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Avm
4
- module EacRedmineBase0
5
- module Sources
6
- class CoreUpdate
7
- module SourcePackage
8
- enable_memoized
9
-
10
- # @return [void]
11
- def assert_source_package
12
- infom 'Asserting source package...'
13
- source_package.assert
14
- infov 'Package cache path', source_package.path
15
- infov 'Package size', source_package.path.size
16
- end
17
-
18
- # @return [EacFs::CachedDownload]
19
- memoize def source_package
20
- ::EacFs::CachedDownload.new(url, fs_cache)
21
- end
22
- end
23
- end
24
- end
25
- end
26
- end
@@ -1,22 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Avm
4
- module EacRedmineBase0
5
- module Sources
6
- class CoreUpdate
7
- module Tempdir
8
- def on_temp_dir
9
- ::EacRubyUtils::Fs::Temp.on_directory do |dir|
10
- @tempdir = dir
11
- yield
12
- end
13
- end
14
-
15
- protected
16
-
17
- attr_accessor :tempdir
18
- end
19
- end
20
- end
21
- end
22
- end
@@ -1,95 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Avm
4
- module EacRedmineBase0
5
- module Sources
6
- class CoreUpdate
7
- enable_speaker
8
- enable_memoized
9
- common_constructor :source, :version, :url
10
-
11
- GITIGNORE_ADD = %w[/public/assets/**/* /config/credentials.* /config/credentials/*
12
- /config/install.sh /config/*.key /log/**/*].freeze
13
- GITIGNORE_DEL = %w[/Gemfile.lock /plugins/* /themes/* !/themes/README].freeze
14
- TARGET_KEEP = ::Avm::Sources::Base::Configuration::CONFIGURATION_FILENAMES
15
- .map { |b| "/#{b}" } + %w[/Gemfile.lock /plugins/*/**
16
- /themes/*/** /sub/*/**].freeze
17
- TARGET_REMOVE = ['/themes/README'].freeze
18
-
19
- def run
20
- on_temp_dir do
21
- assert_source_package
22
- extract_package_to_tempdir
23
- sync_content
24
- change_git_ignore
25
- validate_empty_dir
26
- bundle_changes
27
- end
28
- git_commit
29
- success 'Done!'
30
- end
31
-
32
- def fs_object_id
33
- [source.path, version].join('_').variableize
34
- end
35
-
36
- private
37
-
38
- def change_git_ignore
39
- file = target_path.join('.gitignore')
40
- file.write(
41
- (file.read.each_line.map(&:strip).reject { |line| GITIGNORE_DEL.include?(line) } +
42
- ['', '#eac_redmine_base0'] + GITIGNORE_ADD).map { |line| "#{line}\n" }.join
43
- )
44
- end
45
-
46
- def extract_package_to_tempdir
47
- infom "Extracting package to tempdir #{tempdir}..."
48
- ::EacRubyUtils::Envs.local.command(
49
- 'tar', '-xf', source_package.path.to_path, '-C', tempdir.to_path,
50
- '--strip-components', '1'
51
- ).execute!
52
- end
53
-
54
- def sync_content
55
- ::Avm::Sync.new(source_path, target_path)
56
- .add_exclude('/*').add_includes(*target_files_to_remove).move_mode(true).run
57
- end
58
-
59
- def validate_empty_dir
60
- if source_path.children.empty?
61
- infom 'No content left in source directory'
62
- else
63
- fatal_error 'Found entries in source directory: ' + # rubocop:disable Style/StringConcatenation
64
- source_path.children.map { |c| c.basename.to_path }.join(', ')
65
- end
66
- end
67
-
68
- memoize def source_path
69
- ::Pathname.new(tempdir.to_path)
70
- end
71
-
72
- # @return [Enumerable<String>]
73
- def target_files_to_remove
74
- git_repo.command('ls-files').execute!
75
- .each_line.map { |v| "/#{v.strip}" }
76
- .reject { |tpath| target_keep?(tpath) }
77
- end
78
-
79
- # @param tpath [String]
80
- # @return [Boolean]
81
- def target_keep?(tpath)
82
- tpath = tpath.to_pathname
83
- TARGET_REMOVE.none? { |target_remove| tpath.fnmatch?(target_remove) }
84
- TARGET_KEEP.any? { |target_keep| tpath.fnmatch?(target_keep) }
85
- end
86
-
87
- memoize def target_path
88
- source.path
89
- end
90
-
91
- require_sub __FILE__, include_modules: true
92
- end
93
- end
94
- end
95
- end
@@ -1,61 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Avm
4
- module EacRedmineBase0
5
- module Sources
6
- module Runners
7
- class CoreUpdate
8
- runner_with :help do
9
- arg_opt '-u', '--url', 'Core\'s package URL.'
10
- arg_opt '-v', '--version', 'Core\'s version.'
11
- desc 'Update instance\' core.'
12
- end
13
-
14
- def run
15
- start_banner
16
- validate
17
- update
18
- end
19
-
20
- private
21
-
22
- def start_banner
23
- infov 'URL', url
24
- infov 'Version', version
25
- end
26
-
27
- def update
28
- ::Avm::EacRedmineBase0::Sources::CoreUpdate
29
- .new(runner_context.call(:subject), version, url).run
30
- end
31
-
32
- def url
33
- parsed.url || url_by_version
34
- end
35
-
36
- def url_by_version
37
- parsed.version.if_present do |v|
38
- "https://www.redmine.org/releases/redmine-#{v}.tar.gz"
39
- end
40
- end
41
-
42
- def validate
43
- %w[url version].each do |attr|
44
- fatal_error "\"#{attr}\" is blank. See avaiable options." if send(attr).blank?
45
- end
46
- end
47
-
48
- def version
49
- parsed.version || version_by_url
50
- end
51
-
52
- def version_by_url
53
- parsed.url.if_present do |v|
54
- /(\d+.\d+.\d+)/.if_match(v, false) { |m| m[1] }
55
- end
56
- end
57
- end
58
- end
59
- end
60
- end
61
- end
@@ -1,16 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Avm
4
- module EacRedmineBase0
5
- module Sources
6
- module Runners
7
- class Docker < ::Avm::EacGenericBase0::Sources::Docker::Runner
8
- # @return [Avm::EacUbuntuBase0::DockerImage]
9
- def docker_image
10
- ::Avm::EacUbuntuBase0::DockerImage.new
11
- end
12
- end
13
- end
14
- end
15
- end
16
- end
@@ -1,11 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_base1'
4
- EacRubyBase1::RootModuleSetup.perform __FILE__ do
5
- require 'avm'
6
- require 'avm/eac_generic_base0'
7
- require 'avm/eac_rails_base1'
8
- require 'avm/eac_ubuntu_base0'
9
- require 'eac_fs'
10
- require 'eac_rest'
11
- end
@@ -1,6 +0,0 @@
1
- en:
2
- avm:
3
- eac_redmine_base0:
4
- sources:
5
- core_update:
6
- git_commit_message: "Core: update to '%{version}'."
@@ -1,6 +0,0 @@
1
- pt-BR:
2
- avm:
3
- eac_redmine_base0:
4
- sources:
5
- core_update:
6
- git_commit_message: "Core: atualiza para '%{version}'."
@@ -1,19 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- RSpec.describe Avm::EacRedmineBase0::Instances::ApacheHost do
4
- describe '#no_ssl_site_content' do
5
- let(:instance) { Avm::EacRedmineBase0::Instances::Base.by_id('stub-app_0') }
6
- let(:apache_host) { described_class.new(instance) }
7
- let(:fixtures_dir) { Pathname.new('apache_host_spec_files').expand_path(__dir__) }
8
- let(:expected_content) { fixtures_dir.join('apache_host_spec_no_ssl_content.conf').read }
9
-
10
- before do
11
- instance.entry('install.path').write('/path/to/stub-app_0')
12
- instance.entry('web.url').write('http://stubapp.net')
13
- end
14
-
15
- it do
16
- expect(apache_host.no_ssl_site_content).to eq(expected_content)
17
- end
18
- end
19
- end
@@ -1,11 +0,0 @@
1
- <VirtualHost *:80>
2
- ServerName "stubapp.net"
3
- DocumentRoot "/path/to/stub-app_0/public"
4
- PassengerEnabled On
5
-
6
- <Directory "/path/to/stub-app_0/public">
7
- Allow from all
8
- Options -MultiViews
9
- Require all granted
10
- </Directory>
11
- </VirtualHost>
@@ -1,24 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- RSpec.describe Avm::EacRedmineBase0::Instances::Base, '#gitolite' do
4
- include_examples 'entries_values', __FILE__, {
5
- 'app_0' => {
6
- 'gitolite.username' => 'git',
7
- 'gitolite.path' => '/var/lib/git',
8
- 'gitolite.scheme' => 'file',
9
- 'gitolite.hostname' => 'localhost'
10
- },
11
- 'app_1' => {
12
- 'gitolite.username' => 'git1',
13
- 'gitolite.path' => '/var/lib/git1',
14
- 'gitolite.scheme' => 'file',
15
- 'gitolite.hostname' => 'localhost'
16
- },
17
- 'app_2' => {
18
- 'gitolite.username' => 'git2',
19
- 'gitolite.path' => '/home/git2',
20
- 'gitolite.scheme' => 'file',
21
- 'gitolite.hostname' => 'localhost'
22
- }
23
- }
24
- end
@@ -1,10 +0,0 @@
1
- ---
2
- app_0: {}
3
- app_1:
4
- gitolite:
5
- username: git1
6
- id: app_0
7
- app_2:
8
- gitolite:
9
- username: git2
10
- path: /home/git2
@@ -1,46 +0,0 @@
1
- # Ruby
2
- export ruby_version='%%INSTALL.RUBY.VERSION%%'
3
- export passenger_start_timeout='%%INSTALL.PASSENGER_START_TIMEOUT%%'
4
-
5
- # NodeJs
6
- export nodejs_version='%%INSTALL.NODEJS.VERSION%%'
7
-
8
- # Database
9
- export postgresql_internal='%%DATABASE_INTERNAL%%'
10
- export postgresql_host='%%DATABASE.HOSTNAME%%'
11
- export postgresql_port='%%DATABASE.PORT%%'
12
- export postgresql_database='%%DATABASE.NAME%%'
13
- export postgresql_user='%%DATABASE.USERNAME%%'
14
- export postgresql_password='%%DATABASE.PASSWORD%%'
15
- export postgresql_version='%%POSTGRESQL.VERSION%%'
16
- export postgresql_extra_settings='%%DATABASE.EXTRA%%'
17
-
18
- # Web
19
- if [ '%%WEB.SCHEME%%' == 'https' ]; then
20
- export address_https='true'
21
- else
22
- export address_https='false'
23
- fi
24
- export address_host='%%WEB.AUTHORITY%%'
25
- export address_path='%%WEB.PATH%%'
26
-
27
- # Git
28
- export git_repositories_hierarchical_organisation=false
29
- export gitolite_user='%%GITOLITE.USERNAME%%'
30
- export gitolite_user_home='%%GITOLITE.PATH%%'
31
- export redmine_git_hosting_ssh_key_name=redmine_git_hosting_id
32
-
33
- # Mail settings
34
- export smtp_server='%%MAILER.SMTP.ADDRESS%%'
35
- export smtp_port='%%MAILER.SMTP.PORT%%'
36
- export smtp_domain='%%MAILER.SMTP.DOMAIN%%'
37
- export smtp_tls='%%MAILER.SMTP.TLS%%'
38
- export smtp_enable_starttls_auto='%%MAILER.SMTP.STARTTLS_AUTO%%'
39
- export smtp_openssl_verify_mode='%%MAILER.SMTP.OPENSSL_VERIFY_MODE%%'
40
- export smtp_authentication='%%MAILER.SMTP.AUTHENTICATION%%'
41
- export smtp_username='%%MAILER.SMTP.USERNAME%%'
42
- export smtp_password='%%MAILER.SMTP.PASSWORD%%'
43
- export mail_from='%%MAILER.FROM%%'
44
-
45
- # Extra
46
- %%INSTALL.EXTRA%%
@@ -1,8 +0,0 @@
1
- development:
2
- secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>
3
-
4
- test:
5
- secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>
6
-
7
- production:
8
- secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>
@@ -1,37 +0,0 @@
1
- FROM '%%base_image%%'
2
- USER root
3
-
4
- # Redmine / Código-fonte
5
- RUN echo '%%redmine_source_git_id%%' '%%redmine_user_home%%/redmine_source_git_id'
6
- ADD '%%redmine_source_path%%' '%%redmine_path%%/'
7
- RUN chown -R '%%redmine_user%%:%%redmine_user%%' '%%redmine_user_home%%'
8
-
9
- # Redmine / Configuração de instalação
10
- USER '%%redmine_user%%'
11
- WORKDIR '%%redmine_user_home%%'
12
- COPY install_settings.sh "%%redmine_path%%/config/install.sh"
13
-
14
- # Redmine / Instalação
15
- USER '%%redmine_user%%'
16
- WORKDIR '%%redmine_user_home%%'
17
- RUN SKIP_DATABASE='%%skip_database%%' \
18
- '%%redmine_path%%/plugins/redmine_installer/installer/run.sh' '%%installer_target_task%%'
19
-
20
- # Apache / Configuração do virtualhost
21
- %%apache_setup%%
22
-
23
- # Portas
24
- EXPOSE 80/tcp 443/tcp
25
-
26
- # Servidor SSH
27
- %%ssh_server_install%%
28
-
29
- # Execução
30
- USER root
31
- COPY start.sh '%%start_path%%'
32
- RUN /bin/chmod +x '%%start_path%%'
33
- RUN /bin/chown '%%redmine_user%%:%%redmine_user%%' '%%start_path%%'
34
- RUN chmod 755 '%%redmine_user_home%%'
35
- USER '%%redmine_user%%'
36
- WORKDIR '%%redmine_user_home%%'
37
- CMD '%%start_path%%'
@@ -1,8 +0,0 @@
1
- COPY apache_http_virtualhost.conf /etc/apache2/sites-available/redmine.conf
2
- COPY apache_https_virtualhost.conf /etc/apache2/sites-available/redmine_ssl.conf
3
- USER root
4
- RUN a2ensite redmine
5
- RUN a2ensite redmine_ssl
6
- RUN a2dissite 000-default
7
- RUN a2enmod ssl
8
- RUN service apache2 restart
@@ -1,10 +0,0 @@
1
- <VirtualHost _default_:80>
2
- DocumentRoot "%%redmine_path%%/public"
3
- PassengerEnabled On
4
-
5
- <Directory "%%redmine_path%%/public" >
6
- Allow from all
7
- Options -MultiViews
8
- Require all granted
9
- </Directory>
10
- </VirtualHost>
@@ -1,16 +0,0 @@
1
- <IfModule mod_ssl.c>
2
- <VirtualHost _default_:443>
3
- SSLEngine on
4
- SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
5
- SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
6
-
7
- DocumentRoot "%%redmine_path%%/public"
8
- PassengerEnabled On
9
-
10
- <Directory "%%redmine_path%%/public" >
11
- Allow from all
12
- Options -MultiViews
13
- Require all granted
14
- </Directory>
15
- </VirtualHost>
16
- </IfModule>
@@ -1,5 +0,0 @@
1
- USER root
2
- RUN a2ensite 000-default
3
- RUN a2ensite default-ssl
4
- RUN a2enmod ssl
5
- RUN service apache2 restart
@@ -1,53 +0,0 @@
1
- #!/bin/bash
2
-
3
- set -u
4
- set -e
5
-
6
- source '%%redmine_path%%/plugins/redmine_installer/installer/environment.sh'
7
-
8
- function title() {
9
- infom ">>>> $1 <<<<"
10
- }
11
-
12
- function redmine_install() {
13
- title 'Installing Redmine...'
14
- "$INSTALL_ROOT/run.sh" '%%installer_target_task%%'
15
- }
16
-
17
- function apache_start() {
18
- title 'Restarting Apache HTTPD service...'
19
- sudo service apache2 restart
20
- }
21
-
22
- function ssh_start() {
23
- title 'Restarting SSH service...'
24
- sudo service ssh restart
25
- }
26
-
27
- function postgresql_start() {
28
- if bool_r "$SKIP_DATABASE"; then return 0; fi
29
- if ! bool_r "$postgresql_internal"; then return 0; fi
30
-
31
- title 'Restarting PostgresSQL service...'
32
- sudo service postgresql restart
33
- }
34
-
35
- function request_http_interface() {
36
- local TARGET_URL='http://localhost%%web.path%%'
37
- title "Requesting web interface in ${TARGET_URL}..."
38
- wget --timeout "${passenger_start_timeout}" "${TARGET_URL}"
39
- }
40
-
41
- function redmine_log() {
42
- title 'Reading production log...'
43
- LOG_FILE='%%redmine_path%%/log/production.log'
44
- printf " * tail -f \"$LOG_FILE\":\n"
45
- sudo tail -f "$LOG_FILE"
46
- }
47
-
48
- redmine_install
49
- apache_start
50
- ssh_start
51
- postgresql_start
52
- request_http_interface
53
- redmine_log