dokku-installer-cli 0.0.7 → 0.0.8

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 43d7f01230c81b0604d1aa355385f1201df43484
4
- data.tar.gz: c43b73a686ab83e0d8cd99829d808ad81943de8d
3
+ metadata.gz: 77c55952348afc6f97cb4262a61b8bbd4fecf15a
4
+ data.tar.gz: ee588ed6b3ac1cdaf963bd09e9eaad6e94d420e4
5
5
  SHA512:
6
- metadata.gz: 87a6a3522696b1591515e32118cdc3b67a78f426b57b8704078b6ab0880f33c206f27d43d6504ae2159900a28cb1c3be2018d5e680c4c2fbf7abceaa5cb3bb71
7
- data.tar.gz: 8cd7ef521f8c6bb0242eef8d00301dca5df229d7702ee6976215764128849cb2bc983837cbab54b2afdc013eec1a00392814313f99f1c8e3cea079bf68301d28
6
+ metadata.gz: 00df6dfbdfc530434c4214f0ff72c97e49be3c9b1b6c73ba7f91674ee68147b10dfb6f29ab5868cdcdc4b05175474b1ce4a30f738b7ec9539d56a5f5d8a1ba4a
7
+ data.tar.gz: 1c94715ce03a72ac17941da93095753e5db128cbd6cf96a00d92ca3444dd4d835297b6528f205079de1cf9209dea565e86f349fc2534df6a6204019aa11f565e
data/bin/dokku CHANGED
@@ -1,5 +1,6 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
+ require "shellwords"
3
4
  require "thor"
4
5
 
5
6
  module DokkuInstaller
@@ -51,6 +52,60 @@ module DokkuInstaller
51
52
  exec("open http://#{app_name}.#{domain}")
52
53
  end
53
54
 
55
+ desc "postgres:backups", "List available PostgreSQL backups"
56
+ def postgres_backups
57
+ command = "ssh -t dokku@#{domain} postgres:backups #{app_name}"
58
+ puts "Running #{command}..."
59
+ backups = `#{command}`
60
+ backups.split("\n").reverse.each_with_index do |line, index|
61
+ number = "#{index + 1}"
62
+ if number.length < 2
63
+ number = " #{number}"
64
+ end
65
+ puts "#{number}. #{line}"
66
+ end
67
+ end
68
+
69
+ desc "postgres:backups:create", "Create a new PostgreSQL backup"
70
+ def postgres_backups_create
71
+ run_command "postgres:backups:create #{app_name}"
72
+ end
73
+
74
+ desc "postgres:backups:disable", "Disable daily PostgreSQL backups"
75
+ def postgres_backups_disable
76
+ run_command "postgres:backups:disable #{app_name}"
77
+ end
78
+
79
+ desc "postgres:backups:download <number>", "Download the numbered PostgreSQL backup"
80
+ def postgres_backups_download(*args)
81
+ # Make sure the number is valid
82
+ number = args.first ? args.first : 1
83
+ number = number.to_s.gsub(/\D/, "").to_i
84
+ if number < 1
85
+ puts "Invalid backup number"
86
+ return
87
+ end
88
+
89
+ # Get the file name for the numbered backup
90
+ puts "Getting list of backups..."
91
+ command = "ssh -t dokku@#{domain} postgres:backups #{app_name}"
92
+ backups = `#{command}`
93
+ index = number - 1
94
+ backup = backups.split("\n").reverse[index].strip
95
+ if backup
96
+ command = "postgres:backups:download #{app_name} #{backup} > #{backup}"
97
+ puts "Saving to local file: #{backup}"
98
+ run_command(command)
99
+ else
100
+ puts "Invalid backup number"
101
+ end
102
+ end
103
+
104
+ desc "postgres:backups:enable", "Enable daily PostgreSQL backups"
105
+ def postgres_backups_enable
106
+ run_command "postgres:backups:enable #{app_name}"
107
+ end
108
+
54
109
  desc "restart", "Restart the application"
55
110
  def restart(*args)
56
111
  run_command "restart #{app_name}"
@@ -105,7 +160,7 @@ module DokkuInstaller
105
160
  end
106
161
 
107
162
  def method_missing(method, *args, &block)
108
- if method.to_s.split(":").length == 2
163
+ if method.to_s.split(":").length >= 2
109
164
  self.send(method.to_s.gsub(":", "_"), *args)
110
165
  elsif method == :run
111
166
  self.walk(*args)
@@ -1,3 +1,3 @@
1
1
  module DokkuInstaller
2
- VERSION = "0.0.7"
2
+ VERSION = "0.0.8"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dokku-installer-cli
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.7
4
+ version: 0.0.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brian Pattison
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-11-22 00:00:00.000000000 Z
11
+ date: 2014-11-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor