eac_tools 0.111.0 → 0.111.1
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/Gemfile.lock +34 -49
- data/eac_tools.gemspec +41 -0
- data/exe/eac +6 -1
- data/lib/eac_tools/version.rb +1 -1
- metadata +7 -140
- data/sub/avm-eac_rails_base1/Gemfile +0 -8
- data/sub/avm-eac_rails_base1/avm-eac_rails_base1.gemspec +0 -22
- data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/apache_base.rb +0 -14
- data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/apache_host.rb +0 -15
- data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/apache_path.rb +0 -17
- data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/base/install.rb +0 -25
- data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/base.rb +0 -44
- data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/deploy.rb +0 -20
- data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/processes/daemon.rb +0 -36
- data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/processes/tasks_scheduler.rb +0 -24
- data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/runners/bundle.rb +0 -26
- data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/runners/code_runner.rb +0 -25
- data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/runners/log.rb +0 -43
- data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/runners/logs/clear.rb +0 -25
- data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/runners/logs.rb +0 -16
- data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/runners/rails_server.rb +0 -31
- data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/runners/tasks_scheduler/systemd_unit.rb +0 -45
- data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/runners/tasks_scheduler.rb +0 -15
- data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/systemd_unit/service.rb +0 -70
- data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/systemd_unit/tasks_scheduler_command.rb +0 -29
- data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/systemd_unit.rb +0 -56
- data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/runner_with/bundle.rb +0 -23
- data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/runner_with/rails_environment.rb +0 -42
- data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/sources/base.rb +0 -40
- data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/version.rb +0 -7
- data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1.rb +0 -12
- data/sub/avm-eac_rails_base1/spec/meta/rubocop_spec.rb +0 -3
- data/sub/avm-eac_rails_base1/spec/spec_helper.rb +0 -6
- data/sub/avm-eac_rails_base1/template/avm/eac_rails_base1/instances/apache_path/extra_content.conf +0 -6
- data/sub/avm-eac_rails_base1/template/avm/eac_rails_base1/instances/systemd_unit/tasks_scheduler.service +0 -12
- data/sub/avm-eac_rails_base1/template/avm/eac_rails_base1/instances/systemd_unit/tasks_scheduler_command.sh +0 -6
- data/sub/avm-eac_redmine_base0/Gemfile +0 -8
- data/sub/avm-eac_redmine_base0/avm-eac_redmine_base0.gemspec +0 -26
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/apache_host.rb +0 -10
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base/database.rb +0 -27
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base/files.rb +0 -18
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base/gitolite.rb +0 -52
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base/install.rb +0 -43
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base/nodejs.rb +0 -19
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base/web.rb +0 -17
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base.rb +0 -63
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/deploy.rb +0 -16
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/docker_image.rb +0 -110
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api/entity_base.rb +0 -31
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api/project.rb +0 -21
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api/root.rb +0 -17
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api/wiki_page.rb +0 -50
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api.rb +0 -10
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/runners/docker.rb +0 -15
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/runners/project/wiki_page/read.rb +0 -25
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/runners/project/wiki_page/write.rb +0 -68
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/runners/project/wiki_page.rb +0 -26
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/runners/project.rb +0 -22
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/runners/project_rename.rb +0 -53
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources/base/default_settings.rb +0 -40
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources/base.rb +0 -34
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources/core_update.rb +0 -125
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources/runners/core_update.rb +0 -61
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources/runners/docker.rb +0 -16
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/version.rb +0 -7
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0.rb +0 -16
- data/sub/avm-eac_redmine_base0/locale/en.yml +0 -6
- data/sub/avm-eac_redmine_base0/locale/pt-BR.yml +0 -6
- data/sub/avm-eac_redmine_base0/spec/lib/avm/eac_redmine_base0/instances/apache_host_spec.rb +0 -19
- 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
- data/sub/avm-eac_redmine_base0/spec/lib/avm/eac_redmine_base0/instances/base/gitolite_spec.rb +0 -24
- data/sub/avm-eac_redmine_base0/spec/lib/avm/eac_redmine_base0/instances/base/gitolite_spec_files/config.yml +0 -10
- data/sub/avm-eac_redmine_base0/spec/meta/rubocop_spec.rb +0 -3
- data/sub/avm-eac_redmine_base0/spec/spec_helper.rb +0 -6
- data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/deploy/config/install.sh.template +0 -46
- data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/deploy/config/secrets.yml +0 -8
- data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/Dockerfile.template +0 -37
- data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/apache_host_dockerfile +0 -8
- data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/apache_http_virtualhost.conf.template +0 -10
- data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/apache_https_virtualhost.conf.template +0 -16
- data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/apache_path_dockerfile +0 -5
- data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/start.sh.template +0 -53
- data/sub/avm-eac_webapp_base0/Gemfile +0 -8
- data/sub/avm-eac_webapp_base0/avm-eac_webapp_base0.gemspec +0 -24
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/executables.rb +0 -23
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/file_formats/css/file_apply.rb +0 -44
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/file_formats/css.rb +0 -17
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/file_formats/html.rb +0 -42
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/file_formats/javascript.rb +0 -19
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/file_formats/json.rb +0 -23
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/file_formats/provider.rb +0 -17
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/file_formats/xml.rb +0 -23
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/apache_base.rb +0 -28
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/apache_host.rb +0 -72
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/apache_path.rb +0 -37
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/base/apache.rb +0 -42
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/base/deploy.rb +0 -24
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/base/deploy_info.rb +0 -27
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/base/install.rb +0 -24
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/base.rb +0 -37
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/deploy/appended_directories.rb +0 -25
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/deploy/build.rb +0 -45
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/deploy/info.rb +0 -44
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/deploy/scm.rb +0 -88
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/deploy/setup_files_unit.rb +0 -53
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/deploy/write_on_target.rb +0 -18
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/deploy.rb +0 -70
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/deploy_info.rb +0 -35
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/processes/web_server.rb +0 -34
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/runners/apache_host.rb +0 -34
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/runners/apache_path.rb +0 -38
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/runners/deploy.rb +0 -47
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/runners/deploy_info.rb +0 -24
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/sources/base.rb +0 -13
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/version.rb +0 -7
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0.rb +0 -14
- data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/css_spec.rb +0 -7
- data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/css_spec_files/css1.source.css +0 -11
- data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/css_spec_files/css1.target.css +0 -11
- data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/html_spec.rb +0 -7
- data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/html_spec_files/html_code.html.erb.source +0 -8
- data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/html_spec_files/html_code.html.erb.target +0 -8
- data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/html_spec_files/html_code.html.source +0 -5
- data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/html_spec_files/html_code.html.target +0 -5
- data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/javascript_spec.rb +0 -7
- data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/javascript_spec_files/javascript_code1.js.source +0 -29
- data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/javascript_spec_files/javascript_code1.js.target +0 -21
- data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/json_spec.rb +0 -7
- data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/json_spec_files/json_code.json.source +0 -8
- data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/json_spec_files/json_code.json.target +0 -7
- data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/xml_spec.rb +0 -7
- data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/xml_spec_files/xml_code.xml.source +0 -11
- data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/xml_spec_files/xml_code.xml.target +0 -9
- data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/instances/base_spec.rb +0 -11
- data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/sources/base_spec.rb +0 -7
- data/sub/avm-eac_webapp_base0/spec/meta/rubocop_spec.rb +0 -3
- data/sub/avm-eac_webapp_base0/spec/spec_helper.rb +0 -5
- data/sub/avm-eac_webapp_base0/template/avm/eac_webapp_base0/instances/apache_host/no_ssl.conf +0 -11
- data/sub/avm-eac_webapp_base0/template/avm/eac_webapp_base0/instances/apache_path/default.conf +0 -7
|
@@ -1,52 +0,0 @@
|
|
|
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
|
|
@@ -1,43 +0,0 @@
|
|
|
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
|
|
@@ -1,19 +0,0 @@
|
|
|
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
|
|
@@ -1,17 +0,0 @@
|
|
|
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
|
|
@@ -1,63 +0,0 @@
|
|
|
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
|
-
# @return [Integer]
|
|
20
|
-
def auto_install_passenger_start_timeout
|
|
21
|
-
application.local_source.default_passenger_start_timeout.in_seconds
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
def docker_image_class
|
|
25
|
-
::Avm::EacRedmineBase0::Instances::DockerImage
|
|
26
|
-
end
|
|
27
|
-
|
|
28
|
-
def docker_run_arguments
|
|
29
|
-
[
|
|
30
|
-
'--volume',
|
|
31
|
-
"#{install_path}:/home/myuser/eac_redmine_base0",
|
|
32
|
-
'--publish', "#{read_entry(:ssh_port)}:22",
|
|
33
|
-
'--publish', "#{read_entry(:http_port)}:80",
|
|
34
|
-
'--publish', "#{read_entry(:https_port)}:443"
|
|
35
|
-
]
|
|
36
|
-
end
|
|
37
|
-
|
|
38
|
-
# @return [Avm::Instances::Data::Package]
|
|
39
|
-
def data_package_create
|
|
40
|
-
r = super.add_unit('files', files_data_unit).add_unit('gitolite', gitolite_data_unit)
|
|
41
|
-
r.after_load { instance.run_installer }
|
|
42
|
-
r
|
|
43
|
-
end
|
|
44
|
-
|
|
45
|
-
# @return [Addressable::URI]
|
|
46
|
-
def root_url
|
|
47
|
-
r = ::Addressable::URI.parse(read_entry(::Avm::Instances::EntryKeys::WEB_URL))
|
|
48
|
-
r.query_values = nil
|
|
49
|
-
r
|
|
50
|
-
end
|
|
51
|
-
|
|
52
|
-
private
|
|
53
|
-
|
|
54
|
-
# @return [Avm::EacRedmineBase0::Instances::RestApi]
|
|
55
|
-
def rest_api_uncached
|
|
56
|
-
url = root_url
|
|
57
|
-
url.query_values = { key: admin_api_key }
|
|
58
|
-
::Avm::EacRedmineBase0::Instances::RestApi.new(url)
|
|
59
|
-
end
|
|
60
|
-
end
|
|
61
|
-
end
|
|
62
|
-
end
|
|
63
|
-
end
|
|
@@ -1,16 +0,0 @@
|
|
|
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
|
|
@@ -1,110 +0,0 @@
|
|
|
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
|
|
@@ -1,31 +0,0 @@
|
|
|
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
|
|
@@ -1,21 +0,0 @@
|
|
|
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
|
|
@@ -1,17 +0,0 @@
|
|
|
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
|
|
@@ -1,50 +0,0 @@
|
|
|
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
|
data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/runners/project/wiki_page/read.rb
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
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
|
|
@@ -1,68 +0,0 @@
|
|
|
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 Write
|
|
10
|
-
runner_with :help, :confirmation, :input do
|
|
11
|
-
bool_opt '-f', '--force'
|
|
12
|
-
end
|
|
13
|
-
delegate :force?, to: :parsed
|
|
14
|
-
|
|
15
|
-
def run
|
|
16
|
-
start_banner
|
|
17
|
-
if write?
|
|
18
|
-
run_write
|
|
19
|
-
else
|
|
20
|
-
success 'Content unchanged, no further action will be taken'
|
|
21
|
-
end
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
def start_banner
|
|
25
|
-
infov 'Content'
|
|
26
|
-
infov ' * Current', current_content
|
|
27
|
-
infov ' * New', new_content
|
|
28
|
-
infov ' * Changed?', content_changed?
|
|
29
|
-
end
|
|
30
|
-
|
|
31
|
-
# @return [Boolean]
|
|
32
|
-
def content_changed?
|
|
33
|
-
new_content != current_content
|
|
34
|
-
end
|
|
35
|
-
|
|
36
|
-
def run_write
|
|
37
|
-
if confirm?('Write?')
|
|
38
|
-
infom 'Writing...'
|
|
39
|
-
runner_context.call(:wiki_page).write(new_content)
|
|
40
|
-
success('Writed!')
|
|
41
|
-
else
|
|
42
|
-
success('Unconfirmed, no further action will be taken')
|
|
43
|
-
end
|
|
44
|
-
end
|
|
45
|
-
|
|
46
|
-
# @return [Boolean]
|
|
47
|
-
def write?
|
|
48
|
-
parsed.force? || content_changed?
|
|
49
|
-
end
|
|
50
|
-
|
|
51
|
-
private
|
|
52
|
-
|
|
53
|
-
# @return [String]
|
|
54
|
-
def current_content_uncached
|
|
55
|
-
runner_context.call(:wiki_page_content)
|
|
56
|
-
end
|
|
57
|
-
|
|
58
|
-
# @return [String]
|
|
59
|
-
def new_content_uncached
|
|
60
|
-
input_content
|
|
61
|
-
end
|
|
62
|
-
end
|
|
63
|
-
end
|
|
64
|
-
end
|
|
65
|
-
end
|
|
66
|
-
end
|
|
67
|
-
end
|
|
68
|
-
end
|
data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/runners/project/wiki_page.rb
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
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
|
-
runner_with :help, :subcommands do
|
|
10
|
-
pos_arg :name
|
|
11
|
-
subcommands
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
def wiki_page
|
|
15
|
-
runner_context.call(:project).wiki_page(parsed.name)
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
def wiki_page_content
|
|
19
|
-
wiki_page.read
|
|
20
|
-
end
|
|
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 Instances
|
|
6
|
-
module Runners
|
|
7
|
-
class Project
|
|
8
|
-
runner_with :help, :subcommands do
|
|
9
|
-
pos_arg :id_or_identifier
|
|
10
|
-
subcommands
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
private
|
|
14
|
-
|
|
15
|
-
def project_uncached
|
|
16
|
-
runner_context.call(:instance).rest_api.root_entity.project(parsed.id_or_identifier)
|
|
17
|
-
end
|
|
18
|
-
end
|
|
19
|
-
end
|
|
20
|
-
end
|
|
21
|
-
end
|
|
22
|
-
end
|
data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/runners/project_rename.rb
DELETED
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Avm
|
|
4
|
-
module EacRedmineBase0
|
|
5
|
-
module Instances
|
|
6
|
-
module Runners
|
|
7
|
-
class ProjectRename
|
|
8
|
-
runner_with :help, ::Avm::EacRailsBase1::RunnerWith::Bundle do
|
|
9
|
-
pos_arg :from
|
|
10
|
-
pos_arg :to
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
def run
|
|
14
|
-
bundle_run
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
def start_banner
|
|
18
|
-
infov 'From', from
|
|
19
|
-
infov 'To', to
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
delegate :from, :to, to: :parsed
|
|
23
|
-
|
|
24
|
-
def bundle_args
|
|
25
|
-
%w[exec rails runner] + [code]
|
|
26
|
-
end
|
|
27
|
-
|
|
28
|
-
def code
|
|
29
|
-
<<~CODE
|
|
30
|
-
from_arg = '#{from}'
|
|
31
|
-
to_arg = '#{to}'
|
|
32
|
-
project = ::Project.where(identifier: from_arg).first
|
|
33
|
-
if project.present?
|
|
34
|
-
puts "Project found: \#{project}"
|
|
35
|
-
puts "Renaming..."
|
|
36
|
-
project.update_column(:identifier, to_arg)
|
|
37
|
-
puts "Renamed. Testing..."
|
|
38
|
-
project = ::Project.where(identifier: to_arg).first
|
|
39
|
-
if project
|
|
40
|
-
puts "Project found: \#{project}"
|
|
41
|
-
else
|
|
42
|
-
fail "After rename: project not found with identifier \\"\#{to_arg}\\""
|
|
43
|
-
end
|
|
44
|
-
else
|
|
45
|
-
fail "Before rename: project not found with identifier \\"\#{from_arg}\\""
|
|
46
|
-
end
|
|
47
|
-
CODE
|
|
48
|
-
end
|
|
49
|
-
end
|
|
50
|
-
end
|
|
51
|
-
end
|
|
52
|
-
end
|
|
53
|
-
end
|