avm-tools 0.74.0 → 0.74.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/lib/avm/eac_rails_base0/instance.rb +2 -5
- data/lib/avm/{rails/runners.rb → eac_rails_base1.rb} +2 -4
- data/lib/avm/{rails → eac_rails_base1}/instance.rb +8 -3
- data/lib/avm/eac_rails_base1/runner.rb +12 -0
- data/lib/avm/eac_rails_base1/runner/bundle.rb +28 -0
- data/lib/avm/eac_rails_base1/runner/code_runner.rb +28 -0
- data/lib/avm/eac_rails_base1/runner_with/bundle.rb +57 -0
- data/lib/avm/eac_redmine_base0/instance.rb +2 -4
- data/lib/avm/{stereotypes/eac_ubuntu_base0.rb → eac_ubuntu_base0.rb} +1 -3
- data/lib/avm/eac_webapp_base0/instance.rb +2 -2
- data/lib/avm/eac_webapp_base0/runner.rb +12 -0
- data/lib/avm/eac_webapp_base0/runner/apache_host.rb +2 -3
- data/lib/avm/eac_webapp_base0/runner/data.rb +1 -1
- data/lib/avm/eac_webapp_base0/runner/data/dump.rb +1 -1
- data/lib/avm/eac_webapp_base0/runner/data/load.rb +1 -1
- data/lib/avm/eac_webapp_base0/runner/deploy.rb +3 -16
- data/lib/avm/eac_wordpress_base0.rb +9 -0
- data/lib/avm/eac_wordpress_base0/apache_host.rb +25 -0
- data/lib/avm/eac_wordpress_base0/deploy.rb +10 -0
- data/lib/avm/eac_wordpress_base0/instance.rb +24 -0
- data/lib/avm/instances/runner.rb +40 -0
- data/lib/avm/{stereotypes/postgresql.rb → postgresql.rb} +1 -3
- data/lib/avm/postgresql/instance.rb +63 -0
- data/lib/avm/postgresql/instance/data_unit.rb +39 -0
- data/lib/avm/postgresql/instance_with.rb +18 -0
- data/lib/avm/tools/runner.rb +3 -3
- data/lib/avm/tools/runner/eac_rails_base0.rb +5 -18
- data/lib/avm/tools/runner/eac_rails_base0/apache_path.rb +1 -1
- data/lib/avm/tools/runner/eac_rails_base0/bundle.rb +3 -3
- data/lib/avm/tools/runner/eac_rails_base0/rails_server.rb +6 -12
- data/lib/avm/tools/runner/eac_rails_base0/runner.rb +3 -3
- data/lib/avm/tools/runner/eac_redmine_base0.rb +5 -23
- data/lib/avm/tools/runner/eac_redmine_base0/core_update.rb +1 -1
- data/lib/avm/tools/runner/eac_redmine_base0/docker.rb +1 -1
- data/lib/avm/tools/runner/eac_redmine_base0/project_rename.rb +3 -3
- data/lib/avm/tools/runner/eac_wordpress_base0.rb +5 -24
- data/lib/avm/tools/version.rb +1 -1
- metadata +19 -26
- data/lib/avm/rails/runners/bundle.rb +0 -35
- data/lib/avm/rails/runners/runner.rb +0 -48
- data/lib/avm/stereotypes/eac_wordpress_base0/apache_host.rb +0 -27
- data/lib/avm/stereotypes/eac_wordpress_base0/deploy.rb +0 -12
- data/lib/avm/stereotypes/eac_wordpress_base0/instance.rb +0 -26
- data/lib/avm/stereotypes/postgresql/instance.rb +0 -65
- data/lib/avm/stereotypes/postgresql/instance/data_unit.rb +0 -41
- data/lib/avm/stereotypes/postgresql/instance_with.rb +0 -20
- data/lib/avm/stereotypes/rails.rb +0 -11
- data/lib/avm/tools/runner/eac_rails_base0/apache_host.rb +0 -16
- data/lib/avm/tools/runner/eac_rails_base0/data.rb +0 -15
- data/lib/avm/tools/runner/eac_rails_base0/deploy.rb +0 -15
- data/lib/avm/tools/runner/eac_redmine_base0/bundle.rb +0 -14
- data/lib/avm/tools/runner/eac_redmine_base0/data.rb +0 -27
- data/lib/avm/tools/runner/eac_redmine_base0/data/dump.rb +0 -16
- data/lib/avm/tools/runner/eac_redmine_base0/deploy.rb +0 -15
- data/lib/avm/tools/runner/eac_redmine_base0/runner.rb +0 -14
- data/lib/avm/tools/runner/eac_wordpress_base0/apache_host.rb +0 -17
- data/lib/avm/tools/runner/eac_wordpress_base0/data.rb +0 -15
- data/lib/avm/tools/runner/eac_wordpress_base0/deploy.rb +0 -15
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 86b1ee08028ac161c73a2069542d961e11585fd4eee8673307cb5f3912e0c215
|
|
4
|
+
data.tar.gz: 438fccaf469c7843762e381a853514ff60fb466bc202e628188eb8a512982129
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: adfbd30ba8bac66dbb87a165d1839a1163b0679f582e326ae888fc6f773d9eeaa67d8b7047d9a0f2ec16cf98dd815ddccf2097c2003743a9fee5b7a49e67a769
|
|
7
|
+
data.tar.gz: deca6800842fd5dcebc5748ea4b4fa0909ff3e6bb7c927c5506d01b6f14af7588d2527f0c8c6636c11783b866dadbb65d8c59715198648eac7a9964ae2fec4a4
|
|
@@ -1,13 +1,10 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
require 'avm/
|
|
4
|
-
require 'avm/rails/instance'
|
|
3
|
+
require 'avm/eac_rails_base1/instance'
|
|
5
4
|
|
|
6
5
|
module Avm
|
|
7
6
|
module EacRailsBase0
|
|
8
|
-
class Instance < ::Avm::
|
|
9
|
-
include ::Avm::Rails::Instance
|
|
10
|
-
|
|
7
|
+
class Instance < ::Avm::EacRailsBase1::Instance
|
|
11
8
|
FILES_UNITS = { uploads: 'public/uploads' }.freeze
|
|
12
9
|
end
|
|
13
10
|
end
|
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
+
require 'avm/eac_webapp_base0/instance'
|
|
4
|
+
require 'eac_ruby_gems_utils/gem'
|
|
5
|
+
|
|
3
6
|
module Avm
|
|
4
|
-
module
|
|
5
|
-
|
|
7
|
+
module EacRailsBase1
|
|
8
|
+
class Instance < ::Avm::EacWebappBase0::Instance
|
|
9
|
+
DEFAULT_RAILS_ENVIRONMENT = 'production'
|
|
10
|
+
|
|
6
11
|
def bundle(*args)
|
|
7
|
-
the_gem.bundle(*args).chdir_root.envvar('RAILS_ENV',
|
|
12
|
+
the_gem.bundle(*args).chdir_root.envvar('RAILS_ENV', DEFAULT_RAILS_ENVIRONMENT)
|
|
8
13
|
end
|
|
9
14
|
|
|
10
15
|
def rake(*args)
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'avm/eac_rails_base1/runner_with/bundle'
|
|
4
|
+
require 'eac_cli/core_ext'
|
|
5
|
+
require 'eac_ruby_utils/console/docopt_runner'
|
|
6
|
+
require 'shellwords'
|
|
7
|
+
|
|
8
|
+
module Avm
|
|
9
|
+
module EacRailsBase1
|
|
10
|
+
class Runner < ::Avm::EacWebappBase0::Runner
|
|
11
|
+
class Bundle < ::EacRubyUtils::Console::DocoptRunner
|
|
12
|
+
runner_with ::Avm::EacRailsBase1::RunnerWith::Bundle
|
|
13
|
+
runner_definition do
|
|
14
|
+
desc 'Runs "bundle ...".'
|
|
15
|
+
pos_arg :'bundle-args', repeat: true, optional: true
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def run
|
|
19
|
+
bundle_run
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def bundle_args
|
|
23
|
+
options.fetch('<bundle-args>').reject { |arg| arg == '--' }
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'avm/eac_rails_base1/runner_with/bundle'
|
|
4
|
+
require 'eac_cli/core_ext'
|
|
5
|
+
require 'eac_ruby_utils/console/docopt_runner'
|
|
6
|
+
|
|
7
|
+
module Avm
|
|
8
|
+
module EacRailsBase1
|
|
9
|
+
class Runner < ::Avm::EacWebappBase0::Runner
|
|
10
|
+
class CodeRunner < ::EacRubyUtils::Console::DocoptRunner
|
|
11
|
+
runner_with ::Avm::EacRailsBase1::RunnerWith::Bundle
|
|
12
|
+
runner_definition do
|
|
13
|
+
desc 'Runs a Ruby code with "rails runner".'
|
|
14
|
+
pos_arg :code
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def run
|
|
18
|
+
infov 'Environment', context(:instance).host_env
|
|
19
|
+
bundle_run
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def bundle_args
|
|
23
|
+
%w[exec rails runner] + [options.fetch('<code>')]
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'avm/eac_rails_base1/instance'
|
|
4
|
+
require 'eac_cli/runner'
|
|
5
|
+
|
|
6
|
+
module Avm
|
|
7
|
+
module EacRailsBase1
|
|
8
|
+
module RunnerWith
|
|
9
|
+
module Bundle
|
|
10
|
+
DEFAULT_RAILS_ENVIRONMENT_CONSTANT = 'DEFAULT_RAILS_ENVIRONMENT'
|
|
11
|
+
|
|
12
|
+
common_concern do
|
|
13
|
+
include ::EacCli::Runner
|
|
14
|
+
|
|
15
|
+
runner_definition do
|
|
16
|
+
arg_opt '-e', '--environment', 'Specifies the environment for the runner to operate' \
|
|
17
|
+
' (test/development/production). Default: "development".'
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
module ClassMethods
|
|
22
|
+
def default_rails_environment
|
|
23
|
+
const_get(DEFAULT_RAILS_ENVIRONMENT_CONSTANT)
|
|
24
|
+
rescue ::NameError
|
|
25
|
+
::Avm::EacRailsBase1::Instance::DEFAULT_RAILS_ENVIRONMENT
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
def bundle_command
|
|
30
|
+
rails_instance.bundle(*bundle_args).envvar('RAILS_ENV', rails_environment)
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def bundle_run
|
|
34
|
+
infov 'Bundle arguments', ::Shellwords.join(bundle_args)
|
|
35
|
+
infov 'Rails environment', rails_environment
|
|
36
|
+
bundle_command.system!
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def default_rails_environment
|
|
40
|
+
self.class.default_rails_environment
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
def rails_instance
|
|
44
|
+
if respond_to?(:runner_context)
|
|
45
|
+
runner_context.call(:instance)
|
|
46
|
+
else
|
|
47
|
+
context(:instance)
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
def rails_environment
|
|
52
|
+
parsed.environment.presence || default_rails_environment
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
end
|
|
@@ -3,13 +3,11 @@
|
|
|
3
3
|
require 'avm/eac_redmine_base0/data_unit'
|
|
4
4
|
require 'avm/eac_ubuntu_base0/docker_image'
|
|
5
5
|
require 'avm/eac_webapp_base0/instance'
|
|
6
|
-
require 'avm/
|
|
6
|
+
require 'avm/eac_rails_base1/instance'
|
|
7
7
|
|
|
8
8
|
module Avm
|
|
9
9
|
module EacRedmineBase0
|
|
10
|
-
class Instance < ::Avm::
|
|
11
|
-
include ::Avm::Rails::Instance
|
|
12
|
-
|
|
10
|
+
class Instance < ::Avm::EacRailsBase1::Instance
|
|
13
11
|
FILES_UNITS = { files: 'files' }.freeze
|
|
14
12
|
|
|
15
13
|
def docker_image_class
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
3
|
require 'avm/instances/base'
|
|
4
|
-
require 'avm/
|
|
4
|
+
require 'avm/postgresql/instance_with'
|
|
5
5
|
require 'avm/data/instance/files_unit'
|
|
6
6
|
require 'avm/data/instance/package'
|
|
7
7
|
require 'avm/eac_webapp_base0/deploy/file_unit'
|
|
@@ -9,7 +9,7 @@ require 'avm/eac_webapp_base0/deploy/file_unit'
|
|
|
9
9
|
module Avm
|
|
10
10
|
module EacWebappBase0
|
|
11
11
|
class Instance < ::Avm::Instances::Base
|
|
12
|
-
include ::Avm::
|
|
12
|
+
include ::Avm::Postgresql::InstanceWith
|
|
13
13
|
|
|
14
14
|
def stereotype_name
|
|
15
15
|
self.class.name.desconstantize.demodulize
|
|
@@ -5,13 +5,12 @@ require 'eac_ruby_utils/core_ext'
|
|
|
5
5
|
|
|
6
6
|
module Avm
|
|
7
7
|
module EacWebappBase0
|
|
8
|
-
|
|
8
|
+
class Runner < ::Avm::Instances::Runner
|
|
9
9
|
class ApacheHost < ::EacRubyUtils::Console::DocoptRunner
|
|
10
10
|
include ::EacCli::DefaultRunner
|
|
11
11
|
|
|
12
|
-
stereotype_name = name.deconstantize.demodulize
|
|
13
12
|
runner_definition do
|
|
14
|
-
desc
|
|
13
|
+
desc 'Configure Apache virtual host for instance.'
|
|
15
14
|
bool_opt '-c', '--certbot', 'Install certbot.'
|
|
16
15
|
end
|
|
17
16
|
|
|
@@ -7,7 +7,7 @@ require 'avm/data/package/dump'
|
|
|
7
7
|
|
|
8
8
|
module Avm
|
|
9
9
|
module EacWebappBase0
|
|
10
|
-
|
|
10
|
+
class Runner < ::Avm::Instances::Runner
|
|
11
11
|
class Data < ::EacRubyUtils::Console::DocoptRunner
|
|
12
12
|
class Dump < ::EacRubyUtils::Console::DocoptRunner
|
|
13
13
|
include ::EacRubyUtils::SimpleCache
|
|
@@ -6,7 +6,7 @@ require 'eac_ruby_utils/simple_cache'
|
|
|
6
6
|
|
|
7
7
|
module Avm
|
|
8
8
|
module EacWebappBase0
|
|
9
|
-
|
|
9
|
+
class Runner < ::Avm::Instances::Runner
|
|
10
10
|
class Data < ::EacRubyUtils::Console::DocoptRunner
|
|
11
11
|
class Load < ::EacRubyUtils::Console::DocoptRunner
|
|
12
12
|
include ::EacRubyUtils::SimpleCache
|
|
@@ -6,12 +6,12 @@ require 'eac_ruby_utils/console/speaker'
|
|
|
6
6
|
|
|
7
7
|
module Avm
|
|
8
8
|
module EacWebappBase0
|
|
9
|
-
|
|
9
|
+
class Runner < ::Avm::Instances::Runner
|
|
10
10
|
class Deploy < ::EacRubyUtils::Console::DocoptRunner
|
|
11
11
|
include ::EacRubyUtils::Console::Speaker
|
|
12
12
|
|
|
13
13
|
DOC = <<~DOCOPT
|
|
14
|
-
Deploy for
|
|
14
|
+
Deploy for instance.
|
|
15
15
|
|
|
16
16
|
Usage:
|
|
17
17
|
__PROGRAM__ [options]
|
|
@@ -22,22 +22,9 @@ module Avm
|
|
|
22
22
|
-r --reference=<git-reference> Git reference to deploy.
|
|
23
23
|
-a --append-dirs=<append-dirs> Append directories to deploy (List separated by ":").
|
|
24
24
|
DOCOPT
|
|
25
|
-
def initialize(settings = {})
|
|
26
|
-
super settings.merge(doc: DOC.gsub('%%STEREOTYPE_NAME%%', stereotype_name))
|
|
27
|
-
end
|
|
28
25
|
|
|
29
26
|
def deploy_class
|
|
30
|
-
stereotype_module.const_get('Deploy')
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
def stereotype_module
|
|
34
|
-
::Avm::Stereotypes.const_get(stereotype_name)
|
|
35
|
-
rescue ::NameError
|
|
36
|
-
::Avm.const_get(stereotype_name)
|
|
37
|
-
end
|
|
38
|
-
|
|
39
|
-
def stereotype_name
|
|
40
|
-
self.class.name.deconstantize.demodulize
|
|
27
|
+
context(:stereotype_module).const_get('Deploy')
|
|
41
28
|
end
|
|
42
29
|
|
|
43
30
|
def run
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'avm/eac_webapp_base0/apache_host'
|
|
4
|
+
|
|
5
|
+
module Avm
|
|
6
|
+
module EacWordpressBase0
|
|
7
|
+
class ApacheHost < ::Avm::EacWebappBase0::ApacheHost
|
|
8
|
+
def document_root
|
|
9
|
+
instance.read_entry(::Avm::Instances::EntryKeys::FS_PATH)
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def extra_content
|
|
13
|
+
"AssignUserID #{system_user} #{system_group}"
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def system_user
|
|
17
|
+
instance.read_entry('system.username')
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def system_group
|
|
21
|
+
instance.read_entry('system.groupname')
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'avm/instances/entry_keys'
|
|
4
|
+
require 'avm/eac_webapp_base0/instance'
|
|
5
|
+
|
|
6
|
+
module Avm
|
|
7
|
+
module EacWordpressBase0
|
|
8
|
+
class Instance < ::Avm::EacWebappBase0::Instance
|
|
9
|
+
FILES_UNITS = { uploads: 'wp-content/uploads', themes: 'wp-content/themes' }.freeze
|
|
10
|
+
|
|
11
|
+
def database_unit
|
|
12
|
+
web_url = read_entry(::Avm::Instances::EntryKeys::WEB_URL)
|
|
13
|
+
super.after_load do
|
|
14
|
+
info 'Fixing web addresses...'
|
|
15
|
+
run_sql(<<~SQL)
|
|
16
|
+
update wp_options
|
|
17
|
+
set option_value = '#{web_url}'
|
|
18
|
+
where option_name in ('siteurl', 'home')
|
|
19
|
+
SQL
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'eac_cli/core_ext'
|
|
4
|
+
require 'eac_ruby_utils/console/docopt_runner'
|
|
5
|
+
|
|
6
|
+
module Avm
|
|
7
|
+
module Instances
|
|
8
|
+
class Runner < ::EacRubyUtils::Console::DocoptRunner
|
|
9
|
+
class << self
|
|
10
|
+
def instance_class
|
|
11
|
+
::Avm.const_get(stereotype_name).const_get('Instance')
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def stereotype_module
|
|
15
|
+
::Avm.const_get(stereotype_name)
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def stereotype_name
|
|
19
|
+
name.demodulize
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
runner_with
|
|
24
|
+
description = "Utilities for #{stereotype_name} instances."
|
|
25
|
+
runner_definition do
|
|
26
|
+
desc description
|
|
27
|
+
pos_arg 'instance-id'
|
|
28
|
+
subcommands
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
delegate :instance_class, :stereotype_module, :stereotype_name, to: :class
|
|
32
|
+
|
|
33
|
+
private
|
|
34
|
+
|
|
35
|
+
def instance_uncached
|
|
36
|
+
self.class.instance_class.by_id(options.fetch('<instance-id>'))
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|