eac_tools 0.87.1 → 0.89.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +27 -32
- data/lib/eac_tools/version.rb +1 -1
- data/sub/avm/lib/avm/applications/base/local_source.rb +6 -1
- data/sub/avm/lib/avm/launcher/context/instance_discovery/root_instance_paths.rb +53 -0
- data/sub/avm/lib/avm/launcher/context/instance_discovery.rb +25 -6
- data/sub/avm/lib/avm/launcher/context.rb +3 -3
- data/sub/avm/lib/avm/rspec/setup.rb +2 -1
- data/sub/avm/lib/avm/rspec/shared_examples/entries_values.rb +1 -3
- data/sub/avm/lib/avm/rspec/shared_examples/with_config.rb +11 -0
- data/sub/avm/lib/avm/version.rb +1 -1
- data/sub/avm/spec/lib/avm/launcher/context_spec.rb +11 -0
- data/sub/avm/spec/lib/avm/launcher/context_spec_files/config.yml +9 -0
- data/sub/avm/spec/lib/avm/launcher/instances/base_spec.rb +7 -8
- data/sub/avm/spec/lib/avm/launcher/instances/base_spec_files/config.yml +5 -0
- data/sub/avm/spec/spec_helper/{eac_launcher.rb → launcher_context.rb} +34 -11
- metadata +12 -75
- data/sub/avm/spec/lib/avm/launcher/instances/base_spec_files/projects/avm-tools_stub/avm-tools.gemspec +0 -29
- data/sub/avm/spec/lib/avm/launcher/instances/base_spec_files/projects/avm-tools_stub/lib/avm/tools/version.rb +0 -7
- data/sub/avm/spec/lib/avm/launcher/instances/base_spec_files/projects/avm-tools_stub/lib/avm/tools.rb +0 -6
- data/sub/avm/spec/lib/avm/launcher/instances/base_spec_files/projects/ruby_gem_stub/lib/ruby_gem_stub/version.rb +0 -5
- data/sub/avm/spec/lib/avm/launcher/instances/base_spec_files/projects/ruby_gem_stub/lib/ruby_gem_stub.rb +0 -3
- data/sub/avm/spec/lib/avm/launcher/instances/base_spec_files/projects/ruby_gem_stub/ruby_gem_stub.gemspec +0 -16
- data/sub/avm-eac_redmine_base0/Gemfile +0 -8
- data/sub/avm-eac_redmine_base0/avm-eac_redmine_base0.gemspec +0 -27
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/apache_host.rb +0 -12
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base/database.rb +0 -30
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base/files.rb +0 -22
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base/gitolite.rb +0 -55
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base/install.rb +0 -46
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base/nodejs.rb +0 -22
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base/web.rb +0 -20
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base.rb +0 -59
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/deploy.rb +0 -19
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/docker_image.rb +0 -106
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api/entity_base.rb +0 -35
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api/project.rb +0 -26
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api/root.rb +0 -21
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api/wiki_page.rb +0 -54
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api.rb +0 -14
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/runners/docker.rb +0 -17
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/runners/project/wiki_page/read.rb +0 -27
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/runners/project/wiki_page/write.rb +0 -70
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/runners/project/wiki_page.rb +0 -30
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/runners/project.rb +0 -26
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/runners/project_rename.rb +0 -56
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/runners.rb +0 -14
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances.rb +0 -11
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources/base.rb +0 -36
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources/core_update.rb +0 -131
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources/runners/core_update.rb +0 -65
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources/runners/docker.rb +0 -19
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources/runners.rb +0 -13
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources.rb +0 -11
- 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 -9
- 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 -22
- 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 -26
- 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/rubocop_spec.rb +0 -3
- data/sub/avm-eac_redmine_base0/spec/spec_helper.rb +0 -5
- data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/deploy/config/install.sh.template +0 -45
- 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 -33
- 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 -52
- /data/sub/avm/spec/spec_helper/{eac_launcher → launcher_context}/settings.yml +0 -0
@@ -1,65 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'avm/eac_rails_base1/sources/base'
|
4
|
-
require 'avm/eac_redmine_base0/sources/core_update'
|
5
|
-
require 'eac_cli/core_ext'
|
6
|
-
|
7
|
-
module Avm
|
8
|
-
module EacRedmineBase0
|
9
|
-
module Sources
|
10
|
-
module Runners
|
11
|
-
class CoreUpdate
|
12
|
-
runner_with :help do
|
13
|
-
arg_opt '-u', '--url', 'Core\'s package URL.'
|
14
|
-
arg_opt '-v', '--version', 'Core\'s version.'
|
15
|
-
desc 'Update instance\' core.'
|
16
|
-
end
|
17
|
-
|
18
|
-
def run
|
19
|
-
start_banner
|
20
|
-
validate
|
21
|
-
update
|
22
|
-
end
|
23
|
-
|
24
|
-
private
|
25
|
-
|
26
|
-
def start_banner
|
27
|
-
infov 'URL', url
|
28
|
-
infov 'Version', version
|
29
|
-
end
|
30
|
-
|
31
|
-
def update
|
32
|
-
::Avm::EacRedmineBase0::Sources::CoreUpdate
|
33
|
-
.new(runner_context.call(:subject), version, url).run
|
34
|
-
end
|
35
|
-
|
36
|
-
def url
|
37
|
-
parsed.url || url_by_version
|
38
|
-
end
|
39
|
-
|
40
|
-
def url_by_version
|
41
|
-
parsed.version.if_present do |v|
|
42
|
-
"https://www.redmine.org/releases/redmine-#{v}.tar.gz"
|
43
|
-
end
|
44
|
-
end
|
45
|
-
|
46
|
-
def validate
|
47
|
-
%w[url version].each do |attr|
|
48
|
-
fatal_error "\"#{attr}\" is blank. See avaiable options." if send(attr).blank?
|
49
|
-
end
|
50
|
-
end
|
51
|
-
|
52
|
-
def version
|
53
|
-
parsed.version || version_by_url
|
54
|
-
end
|
55
|
-
|
56
|
-
def version_by_url
|
57
|
-
parsed.url.if_present do |v|
|
58
|
-
/(\d+.\d+.\d+)/.if_match(v, false) { |m| m[1] }
|
59
|
-
end
|
60
|
-
end
|
61
|
-
end
|
62
|
-
end
|
63
|
-
end
|
64
|
-
end
|
65
|
-
end
|
@@ -1,19 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'avm/eac_generic_base0/sources/docker/runner'
|
4
|
-
require 'avm/eac_ubuntu_base0/docker_image'
|
5
|
-
|
6
|
-
module Avm
|
7
|
-
module EacRedmineBase0
|
8
|
-
module Sources
|
9
|
-
module Runners
|
10
|
-
class Docker < ::Avm::EacGenericBase0::Sources::Docker::Runner
|
11
|
-
# @return [Avm::EacUbuntuBase0::DockerImage]
|
12
|
-
def docker_image
|
13
|
-
::Avm::EacUbuntuBase0::DockerImage.new
|
14
|
-
end
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|
@@ -1,22 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'avm/eac_redmine_base0/instances/apache_host'
|
4
|
-
require 'avm/eac_redmine_base0/instances/base'
|
5
|
-
|
6
|
-
RSpec.describe Avm::EacRedmineBase0::Instances::ApacheHost do
|
7
|
-
describe '#no_ssl_site_content' do
|
8
|
-
let(:instance) { Avm::EacRedmineBase0::Instances::Base.by_id('stub-app_0') }
|
9
|
-
let(:apache_host) { described_class.new(instance) }
|
10
|
-
let(:fixtures_dir) { Pathname.new('apache_host_spec_files').expand_path(__dir__) }
|
11
|
-
let(:expected_content) { fixtures_dir.join('apache_host_spec_no_ssl_content.conf').read }
|
12
|
-
|
13
|
-
before do
|
14
|
-
instance.entry('install.path').write('/path/to/stub-app_0')
|
15
|
-
instance.entry('web.url').write('http://stubapp.net')
|
16
|
-
end
|
17
|
-
|
18
|
-
it do
|
19
|
-
expect(apache_host.no_ssl_site_content).to eq(expected_content)
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|
data/sub/avm-eac_redmine_base0/spec/lib/avm/eac_redmine_base0/instances/base/gitolite_spec.rb
DELETED
@@ -1,26 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'avm/eac_redmine_base0/instances/base'
|
4
|
-
|
5
|
-
RSpec.describe Avm::EacRedmineBase0::Instances::Base, '#gitolite' do
|
6
|
-
include_examples 'entries_values', __FILE__, {
|
7
|
-
'app_0' => {
|
8
|
-
'gitolite.username' => 'git',
|
9
|
-
'gitolite.path' => '/var/lib/git',
|
10
|
-
'gitolite.scheme' => 'file',
|
11
|
-
'gitolite.hostname' => 'localhost'
|
12
|
-
},
|
13
|
-
'app_1' => {
|
14
|
-
'gitolite.username' => 'git1',
|
15
|
-
'gitolite.path' => '/var/lib/git1',
|
16
|
-
'gitolite.scheme' => 'file',
|
17
|
-
'gitolite.hostname' => 'localhost'
|
18
|
-
},
|
19
|
-
'app_2' => {
|
20
|
-
'gitolite.username' => 'git2',
|
21
|
-
'gitolite.path' => '/home/git2',
|
22
|
-
'gitolite.scheme' => 'file',
|
23
|
-
'gitolite.hostname' => 'localhost'
|
24
|
-
}
|
25
|
-
}
|
26
|
-
end
|
@@ -1,45 +0,0 @@
|
|
1
|
-
# Ruby
|
2
|
-
export ruby_version='%%INSTALL.RUBY.VERSION%%'
|
3
|
-
|
4
|
-
# NodeJs
|
5
|
-
export nodejs_version='%%INSTALL.NODEJS.VERSION%%'
|
6
|
-
|
7
|
-
# Database
|
8
|
-
export postgresql_internal='%%DATABASE_INTERNAL%%'
|
9
|
-
export postgresql_host='%%DATABASE.HOSTNAME%%'
|
10
|
-
export postgresql_port='%%DATABASE.PORT%%'
|
11
|
-
export postgresql_database='%%DATABASE.NAME%%'
|
12
|
-
export postgresql_user='%%DATABASE.USERNAME%%'
|
13
|
-
export postgresql_password='%%DATABASE.PASSWORD%%'
|
14
|
-
export postgresql_version='%%POSTGRESQL.VERSION%%'
|
15
|
-
export postgresql_extra_settings='%%DATABASE.EXTRA%%'
|
16
|
-
|
17
|
-
# Web
|
18
|
-
if [ '%%WEB.SCHEME%%' == 'https' ]; then
|
19
|
-
export address_https='true'
|
20
|
-
else
|
21
|
-
export address_https='false'
|
22
|
-
fi
|
23
|
-
export address_host='%%WEB.AUTHORITY%%'
|
24
|
-
export address_path='%%WEB.PATH%%'
|
25
|
-
|
26
|
-
# Git
|
27
|
-
export git_repositories_hierarchical_organisation=false
|
28
|
-
export gitolite_user='%%GITOLITE.USERNAME%%'
|
29
|
-
export gitolite_user_home='%%GITOLITE.PATH%%'
|
30
|
-
export redmine_git_hosting_ssh_key_name=redmine_git_hosting_id
|
31
|
-
|
32
|
-
# Mail settings
|
33
|
-
export smtp_server='%%MAILER.SMTP.ADDRESS%%'
|
34
|
-
export smtp_port='%%MAILER.SMTP.PORT%%'
|
35
|
-
export smtp_domain='%%MAILER.SMTP.DOMAIN%%'
|
36
|
-
export smtp_tls='%%MAILER.SMTP.TLS%%'
|
37
|
-
export smtp_enable_starttls_auto='%%MAILER.SMTP.STARTTLS_AUTO%%'
|
38
|
-
export smtp_openssl_verify_mode='%%MAILER.SMTP.OPENSSL_VERIFY_MODE%%'
|
39
|
-
export smtp_authentication='%%MAILER.SMTP.AUTHENTICATION%%'
|
40
|
-
export smtp_username='%%MAILER.SMTP.USERNAME%%'
|
41
|
-
export smtp_password='%%MAILER.SMTP.PASSWORD%%'
|
42
|
-
export mail_from='%%MAILER.FROM%%'
|
43
|
-
|
44
|
-
# Extra
|
45
|
-
%%INSTALL.EXTRA%%
|
@@ -1,33 +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 22/tcp
|
25
|
-
|
26
|
-
# Execução
|
27
|
-
USER root
|
28
|
-
COPY start.sh '%%start_path%%'
|
29
|
-
RUN /bin/chmod +x '%%start_path%%'
|
30
|
-
RUN /bin/chown '%%redmine_user%%:%%redmine_user%%' '%%start_path%%'
|
31
|
-
USER '%%redmine_user%%'
|
32
|
-
WORKDIR '%%redmine_user_home%%'
|
33
|
-
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,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,52 +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
|
-
title 'Requesting web interface...'
|
37
|
-
wget 'http://localhost%%web.path%%' &> /dev/null
|
38
|
-
}
|
39
|
-
|
40
|
-
function redmine_log() {
|
41
|
-
title 'Reading production log...'
|
42
|
-
LOG_FILE='%%redmine_path%%/log/production.log'
|
43
|
-
printf " * tail -f \"$LOG_FILE\":\n"
|
44
|
-
sudo tail -f "$LOG_FILE"
|
45
|
-
}
|
46
|
-
|
47
|
-
redmine_install
|
48
|
-
apache_start
|
49
|
-
ssh_start
|
50
|
-
postgresql_start
|
51
|
-
request_http_interface
|
52
|
-
redmine_log
|
File without changes
|