techinform 1.4.5 → 1.4.6
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/techinform/version.rb +1 -1
- data/lib/techinform.rb +12 -3
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9e2242e5acacb90720dcb7ee5aca8a8cedeb471f3a08bb5db31f11d6b74234f4
|
4
|
+
data.tar.gz: 68f6052ae5f497297c5ad445435b6821f87a1ca383fc2e68b1f1883b28e63492
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 843e5ce4e47a9465c8dda7c9279f727783d7e6bec955ba3a44bfd2d5447295df51df2b1ea6422b4f9c2b87b4026e4522426ba71a4b8949ea08ef4f5887107b58
|
7
|
+
data.tar.gz: cefe3d6f93a9f12ba4ebc756aa40f91cf249a449fa8d249b3de1833b5d03a566a570e7e19e5e32097fb7b576d25810bf702f4b0b5d97e6812e0a595ae26b04eb
|
data/lib/techinform/version.rb
CHANGED
data/lib/techinform.rb
CHANGED
@@ -6,7 +6,7 @@ require 'thor'
|
|
6
6
|
module Techinform
|
7
7
|
class CLI < Thor
|
8
8
|
desc 'restore [type] [absolute_filename or database to select file] [dbname]', 'Restore database from backup; if no absolute filename given, will present select menu to choose file'
|
9
|
-
def restore(type, filename, dbname)
|
9
|
+
def restore(type, filename, dbname, just_decrypt = false)
|
10
10
|
require 'highline'
|
11
11
|
if !File.exist?(filename)
|
12
12
|
cli = HighLine.new
|
@@ -16,14 +16,18 @@ module Techinform
|
|
16
16
|
encrypted = filename.split('.').last == 'gpg'
|
17
17
|
if type == 'pg'
|
18
18
|
puts "Restoring postgres backup to database #{dbname}..."
|
19
|
-
if encrypted
|
19
|
+
if encrypted && just_decrypt
|
20
|
+
`gpg2 --decrypt #{filename} | pv --wait | bzip2 > #{File.basename(filename, '.*')}`
|
21
|
+
elsif encrypted
|
20
22
|
`gpg2 --decrypt #{filename} | pv --wait | psql #{dbname} > /dev/null`
|
21
23
|
else
|
22
24
|
`tar -xOf #{filename} | bunzip2 | pv | psql #{dbname} > /dev/null`
|
23
25
|
end
|
24
26
|
else
|
25
27
|
puts "Restoring mysql backup to database #{dbname}..."
|
26
|
-
if encrypted
|
28
|
+
if encrypted && just_decrypt
|
29
|
+
`gpg2 --decrypt #{filename} | pv --wait | bzip2 > #{File.basename(filename, '.*')}`
|
30
|
+
elsif encrypted
|
27
31
|
`gpg2 --decrypt #{filename} | pv --wait | mysql #{"-u#{ENV['USER']}" if !ENV['USER'].nil?} #{"-p#{ENV['PASSWORD']}" if !ENV['PASSWORD'].nil?} #{dbname}`
|
28
32
|
else
|
29
33
|
`tar -xOf #{filename} | bunzip2 | pv | mysql #{"-u#{ENV['USER']}" if !ENV['USER'].nil?} #{"-p#{ENV['PASSWORD']}" if !ENV['PASSWORD'].nil?} #{dbname}`
|
@@ -31,6 +35,11 @@ module Techinform
|
|
31
35
|
end
|
32
36
|
end
|
33
37
|
|
38
|
+
desc 'decrypt [type] [absolute_filename or database to select file]', 'Decrypt file from backup; if no absolute filename given, will present select menu to choose file'
|
39
|
+
def decrypt(type, filename)
|
40
|
+
restore(type, filename, nil, true)
|
41
|
+
end
|
42
|
+
|
34
43
|
desc 'deploy [project]', 'Deploy specific project'
|
35
44
|
def deploy(project)
|
36
45
|
`cd ~/projects/#{project} && git pull origin master && bundle install && cap production deploy`
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: techinform
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.4.
|
4
|
+
version: 1.4.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Alexey Chernikov
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-07-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: thor
|