pg_export 0.7.6 → 1.0.0.rc4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/.travis.yml +6 -3
- data/CHANGELOG.md +15 -0
- data/README.md +14 -11
- data/bin/pg_export +91 -26
- data/lib/pg_export.rb +5 -13
- data/lib/pg_export/configuration.rb +21 -13
- data/lib/pg_export/container.rb +5 -30
- data/lib/pg_export/import.rb +1 -1
- data/lib/pg_export/lib/pg_export/factories/cipher_factory.rb +7 -10
- data/lib/pg_export/lib/pg_export/factories/ftp_gateway_factory.rb +22 -0
- data/lib/pg_export/lib/pg_export/factories/ssh_gateway_factory.rb +22 -0
- data/lib/pg_export/lib/pg_export/{adapters/ftp_adapter.rb → gateways/ftp.rb} +11 -8
- data/lib/pg_export/lib/pg_export/gateways/ssh.rb +83 -0
- data/lib/pg_export/lib/pg_export/listeners/interactive/build_dump.rb +4 -4
- data/lib/pg_export/lib/pg_export/listeners/interactive/{close_ftp_connection.rb → close_connection.rb} +1 -1
- data/lib/pg_export/lib/pg_export/listeners/interactive/decrypt_dump.rb +2 -2
- data/lib/pg_export/lib/pg_export/listeners/interactive/{download_dump_from_ftp.rb → download_dump.rb} +3 -3
- data/lib/pg_export/lib/pg_export/listeners/interactive/encrypt_dump.rb +2 -2
- data/lib/pg_export/lib/pg_export/listeners/interactive/{fetch_dumps_from_ftp.rb → fetch_dumps.rb} +1 -1
- data/lib/pg_export/lib/pg_export/listeners/interactive/{open_ftp_connection.rb → open_connection.rb} +2 -2
- data/lib/pg_export/lib/pg_export/listeners/interactive/{remove_old_dumps_from_ftp.rb → remove_old_dumps.rb} +6 -6
- data/lib/pg_export/lib/pg_export/listeners/interactive/restore.rb +2 -2
- data/lib/pg_export/lib/pg_export/listeners/interactive/{upload_dump_to_ftp.rb → upload_dump.rb} +3 -3
- data/lib/pg_export/lib/pg_export/listeners/interactive_listener.rb +2 -2
- data/lib/pg_export/lib/pg_export/listeners/plain/build_dump.rb +2 -2
- data/lib/pg_export/lib/pg_export/listeners/plain/{close_ftp_connection.rb → close_connection.rb} +2 -2
- data/lib/pg_export/lib/pg_export/listeners/plain/decrypt_dump.rb +2 -2
- data/lib/pg_export/lib/pg_export/listeners/plain/{download_dump_from_ftp.rb → download_dump.rb} +3 -3
- data/lib/pg_export/lib/pg_export/listeners/plain/encrypt_dump.rb +2 -2
- data/lib/pg_export/lib/pg_export/listeners/plain/fetch_dumps.rb +15 -0
- data/lib/pg_export/lib/pg_export/listeners/plain/open_connection.rb +15 -0
- data/lib/pg_export/lib/pg_export/listeners/plain/remove_old_dumps.rb +17 -0
- data/lib/pg_export/lib/pg_export/listeners/plain/restore.rb +1 -1
- data/lib/pg_export/lib/pg_export/listeners/plain/upload_dump.rb +15 -0
- data/lib/pg_export/lib/pg_export/listeners/plain_listener.rb +2 -2
- data/lib/pg_export/lib/pg_export/operations/{open_ftp_connection.rb → open_connection.rb} +5 -5
- data/lib/pg_export/lib/pg_export/operations/{remove_old_dumps_from_ftp.rb → remove_old_dumps.rb} +7 -7
- data/lib/pg_export/lib/pg_export/repositories/{ftp_dump_file_repository.rb → gateway_dump_file_repository.rb} +3 -3
- data/lib/pg_export/lib/pg_export/repositories/{ftp_dump_repository.rb → gateway_dump_repository.rb} +7 -7
- data/lib/pg_export/lib/pg_export/transactions/export_dump.rb +10 -10
- data/lib/pg_export/lib/pg_export/transactions/import_dump_interactively.rb +16 -16
- data/lib/pg_export/system/boot/config.rb +17 -1
- data/lib/pg_export/system/boot/ftp.rb +11 -0
- data/lib/pg_export/system/boot/interactive.rb +4 -10
- data/lib/pg_export/system/boot/operations.rb +17 -0
- data/lib/pg_export/system/boot/plain.rb +5 -11
- data/lib/pg_export/system/boot/ssh.rb +11 -0
- data/lib/pg_export/version.rb +1 -1
- data/pg_export.gemspec +10 -6
- metadata +98 -39
- data/lib/pg_export/build_logger.rb +0 -21
- data/lib/pg_export/lib/pg_export/factories/ftp_adapter_factory.rb +0 -22
- data/lib/pg_export/lib/pg_export/listeners/plain/fetch_dumps_from_ftp.rb +0 -15
- data/lib/pg_export/lib/pg_export/listeners/plain/open_ftp_connection.rb +0 -15
- data/lib/pg_export/lib/pg_export/listeners/plain/remove_old_dumps_from_ftp.rb +0 -17
- data/lib/pg_export/lib/pg_export/listeners/plain/upload_dump_to_ftp.rb +0 -15
- data/lib/pg_export/system/boot/logger.rb +0 -15
@@ -1,21 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'logger'
|
4
|
-
|
5
|
-
class PgExport
|
6
|
-
class BuildLogger
|
7
|
-
FORMATS = {
|
8
|
-
plain: ->(_, _, _, message) { "#{message}\n" },
|
9
|
-
muted: ->(*) { raise 'Do not initialize logger when it is muted' },
|
10
|
-
timestamped: lambda do |severity, datetime, progname, message|
|
11
|
-
"#{datetime} #{Process.pid} TID-#{Thread.current.object_id.to_s(36)}#{progname} #{severity}: #{message}\n"
|
12
|
-
end
|
13
|
-
}.freeze
|
14
|
-
|
15
|
-
def self.call(stream:, format:)
|
16
|
-
Logger.new(stream).tap do |logger|
|
17
|
-
logger.formatter = FORMATS.fetch(format.to_sym)
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
@@ -1,22 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
# auto_register: false
|
4
|
-
|
5
|
-
require 'pg_export/lib/pg_export/adapters/ftp_adapter'
|
6
|
-
require 'pg_export/import'
|
7
|
-
|
8
|
-
class PgExport
|
9
|
-
module Factories
|
10
|
-
class FtpAdapterFactory
|
11
|
-
include Import['config']
|
12
|
-
|
13
|
-
def ftp_adapter
|
14
|
-
::PgExport::Adapters::FtpAdapter.new(
|
15
|
-
host: config.ftp_host,
|
16
|
-
user: config.ftp_user,
|
17
|
-
password: config.ftp_password
|
18
|
-
)
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|
@@ -1,15 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require_relative '../plain_listener'
|
4
|
-
|
5
|
-
class PgExport
|
6
|
-
module Listeners
|
7
|
-
class Plain
|
8
|
-
class FetchDumpsFromFtp < PlainListener
|
9
|
-
def on_step_succeeded(step_name:, args:, value:)
|
10
|
-
logger.info("Fetch dumps (#{value[:dumps].count} items)")
|
11
|
-
end
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|
@@ -1,15 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require_relative '../plain_listener'
|
4
|
-
|
5
|
-
class PgExport
|
6
|
-
module Listeners
|
7
|
-
class Plain
|
8
|
-
class OpenFtpConnection < PlainListener
|
9
|
-
def on_step_succeeded(step_name:, args:, value:)
|
10
|
-
logger.info("Connect to #{value[:ftp_adapter]}")
|
11
|
-
end
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|
@@ -1,17 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require_relative '../plain_listener'
|
4
|
-
|
5
|
-
class PgExport
|
6
|
-
module Listeners
|
7
|
-
class Plain
|
8
|
-
class RemoveOldDumpsFromFtp < PlainListener
|
9
|
-
def on_step_succeeded(step_name:, args:, value:)
|
10
|
-
value[:removed_dumps].each do |filename|
|
11
|
-
logger.info("Remove #{filename} from #{value[:ftp_adapter]}")
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
@@ -1,15 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require_relative '../plain_listener'
|
4
|
-
|
5
|
-
class PgExport
|
6
|
-
module Listeners
|
7
|
-
class Plain
|
8
|
-
class UploadDumpToFtp < PlainListener
|
9
|
-
def on_step_succeeded(step_name:, args:, value:)
|
10
|
-
logger.info("Upload #{value[:dump]} to #{value[:ftp_adapter]}")
|
11
|
-
end
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|
@@ -1,15 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
PgExport::Container.boot :logger do
|
4
|
-
init do
|
5
|
-
require 'pg_export/build_logger'
|
6
|
-
end
|
7
|
-
|
8
|
-
start do
|
9
|
-
use :config
|
10
|
-
|
11
|
-
register(:logger, memoize: true) do
|
12
|
-
PgExport::BuildLogger.call(stream: $stdout, format: target[:config].logger_format)
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|