pvcglue 0.1.9 → 0.1.10
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +8 -8
- data/README.md +43 -5
- data/lib/pvcglue/cli.rb +1 -1
- data/lib/pvcglue/cloud.rb +4 -0
- data/lib/pvcglue/db.rb +9 -4
- data/lib/pvcglue/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
MTM4NDNkOTQ3YmE0YThjZGQ4NjlmODU0MmIzZDU3MzU4NmUzMzQ4ZA==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
YjU4ZDY1YjM4NjAwYjc3YzIxZWYzZDRkZDE3ZDI3Njk3M2Q4NGE1OA==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
MjJiNWFiZjg0YzE4OGE3Mjg1OTQyYWNkNGJmYTQ4YTcxNmEzYTEzODFmZWFi
|
10
|
+
NjRjMjJiZjE5ZDU4OTlkNDM1ZjYzNjgwOTU0MGMwZDlmZjUzNGFjOGRjMThl
|
11
|
+
MTJjZTA0ZjVkZWY4OTY2NTEwNzMxMzgwNTdmMDI2Njg4YjQ3MWI=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
ZTkwMjE0Yzg4YTgxOGZjOWRkZmQ5NDczYzEzMTMxYjljYmNlN2M2OTM0NTYy
|
14
|
+
YzBhNGJmYWFiOGFjYjkwYWU0NzM0MjYxZGNjY2ExNDE4YWEyOTA2ZTJmOGM4
|
15
|
+
M2NkYmY1ZDBmNGQ2Njk0ZDJlNmRmMTk4ZmMyZjUwZmFiNTUyOWQ=
|
data/README.md
CHANGED
@@ -50,6 +50,8 @@ Note: An existing authorized user must perform steps 1-3.
|
|
50
50
|
|
51
51
|
pvc alpha c # start a rails console on the alpha web server
|
52
52
|
|
53
|
+
6. If you have any problems, see the [Troubleshooting](#troubleshooting) section.
|
54
|
+
|
53
55
|
## Common Usage
|
54
56
|
|
55
57
|
Always do a `pvc manager pull` once before making any changes to ensure you have the latest data. (Caching will be improved as time permitts.)
|
@@ -83,6 +85,11 @@ Always do a `pvc manager pull` once before making any changes to ensure you have
|
|
83
85
|
pvc <stage> capify # must be done on all stages!
|
84
86
|
|
85
87
|
|
88
|
+
* restart delayed job workers (this may change once a bug is resolved)
|
89
|
+
|
90
|
+
cap production deploy:delayed_job_restart
|
91
|
+
|
92
|
+
|
86
93
|
# Help
|
87
94
|
|
88
95
|
Commands:
|
@@ -136,19 +143,50 @@ https://github.com/radar/guides/blob/master/gem-development.md
|
|
136
143
|
|
137
144
|
## Installation
|
138
145
|
|
139
|
-
Add
|
146
|
+
Add these lines to your application's Gemfile. `dotenv-rails` must be listed first!
|
140
147
|
|
141
|
-
|
142
|
-
gem '
|
148
|
+
################# Must be the first Gem ###################
|
149
|
+
gem 'dotenv-rails', "0.11.1"
|
150
|
+
################# Must be the first Gem ###################
|
143
151
|
|
152
|
+
Then add these lines to your application's Gemfile, whereever you like (usually at the end):
|
153
|
+
|
154
|
+
gem 'pvcglue', "~> 0.1.10", :group => :development
|
155
|
+
gem 'pvcglue_dbutils', "~> 0.5.3"
|
144
156
|
|
145
157
|
And then execute:
|
146
158
|
|
147
159
|
$ bundle
|
148
160
|
|
149
|
-
|
161
|
+
## Troubleshooting
|
162
|
+
|
163
|
+
### If you see this while trying to deploy
|
164
|
+
|
165
|
+
DEBUG[426eda1d] Permission denied (publickey).
|
166
|
+
DEBUG[426eda1d] fatal: The remote end hung up unexpectedly
|
167
|
+
|
168
|
+
it probably means that your SSH key is not being forwarded.
|
169
|
+
|
170
|
+
You will need to edit (or create) `~/.ssh/config` and add the host(s) you want to connect to. Replace `example.com` with the name or IP you want to connect to. (Note: You will need an entry for each 'web' server in the cluster in order to deploy.)
|
171
|
+
|
172
|
+
Host example.com
|
173
|
+
ForwardAgent yes
|
174
|
+
|
175
|
+
You can use `Host *` if you understand the security risks, and are not connecting to any untrusted servers over SSH.
|
176
|
+
|
177
|
+
And then add your key to the agent
|
178
|
+
|
179
|
+
ssh-add -K
|
180
|
+
|
181
|
+
More information can be found at https://developer.github.com/guides/using-ssh-agent-forwarding/
|
182
|
+
|
183
|
+
### If you get an error like
|
184
|
+
|
185
|
+
DEBUG[d416069c] fatal: Not a valid object name
|
186
|
+
DEBUG[d416069c] tar: This does not look like a tar archive
|
187
|
+
DEBUG[d416069c] tar: Exiting with failure status due to previous errors
|
150
188
|
|
151
|
-
|
189
|
+
it probably means that you have not pushed up the branch, yet. :)
|
152
190
|
|
153
191
|
## Developing
|
154
192
|
|
data/lib/pvcglue/cli.rb
CHANGED
data/lib/pvcglue/cloud.rb
CHANGED
@@ -166,6 +166,10 @@ module Pvcglue
|
|
166
166
|
data[app_name][:time_zone] || 'America/Los_Angeles'
|
167
167
|
end
|
168
168
|
|
169
|
+
def exclude_tables
|
170
|
+
data[app_name][:excluded_db_tables] || ['versions']
|
171
|
+
end
|
172
|
+
|
169
173
|
def firewall_allow_incoming_on_port
|
170
174
|
# These ports allow incoming connections from any ip address
|
171
175
|
ports = []
|
data/lib/pvcglue/db.rb
CHANGED
@@ -14,11 +14,11 @@ module Pvcglue
|
|
14
14
|
pg_restore(self.class.remote, file_name)
|
15
15
|
end
|
16
16
|
|
17
|
-
desc "pull", "
|
18
|
-
|
17
|
+
desc "pull", "Pull copy of database from remote stage. Pass -f to exclude tables defined in the configutation file. If no tables are specified in the `excluded_db_tables` option, 'versions' will be used by default."
|
18
|
+
method_option :fast, :type => :boolean, :aliases => "-f"
|
19
19
|
def pull(file_name = nil)
|
20
20
|
raise(Thor::Error, "Stage required.") if Pvcglue.cloud.stage_name.nil?
|
21
|
-
pg_dump(self.class.remote, file_name)
|
21
|
+
pg_dump(self.class.remote, file_name, options[:fast])
|
22
22
|
end
|
23
23
|
|
24
24
|
desc "dump", "dump"
|
@@ -116,9 +116,14 @@ module Pvcglue
|
|
116
116
|
end
|
117
117
|
|
118
118
|
|
119
|
-
def pg_dump(source, file_name)
|
119
|
+
def pg_dump(source, file_name, fast)
|
120
120
|
cmd = "pg_dump -Fc --no-acl --no-owner -h #{source.host} -p #{source.port}"
|
121
121
|
cmd += " -U #{source.username}" if source.username
|
122
|
+
if fast
|
123
|
+
Pvcglue.cloud.exclude_tables.each do |table|
|
124
|
+
cmd += " --exclude-table=#{table}"
|
125
|
+
end
|
126
|
+
end
|
122
127
|
cmd += " #{source.database} -v -f #{self.class.file_helper(file_name)}"
|
123
128
|
puts cmd
|
124
129
|
unless system({"PGPASSWORD" => source.password}, cmd)
|
data/lib/pvcglue/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pvcglue
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.10
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andrew Lyric
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-10-31 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|