avm-tools 0.28.0 → 0.30.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|