zool 0.1.0 → 0.1.1
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.
- 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
|