chake 0.5 → 0.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/ChangeLog.md +6 -0
- data/README.md +14 -0
- data/lib/chake/backend/ssh.rb +6 -2
- data/lib/chake/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1eb55dbcfe2c5a55b4f25f91577343bdcb012e2b
|
4
|
+
data.tar.gz: 5a5bba8b619a44b1b020dd1b08dbadf4a13b6f60
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: adbbf6f0e28b6786f237d3fe98b6328dc392f29270c3cdc8237bb79b5ed650fdfc096fae134f252d03a25af9b8ee2a3bb50a44c2d0bdd4b2d390cbd9313f6369
|
7
|
+
data.tar.gz: 28aa419d152a89658fccc7abe108cf68743c3e79babe5a8f249836f62fcc35949f18a79a459cd23f5086002ccca4ba2262cdf98a120182abd64e76bba18ab164
|
data/ChangeLog.md
CHANGED
@@ -1,3 +1,9 @@
|
|
1
|
+
# 0.6
|
2
|
+
|
3
|
+
* Support a ssh prefix command by setting `$CHAKE_SSH_PREFIX` in the
|
4
|
+
environment. For example, `CHAKE_SSH_PREFIX=tsocks` will make all ssh
|
5
|
+
invocations as `tocks ssh ...` instead of just `ssh ...`.
|
6
|
+
|
1
7
|
# 0.5
|
2
8
|
|
3
9
|
* Add a task login:$host that you can use to easily log in to any of your
|
data/README.md
CHANGED
@@ -160,6 +160,19 @@ To easily login to one of your host, just run `rake login:$HOSTNAME`. This will
|
|
160
160
|
automatically use the repository-local SSH configuration as above so you don't
|
161
161
|
have to type `-F .ssh_config` all the time.
|
162
162
|
|
163
|
+
### Running all SSH invocations with some prefix command
|
164
|
+
|
165
|
+
Some times, you will also want or need to prefix your SSH invocations with some
|
166
|
+
prefix command in order to e.g. tunnel it through some central exit node. You
|
167
|
+
can do this by setting `$CHAKE_SSH_PREFIX` on your environment. Example:
|
168
|
+
|
169
|
+
```
|
170
|
+
CHAKE_SSH_PREFIX=tsocks rake converge
|
171
|
+
```
|
172
|
+
|
173
|
+
The above will make all SSH invocations to all hosts be called as `tsocks ssh
|
174
|
+
[...]`
|
175
|
+
|
163
176
|
### Converging local host
|
164
177
|
|
165
178
|
If you want to manage your local workstation with chake, you can declare a local node like this in `nodes.yaml`:
|
@@ -194,6 +207,7 @@ vice-versa.
|
|
194
207
|
|Variable|Meaning|Default value|
|
195
208
|
|--------|-------|-------------|
|
196
209
|
| `$CHAKE_SSH_CONFIG` | local SSH configuration file | `.ssh_config` |
|
210
|
+
| `$CHAKE_SSH_PREFIX` | Command to prefix SSH (and rsync over SSH) calls with | _none_ |
|
197
211
|
| `$CHAKE_RSYNC_OPTIONS` | extra options to pass to `rsync`. Useful to e.g. exclude large files from being upload to each server | _none_ |
|
198
212
|
| `$CHAKE_NODES` | File containing the list of servers to be managed | _nodes.yaml` |
|
199
213
|
|
data/lib/chake/backend/ssh.rb
CHANGED
@@ -13,7 +13,7 @@ module Chake
|
|
13
13
|
end
|
14
14
|
|
15
15
|
def rsync
|
16
|
-
['rsync', rsync_ssh].flatten.compact
|
16
|
+
[ssh_prefix, 'rsync', rsync_ssh].flatten.compact
|
17
17
|
end
|
18
18
|
|
19
19
|
def rsync_dest
|
@@ -21,7 +21,7 @@ module Chake
|
|
21
21
|
end
|
22
22
|
|
23
23
|
def command_runner
|
24
|
-
['ssh', ssh_config, ssh_target].flatten.compact
|
24
|
+
[ssh_prefix, 'ssh', ssh_config, ssh_target].flatten.compact
|
25
25
|
end
|
26
26
|
|
27
27
|
def shell_command
|
@@ -42,6 +42,10 @@ module Chake
|
|
42
42
|
@ssh_config_file ||= ENV.fetch('CHAKE_SSH_CONFIG', '.ssh_config')
|
43
43
|
end
|
44
44
|
|
45
|
+
def ssh_prefix
|
46
|
+
@ssh_prefix ||= ENV.fetch('CHAKE_SSH_PREFIX', '').split
|
47
|
+
end
|
48
|
+
|
45
49
|
def ssh_target
|
46
50
|
[node.remote_username, node.hostname].compact.join('@')
|
47
51
|
end
|
data/lib/chake/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: chake
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: '0.
|
4
|
+
version: '0.6'
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Antonio Terceiro
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-05-
|
11
|
+
date: 2015-05-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|