eac_tools 0.22.0 → 0.24.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +60 -60
- data/lib/eac_tools/version.rb +1 -1
- data/sub/avm/avm.gemspec +3 -3
- data/sub/avm/lib/avm/entries/base/uri_component_entry_value.rb +55 -0
- data/sub/avm/lib/avm/entries/base.rb +2 -0
- data/sub/avm/lib/avm/entries/entry.rb +10 -1
- data/sub/avm/lib/avm/entries/uri_builder.rb +4 -0
- data/sub/avm/lib/avm/instances/base/auto_values/install.rb +5 -13
- data/sub/avm/lib/avm/instances/base.rb +1 -1
- data/sub/avm/lib/avm/instances/entry_keys.rb +2 -1
- data/sub/avm/lib/avm/sources/base/application.rb +34 -0
- data/sub/avm/lib/avm/sources/base/configuration.rb +2 -0
- data/sub/avm/lib/avm/sources/base/testing.rb +1 -1
- data/sub/avm/lib/avm/version.rb +1 -1
- data/sub/avm/spec/lib/avm/instances/base_spec.rb +16 -0
- data/sub/avm/spec/lib/avm/instances/base_spec_configs_storage.yml +6 -0
- data/sub/avm-eac_asciidoctor_base0/avm-eac_asciidoctor_base0.gemspec +5 -5
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/base.rb +13 -0
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances.rb +11 -0
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/version.rb +1 -1
- data/sub/avm-eac_latex_base0/avm-eac_latex_base0.gemspec +3 -3
- data/sub/avm-eac_latex_base0/lib/avm/eac_latex_base0/instances/base.rb +2 -2
- data/sub/avm-eac_latex_base0/lib/avm/eac_latex_base0/version.rb +1 -1
- data/sub/avm-eac_rails_base0/avm-eac_rails_base0.gemspec +2 -2
- data/sub/avm-eac_rails_base0/lib/avm/eac_rails_base0/instances/base.rb +13 -0
- data/sub/avm-eac_rails_base0/lib/avm/eac_rails_base0/instances.rb +11 -0
- data/sub/avm-eac_rails_base0/lib/avm/eac_rails_base0/runners/base.rb +1 -1
- data/sub/avm-eac_rails_base0/lib/avm/eac_rails_base0/version.rb +1 -1
- data/sub/avm-eac_rails_base0/spec/lib/avm/eac_rails_base0/apache_host_spec.rb +2 -2
- data/sub/avm-eac_rails_base0/spec/lib/avm/eac_rails_base0/apache_path_spec.rb +2 -2
- data/sub/avm-eac_rails_base1/avm-eac_rails_base1.gemspec +4 -4
- data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/base.rb +27 -0
- data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances.rb +11 -0
- data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/runner_with/bundle.rb +1 -1
- data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/runner_with/rails_environment.rb +2 -2
- data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/version.rb +1 -1
- data/sub/avm-eac_redmine_base0/avm-eac_redmine_base0.gemspec +6 -6
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base.rb +48 -4
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances.rb +11 -0
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/runners/base.rb +1 -1
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/runners.rb +11 -0
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources.rb +11 -0
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/version.rb +1 -1
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/version.rb +1 -1
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec.rb +8 -1
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/dashed-mygem/Gemfile.lock +1 -0
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/dashed-mygem/_gitignore +2 -0
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/mygem/Gemfile.lock +1 -0
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/mygem/_gitignore +2 -0
- data/sub/avm-eac_webapp_base0/avm-eac_webapp_base0.gemspec +4 -4
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/base/subcommand_parent.rb +26 -0
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/base.rb +61 -0
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/runners/data/dump.rb +65 -0
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/runners/data/load.rb +57 -0
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/runners/data.rb +19 -0
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/runners.rb +13 -0
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/version.rb +1 -1
- data/sub/avm-eac_wordpress_base0/avm-eac_wordpress_base0.gemspec +3 -3
- data/sub/avm-eac_wordpress_base0/lib/avm/eac_wordpress_base0/instances/base.rb +2 -2
- data/sub/avm-eac_wordpress_base0/lib/avm/eac_wordpress_base0/version.rb +1 -1
- data/sub/avm-tools/avm-tools.gemspec +3 -3
- data/sub/avm-tools/lib/avm/tools/runner/app_src/info.rb +10 -8
- data/sub/avm-tools/lib/avm/tools/version.rb +1 -1
- data/sub/eac_config/eac_config.gemspec +2 -2
- data/sub/eac_config/lib/eac_config/entry_path.rb +6 -1
- data/sub/eac_config/lib/eac_config/version.rb +1 -1
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/listable/list.rb +9 -1
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/listable/value.rb +5 -0
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/object/debug.rb +17 -2
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/version.rb +1 -1
- data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/listable_spec.rb +32 -82
- metadata +49 -61
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instance.rb +0 -11
- data/sub/avm-eac_rails_base0/lib/avm/eac_rails_base0/instance.rb +0 -11
- data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instance.rb +0 -25
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instance.rb +0 -57
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instance/subcommand_parent.rb +0 -24
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instance.rb +0 -62
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/runner/data/dump.rb +0 -63
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/runner/data/load.rb +0 -55
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/runner/data.rb +0 -17
@@ -1,57 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'addressable/uri'
|
4
|
-
require 'avm/eac_redmine_base0/data_unit'
|
5
|
-
require 'avm/eac_redmine_base0/instances/docker_image'
|
6
|
-
require 'avm/eac_redmine_base0/rest_api'
|
7
|
-
require 'avm/eac_webapp_base0/instance'
|
8
|
-
require 'avm/eac_rails_base1/instance'
|
9
|
-
|
10
|
-
module Avm
|
11
|
-
module EacRedmineBase0
|
12
|
-
class Instance < ::Avm::EacRailsBase1::Instance
|
13
|
-
enable_simple_cache
|
14
|
-
|
15
|
-
FILES_UNITS = { files: 'files' }.freeze
|
16
|
-
|
17
|
-
def docker_image_class
|
18
|
-
::Avm::EacRedmineBase0::Instances::DockerImage
|
19
|
-
end
|
20
|
-
|
21
|
-
def docker_run_arguments
|
22
|
-
[
|
23
|
-
'--volume',
|
24
|
-
"#{read_entry(::Avm::Instances::EntryKeys::FS_PATH)}:/home/myuser/eac_redmine_base0",
|
25
|
-
'--publish', "#{read_entry(:ssh_port)}:22",
|
26
|
-
'--publish', "#{read_entry(:http_port)}:80",
|
27
|
-
'--publish', "#{read_entry(:https_port)}:443"
|
28
|
-
]
|
29
|
-
end
|
30
|
-
|
31
|
-
def data_package
|
32
|
-
@data_package ||= ::Avm::Data::Instance::Package.new(
|
33
|
-
self,
|
34
|
-
units: {
|
35
|
-
all: ::Avm::EacRedmineBase0::DataUnit.new(self)
|
36
|
-
}
|
37
|
-
)
|
38
|
-
end
|
39
|
-
|
40
|
-
# @return [Addressable::URI]
|
41
|
-
def root_url
|
42
|
-
r = ::Addressable::URI.parse(read_entry(::Avm::Instances::EntryKeys::WEB_URL))
|
43
|
-
r.query_values = nil
|
44
|
-
r
|
45
|
-
end
|
46
|
-
|
47
|
-
private
|
48
|
-
|
49
|
-
# @return [Avm::EacRedmineBase0::RestApi]
|
50
|
-
def rest_api_uncached
|
51
|
-
url = root_url
|
52
|
-
url.query_values = { key: read_entry('api.key') }
|
53
|
-
::Avm::EacRedmineBase0::RestApi.new(url)
|
54
|
-
end
|
55
|
-
end
|
56
|
-
end
|
57
|
-
end
|
@@ -1,24 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'eac_ruby_utils/core_ext'
|
4
|
-
|
5
|
-
module Avm
|
6
|
-
module EacWebappBase0
|
7
|
-
class Instance < ::Avm::Instances::Base
|
8
|
-
class SubcommandParent
|
9
|
-
enable_simple_cache
|
10
|
-
common_constructor :instance
|
11
|
-
|
12
|
-
private
|
13
|
-
|
14
|
-
def runner_context_uncached
|
15
|
-
::EacCli::Runner::Context.new(self, argv: runner_argv)
|
16
|
-
end
|
17
|
-
|
18
|
-
def runner_argv
|
19
|
-
[instance.class.name.split('::')[-2].dasherize, instance.id]
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|
@@ -1,62 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'avm/instances/base'
|
4
|
-
require 'avm/eac_postgresql_base0/instance_with'
|
5
|
-
require 'avm/data/instance/files_unit'
|
6
|
-
require 'avm/data/instance/package'
|
7
|
-
require 'avm/eac_webapp_base0/deploy/file_unit'
|
8
|
-
require 'avm/eac_ubuntu_base0/instances/base'
|
9
|
-
|
10
|
-
module Avm
|
11
|
-
module EacWebappBase0
|
12
|
-
class Instance < ::Avm::Instances::Base
|
13
|
-
require_sub __FILE__
|
14
|
-
include ::Avm::EacPostgresqlBase0::InstanceWith
|
15
|
-
enable_simple_cache
|
16
|
-
|
17
|
-
FILES_UNITS = [].freeze
|
18
|
-
|
19
|
-
def stereotype_name
|
20
|
-
self.class.name.desconstantize.demodulize
|
21
|
-
end
|
22
|
-
|
23
|
-
def data_dump(argv = [])
|
24
|
-
run_subcommand(::Avm::Tools::Runner::EacWordpressBase0::Data::Dump, argv)
|
25
|
-
end
|
26
|
-
|
27
|
-
def data_dump_runner_class
|
28
|
-
"::Avm::Tools::Runner::#{stereotype_name}::Data::Dump".constantize
|
29
|
-
end
|
30
|
-
|
31
|
-
def run_subcommand(subcommand_class, argv)
|
32
|
-
subcommand_class.create(
|
33
|
-
argv: argv,
|
34
|
-
parent: ::Avm::EacWebappBase0::Instance::SubcommandParent.new(self)
|
35
|
-
).run
|
36
|
-
end
|
37
|
-
|
38
|
-
def data_package
|
39
|
-
@data_package ||= ::Avm::Data::Instance::Package.new(
|
40
|
-
self, units: { database: database_unit }.merge(files_units)
|
41
|
-
)
|
42
|
-
end
|
43
|
-
|
44
|
-
def database_unit
|
45
|
-
pg.data_unit
|
46
|
-
end
|
47
|
-
|
48
|
-
private
|
49
|
-
|
50
|
-
# @return [Avm::EacUbuntuBase0::Instances::Base]
|
51
|
-
def platform_instance_uncached
|
52
|
-
::Avm::EacUbuntuBase0::Instances::Base.by_id(id)
|
53
|
-
end
|
54
|
-
|
55
|
-
def files_units
|
56
|
-
self.class.const_get('FILES_UNITS').transform_values do |fs_path_subpath|
|
57
|
-
::Avm::Data::Instance::FilesUnit.new(self, fs_path_subpath)
|
58
|
-
end
|
59
|
-
end
|
60
|
-
end
|
61
|
-
end
|
62
|
-
end
|
@@ -1,63 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'avm/data/package/dump'
|
4
|
-
require 'eac_cli/core_ext'
|
5
|
-
|
6
|
-
module Avm
|
7
|
-
module EacWebappBase0
|
8
|
-
class Runner < ::Avm::Instances::Runner
|
9
|
-
class Data
|
10
|
-
class Dump
|
11
|
-
DUMP_EXPIRE_TIME = 1.day
|
12
|
-
DEFAULT_DUMP_PATH_ENTRY_SUFFIX = 'data.default_dump_path'
|
13
|
-
NO_DUMP_MESSAGE = 'Dump "%s" already exist and rewrite options was no setted nor ' \
|
14
|
-
'dump was expired.'
|
15
|
-
|
16
|
-
runner_with :help do
|
17
|
-
desc 'Dump utility for EacRailsBase instance.'
|
18
|
-
bool_opt '-w', '--rewrite', 'Forces dump overwrite.'
|
19
|
-
arg_opt '-p', '--dump-path', 'Set DUMP_PATH variable.'
|
20
|
-
end
|
21
|
-
|
22
|
-
def run
|
23
|
-
infov 'Instance to dump', "#{instance} (#{instance.class})"
|
24
|
-
if package_dump.runnable?
|
25
|
-
package_dump.run
|
26
|
-
else
|
27
|
-
warn(package_dump.cannot_run_reason)
|
28
|
-
end
|
29
|
-
success("Dump path: \"#{dump_path}\"")
|
30
|
-
dump_path
|
31
|
-
end
|
32
|
-
|
33
|
-
private
|
34
|
-
|
35
|
-
def instance
|
36
|
-
runner_context.call(:instance)
|
37
|
-
end
|
38
|
-
|
39
|
-
def package_dump_uncached
|
40
|
-
instance
|
41
|
-
.data_package.dump(dump_path, existing: package_dump_existing)
|
42
|
-
end
|
43
|
-
|
44
|
-
def dump_path
|
45
|
-
parsed.dump_path || default_dump_path
|
46
|
-
end
|
47
|
-
|
48
|
-
def default_dump_path
|
49
|
-
instance.read_entry(DEFAULT_DUMP_PATH_ENTRY_SUFFIX)
|
50
|
-
end
|
51
|
-
|
52
|
-
def package_dump_existing
|
53
|
-
if parsed.rewrite?
|
54
|
-
::Avm::Data::Package::Dump::EXISTING_ROTATE
|
55
|
-
else
|
56
|
-
::Avm::Data::Package::Dump::EXISTING_ROTATE_EXPIRED
|
57
|
-
end
|
58
|
-
end
|
59
|
-
end
|
60
|
-
end
|
61
|
-
end
|
62
|
-
end
|
63
|
-
end
|
@@ -1,55 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'active_support/core_ext/numeric/time'
|
4
|
-
require 'eac_cli/speaker'
|
5
|
-
require 'eac_ruby_utils/simple_cache'
|
6
|
-
|
7
|
-
module Avm
|
8
|
-
module EacWebappBase0
|
9
|
-
class Runner < ::Avm::Instances::Runner
|
10
|
-
class Data
|
11
|
-
class Load
|
12
|
-
runner_with :help do
|
13
|
-
desc 'Load utility for EacRailsBase instance.'
|
14
|
-
arg_opt '-S', '--source-instance', 'Informa a instância a ser extraída o dump.'
|
15
|
-
pos_arg :dump_path, optional: true
|
16
|
-
end
|
17
|
-
|
18
|
-
def run
|
19
|
-
return ::Dev::Result.error("Dump \"#{dump_path}\" does not exist") unless
|
20
|
-
::File.exist?(dump_path)
|
21
|
-
|
22
|
-
load_dump
|
23
|
-
success("Dump loaded from \"#{dump_path}\"")
|
24
|
-
end
|
25
|
-
|
26
|
-
def dump_path_uncached
|
27
|
-
return parsed.dump_path.to_s if parsed.dump_path.present?
|
28
|
-
return source_instance_dump_path if parsed.source_instance.present?
|
29
|
-
|
30
|
-
raise "Dump path unknown (Options: #{parsed})"
|
31
|
-
end
|
32
|
-
|
33
|
-
def source_instance_dump_path
|
34
|
-
runner_context.call(:instance).class.by_id(parsed.source_instance).data_dump
|
35
|
-
end
|
36
|
-
|
37
|
-
def load_dump
|
38
|
-
info "Loading dump \"#{dump_path}\"..."
|
39
|
-
package_load.run
|
40
|
-
end
|
41
|
-
|
42
|
-
def dump_instance_method
|
43
|
-
:dump_database
|
44
|
-
end
|
45
|
-
|
46
|
-
private
|
47
|
-
|
48
|
-
def package_load_uncached
|
49
|
-
runner_context.call(:instance).data_package.load(dump_path)
|
50
|
-
end
|
51
|
-
end
|
52
|
-
end
|
53
|
-
end
|
54
|
-
end
|
55
|
-
end
|
@@ -1,17 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'eac_cli/core_ext'
|
4
|
-
|
5
|
-
module Avm
|
6
|
-
module EacWebappBase0
|
7
|
-
class Runner < ::Avm::Instances::Runner
|
8
|
-
class Data
|
9
|
-
require_sub __FILE__
|
10
|
-
runner_with :help, :subcommands do
|
11
|
-
desc 'Data utilities for EacRailsBase0 instances.'
|
12
|
-
subcommands
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|