avm-tools 0.28.0 → 0.30.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.
- checksums.yaml +4 -4
- data/lib/avm/data/package/dump.rb +1 -0
- data/lib/avm/docker/registry.rb +4 -1
- data/lib/avm/instances/base/auto_values.rb +1 -1
- data/lib/avm/instances/base/auto_values/data.rb +26 -0
- data/lib/avm/self/instance.rb +1 -0
- data/lib/avm/self/instance/entry_keys.rb +12 -0
- data/lib/avm/stereotypes/eac_rails_base0/instance.rb +3 -11
- data/lib/avm/stereotypes/eac_redmine_base0/instance.rb +3 -0
- data/lib/avm/stereotypes/eac_webapp_base0/instance.rb +1 -3
- data/lib/avm/stereotypes/eac_webapp_base0/runner/data/dump.rb +71 -0
- data/lib/avm/stereotypes/rails.rb +11 -0
- data/lib/avm/stereotypes/rails/instance.rb +20 -0
- data/lib/avm/tools/runner/eac_rails_base0/data.rb +27 -0
- data/lib/avm/tools/runner/eac_rails_base0/data/dump.rb +17 -0
- data/lib/avm/tools/runner/eac_redmine_base0/bundle.rb +36 -0
- data/lib/avm/tools/runner/eac_wordpress_base0/data/dump.rb +3 -56
- data/lib/avm/tools/version.rb +1 -1
- metadata +10 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0cfe97a7d0fe91a8c981753c6a1f54613eca1224a291b21f79fc40d599706dcb
|
4
|
+
data.tar.gz: 24af1b76d95b1f49502a676c2530cae9796848b601e97c66f2c2c2ad799ca30f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c703058938922ecb22415179574396eff2d2ab775d7a9b9d46293e27f9510ee7701eb2c72184d777e5e5b8b2a4620b3622bf86c0af6c7ea09158762458f1b660
|
7
|
+
data.tar.gz: a42d70070a33d8452e02aac392864a62aae5d30c159ba93eb10bf0c24d5691ba9607a4994ea3b00ce45c8734ac257fe7d48605cf178e40e2f3c8619f8b9b04ce
|
data/lib/avm/docker/registry.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require 'avm/self/instance'
|
3
4
|
require 'eac_ruby_utils/core_ext'
|
4
5
|
|
5
6
|
module Avm
|
@@ -7,7 +8,9 @@ module Avm
|
|
7
8
|
class Registry
|
8
9
|
class << self
|
9
10
|
def default
|
10
|
-
@default ||= new(::Avm.
|
11
|
+
@default ||= new(::Avm::Self.instance.read_entry(
|
12
|
+
::Avm::Self::Instance::EntryKeys::DOCKER_REGISTRY_NAME
|
13
|
+
))
|
11
14
|
end
|
12
15
|
end
|
13
16
|
|
@@ -10,7 +10,7 @@ module Avm
|
|
10
10
|
extend ::ActiveSupport::Concern
|
11
11
|
|
12
12
|
included do
|
13
|
-
%w[Access Admin Database Filesystem Ruby Source System Web].each do |class_name|
|
13
|
+
%w[Access Admin Data Database Filesystem Ruby Source System Web].each do |class_name|
|
14
14
|
include const_get(class_name)
|
15
15
|
end
|
16
16
|
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'avm/data/package/dump'
|
4
|
+
require 'avm/self/instance'
|
5
|
+
|
6
|
+
module Avm
|
7
|
+
module Instances
|
8
|
+
class Base
|
9
|
+
module AutoValues
|
10
|
+
module Data
|
11
|
+
def auto_data_default_dump_path
|
12
|
+
::Avm::Self
|
13
|
+
.instance
|
14
|
+
.read_entry_optional(::Avm::Self::Instance::EntryKeys::DATA_DEFAULT_PATH)
|
15
|
+
.if_present do |v|
|
16
|
+
::File.join(
|
17
|
+
v,
|
18
|
+
"#{id}#{::Avm::Data::Instance::Package::Dump::DEFAULT_FILE_EXTENSION}"
|
19
|
+
)
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
data/lib/avm/self/instance.rb
CHANGED
@@ -1,23 +1,15 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require 'avm/stereotypes/eac_webapp_base0/instance'
|
4
|
+
require 'avm/stereotypes/rails/instance'
|
4
5
|
|
5
6
|
module Avm
|
6
7
|
module Stereotypes
|
7
8
|
module EacRailsBase0
|
8
9
|
class Instance < ::Avm::Stereotypes::EacWebappBase0::Instance
|
9
|
-
|
10
|
-
|
11
|
-
def bundle(*args)
|
12
|
-
host_env.command('bundle', *args)
|
13
|
-
.envvar('BUNDLE_GEMFILE', ::File.join(read_entry('fs_path'), 'Gemfile'))
|
14
|
-
.envvar('RAILS_ENV', 'production')
|
15
|
-
.chdir(read_entry('fs_path'))
|
16
|
-
end
|
10
|
+
include ::Avm::Stereotypes::Rails::Instance
|
17
11
|
|
18
|
-
|
19
|
-
bundle('exec', 'rake', *args)
|
20
|
-
end
|
12
|
+
FILES_UNITS = { uploads: 'public/uploads' }.freeze
|
21
13
|
end
|
22
14
|
end
|
23
15
|
end
|
@@ -2,11 +2,14 @@
|
|
2
2
|
|
3
3
|
require 'avm/stereotypes/eac_ubuntu_base0/docker_image'
|
4
4
|
require 'avm/stereotypes/eac_webapp_base0/instance'
|
5
|
+
require 'avm/stereotypes/rails/instance'
|
5
6
|
|
6
7
|
module Avm
|
7
8
|
module Stereotypes
|
8
9
|
module EacRedmineBase0
|
9
10
|
class Instance < ::Avm::Stereotypes::EacWebappBase0::Instance
|
11
|
+
include ::Avm::Stereotypes::Rails::Instance
|
12
|
+
|
10
13
|
FILES_UNITS = { files: 'files' }.freeze
|
11
14
|
|
12
15
|
def docker_image_class
|
@@ -12,8 +12,6 @@ module Avm
|
|
12
12
|
class Instance < ::Avm::Instances::Base
|
13
13
|
include ::Avm::Stereotypes::Postgresql::InstanceWith
|
14
14
|
|
15
|
-
FILES_UNITS = { uploads: 'wp-content/uploads', themes: 'wp-content/themes' }.freeze
|
16
|
-
|
17
15
|
def stereotype_name
|
18
16
|
self.class.name.desconstantize.demodulize
|
19
17
|
end
|
@@ -44,7 +42,7 @@ module Avm
|
|
44
42
|
private
|
45
43
|
|
46
44
|
def files_units
|
47
|
-
FILES_UNITS.map do |data_key, fs_path_subpath|
|
45
|
+
self.class.const_get('FILES_UNITS').map do |data_key, fs_path_subpath|
|
48
46
|
[data_key, ::Avm::Data::Instance::FilesUnit.new(self, fs_path_subpath)]
|
49
47
|
end.to_h
|
50
48
|
end
|
@@ -0,0 +1,71 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'active_support/core_ext/numeric/time'
|
4
|
+
require 'eac_ruby_utils/console/speaker'
|
5
|
+
require 'eac_ruby_utils/simple_cache'
|
6
|
+
require 'avm/data/package/dump'
|
7
|
+
|
8
|
+
module Avm
|
9
|
+
module Stereotypes
|
10
|
+
module EacWebappBase0
|
11
|
+
module Runner
|
12
|
+
module Data
|
13
|
+
class Dump < ::EacRubyUtils::Console::DocoptRunner
|
14
|
+
include ::EacRubyUtils::SimpleCache
|
15
|
+
include ::EacRubyUtils::Console::Speaker
|
16
|
+
|
17
|
+
DUMP_EXPIRE_TIME = 1.days
|
18
|
+
DEFAULT_DUMP_PATH_ENTRY_SUFFIX = 'data.default_dump_path'
|
19
|
+
NO_DUMP_MESSAGE = 'Dump "%s" already exist and rewrite options was no setted nor ' \
|
20
|
+
'dump was expired.'
|
21
|
+
|
22
|
+
DOC = <<~DOCUMENT
|
23
|
+
Dump utility for EacRailsBase instance.
|
24
|
+
|
25
|
+
Usage:
|
26
|
+
__PROGRAM__ [options]
|
27
|
+
|
28
|
+
Options:
|
29
|
+
-h --help Show this screen.
|
30
|
+
--rewrite Forces dump overwrite.
|
31
|
+
--dump-path=<dump_path> Set DUMP_PATH variable.
|
32
|
+
DOCUMENT
|
33
|
+
|
34
|
+
def run
|
35
|
+
infov 'Instance to dump', "#{context(:instance)} (#{context(:instance).class})"
|
36
|
+
if package_dump.runnable?
|
37
|
+
package_dump.run
|
38
|
+
else
|
39
|
+
warn(package_dump.cannot_run_reason)
|
40
|
+
end
|
41
|
+
success("Dump path: \"#{dump_path}\"")
|
42
|
+
dump_path
|
43
|
+
end
|
44
|
+
|
45
|
+
private
|
46
|
+
|
47
|
+
def package_dump_uncached
|
48
|
+
context(:instance).data_package.dump(dump_path, existing: package_dump_existing)
|
49
|
+
end
|
50
|
+
|
51
|
+
def dump_path
|
52
|
+
options.fetch('--dump-path') || default_dump_path
|
53
|
+
end
|
54
|
+
|
55
|
+
def default_dump_path
|
56
|
+
context(:instance).read_entry(DEFAULT_DUMP_PATH_ENTRY_SUFFIX)
|
57
|
+
end
|
58
|
+
|
59
|
+
def package_dump_existing
|
60
|
+
if options.fetch('--rewrite')
|
61
|
+
::Avm::Data::Package::Dump::EXISTING_ROTATE
|
62
|
+
else
|
63
|
+
::Avm::Data::Package::Dump::EXISTING_ROTATE_EXPIRED
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Avm
|
4
|
+
module Stereotypes
|
5
|
+
module Rails
|
6
|
+
module Instance
|
7
|
+
def bundle(*args)
|
8
|
+
host_env.command('bundle', *args)
|
9
|
+
.envvar('BUNDLE_GEMFILE', ::File.join(read_entry('fs_path'), 'Gemfile'))
|
10
|
+
.envvar('RAILS_ENV', 'production')
|
11
|
+
.chdir(read_entry('fs_path'))
|
12
|
+
end
|
13
|
+
|
14
|
+
def rake(*args)
|
15
|
+
bundle('exec', 'rake', *args)
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'eac_ruby_utils/console/docopt_runner'
|
4
|
+
require 'eac_ruby_utils/require_sub'
|
5
|
+
|
6
|
+
module Avm
|
7
|
+
module Tools
|
8
|
+
class Runner < ::EacRubyUtils::Console::DocoptRunner
|
9
|
+
class EacRailsBase0 < ::EacRubyUtils::Console::DocoptRunner
|
10
|
+
class Data < ::EacRubyUtils::Console::DocoptRunner
|
11
|
+
::EacRubyUtils.require_sub(__FILE__)
|
12
|
+
|
13
|
+
DOC = <<~DOCOPT
|
14
|
+
Data utilities for EacRailsBase0 instances.
|
15
|
+
|
16
|
+
Usage:
|
17
|
+
__PROGRAM__ __SUBCOMMANDS__
|
18
|
+
__PROGRAM__ -h | --help
|
19
|
+
|
20
|
+
Options:
|
21
|
+
-h --help Show this screen.
|
22
|
+
DOCOPT
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'eac_ruby_utils/console/docopt_runner'
|
4
|
+
require 'avm/stereotypes/eac_webapp_base0/runner/data/dump'
|
5
|
+
|
6
|
+
module Avm
|
7
|
+
module Tools
|
8
|
+
class Runner < ::EacRubyUtils::Console::DocoptRunner
|
9
|
+
class EacRailsBase0 < ::EacRubyUtils::Console::DocoptRunner
|
10
|
+
class Data < ::EacRubyUtils::Console::DocoptRunner
|
11
|
+
class Dump < ::Avm::Stereotypes::EacWebappBase0::Runner::Data::Dump
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'avm/stereotypes/eac_redmine_base0/deploy'
|
4
|
+
require 'avm/stereotypes/eac_webapp_base0/runner/deploy'
|
5
|
+
|
6
|
+
module Avm
|
7
|
+
module Tools
|
8
|
+
class Runner < ::EacRubyUtils::Console::DocoptRunner
|
9
|
+
class EacRedmineBase0 < ::EacRubyUtils::Console::DocoptRunner
|
10
|
+
class Bundle < ::EacRubyUtils::Console::DocoptRunner
|
11
|
+
enable_console_speaker
|
12
|
+
|
13
|
+
DOC = <<~DOCOPT
|
14
|
+
Runs "bundle ...".
|
15
|
+
|
16
|
+
Usage:
|
17
|
+
__PROGRAM__ [<bundle-args>...]
|
18
|
+
__PROGRAM__ -h | --help
|
19
|
+
|
20
|
+
Options:
|
21
|
+
-h --help Show this screen.
|
22
|
+
DOCOPT
|
23
|
+
|
24
|
+
def run
|
25
|
+
infov 'Bundle arguments', ::Shellwords.join(bundle_args)
|
26
|
+
context(:instance).bundle(*bundle_args).system!
|
27
|
+
end
|
28
|
+
|
29
|
+
def bundle_args
|
30
|
+
options.fetch('<bundle-args>').reject { |arg| arg == '--' }
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
@@ -1,67 +1,14 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require '
|
4
|
-
require '
|
5
|
-
require 'eac_ruby_utils/simple_cache'
|
6
|
-
require 'avm/data/package/dump'
|
3
|
+
require 'eac_ruby_utils/console/docopt_runner'
|
4
|
+
require 'avm/stereotypes/eac_webapp_base0/runner/data/dump'
|
7
5
|
|
8
6
|
module Avm
|
9
7
|
module Tools
|
10
8
|
class Runner < ::EacRubyUtils::Console::DocoptRunner
|
11
9
|
class EacWordpressBase0 < ::EacRubyUtils::Console::DocoptRunner
|
12
10
|
class Data < ::EacRubyUtils::Console::DocoptRunner
|
13
|
-
class Dump < ::
|
14
|
-
include ::EacRubyUtils::SimpleCache
|
15
|
-
include ::EacRubyUtils::Console::Speaker
|
16
|
-
|
17
|
-
DUMP_EXPIRE_TIME = 1.days
|
18
|
-
DEFAULT_DUMP_PATH_ENTRY_SUFFIX = 'data.default_dump_path'
|
19
|
-
NO_DUMP_MESSAGE = 'Dump "%s" already exist and rewrite options was no setted nor ' \
|
20
|
-
'dump was expired.'
|
21
|
-
|
22
|
-
DOC = <<~DOCUMENT
|
23
|
-
Dump utility for EacRailsBase instance.
|
24
|
-
|
25
|
-
Usage:
|
26
|
-
__PROGRAM__ [options]
|
27
|
-
|
28
|
-
Options:
|
29
|
-
-h --help Show this screen.
|
30
|
-
--rewrite Forces dump overwrite.
|
31
|
-
--dump-path=<dump_path> Set DUMP_PATH variable.
|
32
|
-
DOCUMENT
|
33
|
-
|
34
|
-
def run
|
35
|
-
if package_dump.runnable?
|
36
|
-
package_dump.run
|
37
|
-
else
|
38
|
-
warn(package_dump.cannot_run_reason)
|
39
|
-
end
|
40
|
-
success("Dump path: \"#{dump_path}\"")
|
41
|
-
dump_path
|
42
|
-
end
|
43
|
-
|
44
|
-
private
|
45
|
-
|
46
|
-
def package_dump_uncached
|
47
|
-
context(:instance).data_package.dump(dump_path, existing: package_dump_existing)
|
48
|
-
end
|
49
|
-
|
50
|
-
def dump_path
|
51
|
-
options.fetch('--dump-path') || default_dump_path
|
52
|
-
end
|
53
|
-
|
54
|
-
def default_dump_path
|
55
|
-
context(:instance).read_entry(DEFAULT_DUMP_PATH_ENTRY_SUFFIX)
|
56
|
-
end
|
57
|
-
|
58
|
-
def package_dump_existing
|
59
|
-
if options.fetch('--rewrite')
|
60
|
-
::Avm::Data::Package::Dump::EXISTING_ROTATE
|
61
|
-
else
|
62
|
-
::Avm::Data::Package::Dump::EXISTING_ROTATE_EXPIRED
|
63
|
-
end
|
64
|
-
end
|
11
|
+
class Dump < ::Avm::Stereotypes::EacWebappBase0::Runner::Data::Dump
|
65
12
|
end
|
66
13
|
end
|
67
14
|
end
|
data/lib/avm/tools/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: avm-tools
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.30.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Esquilo Azul Company
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-01-
|
11
|
+
date: 2020-01-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: aranha-parsers
|
@@ -210,6 +210,7 @@ files:
|
|
210
210
|
- lib/avm/instances/base/auto_values.rb
|
211
211
|
- lib/avm/instances/base/auto_values/access.rb
|
212
212
|
- lib/avm/instances/base/auto_values/admin.rb
|
213
|
+
- lib/avm/instances/base/auto_values/data.rb
|
213
214
|
- lib/avm/instances/base/auto_values/database.rb
|
214
215
|
- lib/avm/instances/base/auto_values/filesystem.rb
|
215
216
|
- lib/avm/instances/base/auto_values/ruby.rb
|
@@ -227,6 +228,7 @@ files:
|
|
227
228
|
- lib/avm/self.rb
|
228
229
|
- lib/avm/self/docker_image.rb
|
229
230
|
- lib/avm/self/instance.rb
|
231
|
+
- lib/avm/self/instance/entry_keys.rb
|
230
232
|
- lib/avm/stereotypes.rb
|
231
233
|
- lib/avm/stereotypes/eac_rails_base0.rb
|
232
234
|
- lib/avm/stereotypes/eac_rails_base0/apache_host.rb
|
@@ -245,6 +247,7 @@ files:
|
|
245
247
|
- lib/avm/stereotypes/eac_webapp_base0/deploy/_appended_directories.rb
|
246
248
|
- lib/avm/stereotypes/eac_webapp_base0/deploy/file_unit.rb
|
247
249
|
- lib/avm/stereotypes/eac_webapp_base0/instance.rb
|
250
|
+
- lib/avm/stereotypes/eac_webapp_base0/runner/data/dump.rb
|
248
251
|
- lib/avm/stereotypes/eac_webapp_base0/runner/deploy.rb
|
249
252
|
- lib/avm/stereotypes/eac_wordpress_base0/apache_host.rb
|
250
253
|
- lib/avm/stereotypes/eac_wordpress_base0/deploy.rb
|
@@ -253,12 +256,17 @@ files:
|
|
253
256
|
- lib/avm/stereotypes/postgresql/instance.rb
|
254
257
|
- lib/avm/stereotypes/postgresql/instance/data_unit.rb
|
255
258
|
- lib/avm/stereotypes/postgresql/instance_with.rb
|
259
|
+
- lib/avm/stereotypes/rails.rb
|
260
|
+
- lib/avm/stereotypes/rails/instance.rb
|
256
261
|
- lib/avm/tools.rb
|
257
262
|
- lib/avm/tools/runner.rb
|
258
263
|
- lib/avm/tools/runner/eac_rails_base0.rb
|
259
264
|
- lib/avm/tools/runner/eac_rails_base0/apache_host.rb
|
265
|
+
- lib/avm/tools/runner/eac_rails_base0/data.rb
|
266
|
+
- lib/avm/tools/runner/eac_rails_base0/data/dump.rb
|
260
267
|
- lib/avm/tools/runner/eac_rails_base0/deploy.rb
|
261
268
|
- lib/avm/tools/runner/eac_redmine_base0.rb
|
269
|
+
- lib/avm/tools/runner/eac_redmine_base0/bundle.rb
|
262
270
|
- lib/avm/tools/runner/eac_redmine_base0/deploy.rb
|
263
271
|
- lib/avm/tools/runner/eac_redmine_base0/docker.rb
|
264
272
|
- lib/avm/tools/runner/eac_wordpress_base0.rb
|