zool 0.1.0 → 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +14 -9
- data/Rakefile +1 -4
- data/Readme.md +14 -9
- metadata +1 -31
data/README.md
CHANGED
@@ -8,14 +8,14 @@ The command-line client
|
|
8
8
|
|
9
9
|
the command-line client currently supports 3 commands:
|
10
10
|
|
11
|
-
*
|
11
|
+
* __fetch__<br>
|
12
12
|
fetches the authorized_keys files from a file (defaults to /etc/hosts) or a list of hosts (see zool -h for more info), splits them up, removes duplicates and saves them to a .pub file in the keys (will be configurable... later...) directory.
|
13
13
|
It tries to generate the name of the keyfile by parsing the key for a someuser@somehost value at the end of the key. It only uses the someuser value to generate the keyfile name. That may become configurable later
|
14
14
|
You can specify a user / password for the fetch and setup tasks. See zool -h for details.
|
15
|
-
*
|
15
|
+
* __setup__<br>
|
16
16
|
this task creates the keys directory, fetches the keys and naively creates a simple version of a zool.conf. That will experience some overhaul for sure because it is only capable to create server directives for every server and isn't smart enough to group keys.
|
17
17
|
You can specify a user / password for the fetch and setup tasks. See zool -h for details.
|
18
|
-
*
|
18
|
+
* __apply__<br>
|
19
19
|
reads the zool.conf and distributes the keys to the servers specified in the configuration file. <br>
|
20
20
|
|
21
21
|
The zool.conf
|
@@ -40,11 +40,12 @@ The zool.conf describes which keys should be deployed to which servers. It suppo
|
|
40
40
|
user = adminuser
|
41
41
|
|
42
42
|
The members are specified as the name of the keyfile containing the key, without the succeeding .pub extension.
|
43
|
-
A _group_ groups several keys, a _role_ groups several _servers_. A server, well, is a single server. (
|
43
|
+
A _group_ groups several keys, a _role_ groups several _servers_. A server, well, is a single server. (__Note__: you can have servers in several groups and even in an additional server directive at once)
|
44
44
|
Roles and servers can have multiple _keys_. The keys can be supplied like in the _group_ directive or if you want to reference to a groups keys, by prepending a _&_ (if you would want to reference the group _devs_ you would use _&devs_).
|
45
|
-
You can specify the user/password to use to connect to servers /
|
45
|
+
You can optionally specify the user/password to use to connect to servers/roles. If those values aren't configured, it defaults to root for the user and an empty password/tries to authenticate with the current users ssh key.
|
46
46
|
|
47
|
-
|
47
|
+
__NOTE__
|
48
|
+
Currently the first appearance of a server in the key file sets its user/password. So it is not possible to have multiple key configurations with a different user for a single server. That might change soon!
|
48
49
|
|
49
50
|
Security?
|
50
51
|
----------
|
@@ -81,12 +82,16 @@ __Feature Todos__
|
|
81
82
|
* generating the config from a serverpool / hostfile is pretty dump at the moment. is doesn't use the groups and roles directives, instead stupidly adds server directives with the appropriate keys. That could be made smarter...
|
82
83
|
* if keys are in subfolders, the subfolders could automatically act as usable groups, with the folder name as reference
|
83
84
|
|
84
|
-
|
85
|
+
Developing
|
86
|
+
==========
|
85
87
|
|
86
|
-
|
88
|
+
Bundler
|
89
|
+
-------
|
90
|
+
|
91
|
+
To get a working development/testing setup you can use bundler to fetch all the dependencies. Just `gem install bundler` and `gem bundle` in the checkout directory afterwards. Be sure to use the executables (rake, cucumber, ...) from the bundler_bin directory instead your regular versions.
|
87
92
|
|
88
93
|
Running the tests
|
89
|
-
|
94
|
+
-----------------
|
90
95
|
|
91
96
|
To run the cucumber features you need to have an ssh server running on your machine and your own public key in your authorized_keys file.
|
92
97
|
The tests use your authorized_keys file only to login to _localhost_ and fake authorized_keys and key files for testing.
|
data/Rakefile
CHANGED
@@ -25,16 +25,13 @@ begin
|
|
25
25
|
s.email = "paukul@gmail.com"
|
26
26
|
s.homepage = "http://github.com/paukul/zool"
|
27
27
|
s.authors = ["Pascal Friederich"]
|
28
|
-
s.version = ["0.1.
|
28
|
+
s.version = ["0.1.1"]
|
29
29
|
s.files.exclude 'vendor', 'spec', 'features', '.gitignore', 'Gemfile'
|
30
30
|
s.test_files.include 'features/**/*'
|
31
31
|
s.test_files.exclude 'features/tmp'
|
32
32
|
s.add_dependency 'net-scp', '>=1.0.2'
|
33
33
|
s.add_dependency 'net-ssh', '>=2.0.17'
|
34
|
-
s.add_dependency 'net-scp', '>=1.0.2'
|
35
|
-
s.add_dependency 'net-ssh', '>=2.0.17'
|
36
34
|
s.add_dependency 'treetop', '>=1.4.3'
|
37
|
-
s.add_dependency 'polyglot', '>=0.2.9'
|
38
35
|
s.add_dependency 'highline', '>=1.5.1'
|
39
36
|
|
40
37
|
s.add_development_dependency 'builder', '>=2.1.2'
|
data/Readme.md
CHANGED
@@ -8,14 +8,14 @@ The command-line client
|
|
8
8
|
|
9
9
|
the command-line client currently supports 3 commands:
|
10
10
|
|
11
|
-
*
|
11
|
+
* __fetch__<br>
|
12
12
|
fetches the authorized_keys files from a file (defaults to /etc/hosts) or a list of hosts (see zool -h for more info), splits them up, removes duplicates and saves them to a .pub file in the keys (will be configurable... later...) directory.
|
13
13
|
It tries to generate the name of the keyfile by parsing the key for a someuser@somehost value at the end of the key. It only uses the someuser value to generate the keyfile name. That may become configurable later
|
14
14
|
You can specify a user / password for the fetch and setup tasks. See zool -h for details.
|
15
|
-
*
|
15
|
+
* __setup__<br>
|
16
16
|
this task creates the keys directory, fetches the keys and naively creates a simple version of a zool.conf. That will experience some overhaul for sure because it is only capable to create server directives for every server and isn't smart enough to group keys.
|
17
17
|
You can specify a user / password for the fetch and setup tasks. See zool -h for details.
|
18
|
-
*
|
18
|
+
* __apply__<br>
|
19
19
|
reads the zool.conf and distributes the keys to the servers specified in the configuration file. <br>
|
20
20
|
|
21
21
|
The zool.conf
|
@@ -40,11 +40,12 @@ The zool.conf describes which keys should be deployed to which servers. It suppo
|
|
40
40
|
user = adminuser
|
41
41
|
|
42
42
|
The members are specified as the name of the keyfile containing the key, without the succeeding .pub extension.
|
43
|
-
A _group_ groups several keys, a _role_ groups several _servers_. A server, well, is a single server. (
|
43
|
+
A _group_ groups several keys, a _role_ groups several _servers_. A server, well, is a single server. (__Note__: you can have servers in several groups and even in an additional server directive at once)
|
44
44
|
Roles and servers can have multiple _keys_. The keys can be supplied like in the _group_ directive or if you want to reference to a groups keys, by prepending a _&_ (if you would want to reference the group _devs_ you would use _&devs_).
|
45
|
-
You can specify the user/password to use to connect to servers /
|
45
|
+
You can optionally specify the user/password to use to connect to servers/roles. If those values aren't configured, it defaults to root for the user and an empty password/tries to authenticate with the current users ssh key.
|
46
46
|
|
47
|
-
|
47
|
+
__NOTE__
|
48
|
+
Currently the first appearance of a server in the key file sets its user/password. So it is not possible to have multiple key configurations with a different user for a single server. That might change soon!
|
48
49
|
|
49
50
|
Security?
|
50
51
|
----------
|
@@ -81,12 +82,16 @@ __Feature Todos__
|
|
81
82
|
* generating the config from a serverpool / hostfile is pretty dump at the moment. is doesn't use the groups and roles directives, instead stupidly adds server directives with the appropriate keys. That could be made smarter...
|
82
83
|
* if keys are in subfolders, the subfolders could automatically act as usable groups, with the folder name as reference
|
83
84
|
|
84
|
-
|
85
|
+
Developing
|
86
|
+
==========
|
85
87
|
|
86
|
-
|
88
|
+
Bundler
|
89
|
+
-------
|
90
|
+
|
91
|
+
To get a working development/testing setup you can use bundler to fetch all the dependencies. Just `gem install bundler` and `gem bundle` in the checkout directory afterwards. Be sure to use the executables (rake, cucumber, ...) from the bundler_bin directory instead your regular versions.
|
87
92
|
|
88
93
|
Running the tests
|
89
|
-
|
94
|
+
-----------------
|
90
95
|
|
91
96
|
To run the cucumber features you need to have an ssh server running on your machine and your own public key in your authorized_keys file.
|
92
97
|
The tests use your authorized_keys file only to login to _localhost_ and fake authorized_keys and key files for testing.
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: zool
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Pascal Friederich
|
@@ -12,26 +12,6 @@ cert_chain: []
|
|
12
12
|
date: 2010-01-06 00:00:00 +01:00
|
13
13
|
default_executable: zool
|
14
14
|
dependencies:
|
15
|
-
- !ruby/object:Gem::Dependency
|
16
|
-
name: net-scp
|
17
|
-
type: :runtime
|
18
|
-
version_requirement:
|
19
|
-
version_requirements: !ruby/object:Gem::Requirement
|
20
|
-
requirements:
|
21
|
-
- - ">="
|
22
|
-
- !ruby/object:Gem::Version
|
23
|
-
version: 1.0.2
|
24
|
-
version:
|
25
|
-
- !ruby/object:Gem::Dependency
|
26
|
-
name: net-ssh
|
27
|
-
type: :runtime
|
28
|
-
version_requirement:
|
29
|
-
version_requirements: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
31
|
-
- - ">="
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: 2.0.17
|
34
|
-
version:
|
35
15
|
- !ruby/object:Gem::Dependency
|
36
16
|
name: net-scp
|
37
17
|
type: :runtime
|
@@ -62,16 +42,6 @@ dependencies:
|
|
62
42
|
- !ruby/object:Gem::Version
|
63
43
|
version: 1.4.3
|
64
44
|
version:
|
65
|
-
- !ruby/object:Gem::Dependency
|
66
|
-
name: polyglot
|
67
|
-
type: :runtime
|
68
|
-
version_requirement:
|
69
|
-
version_requirements: !ruby/object:Gem::Requirement
|
70
|
-
requirements:
|
71
|
-
- - ">="
|
72
|
-
- !ruby/object:Gem::Version
|
73
|
-
version: 0.2.9
|
74
|
-
version:
|
75
45
|
- !ruby/object:Gem::Dependency
|
76
46
|
name: highline
|
77
47
|
type: :runtime
|