aboutsummaryrefslogtreecommitdiffstats
path: root/README
blob: a32c938469ec85aab5e84c69a74dbfdefab57b75 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
                                 _     _             
   _____  ___ __ ___   __ _  ___| |__ (_)_ __   __ _ 
  / _ \ \/ / '_ ` _ \ / _` |/ __| '_ \| | '_ \ / _` |
 |  __/>  <| | | | | | (_| | (__| | | | | | | | (_| |
  \___/_/\_\_| |_| |_|\__,_|\___|_| |_|_|_| |_|\__,_|
                                                     
                                 by the hand of root

### Status

Basic server and client functionality implemented. Crude, and far more simple
than it may appear or the length of code would imply.

Features:
* shared secret key process/privilage seperation
* call augeas API: match, set, setm, get, save, move, insert, remove
* call init.d service scripts: status, start, stop, restart

TODO:
* add --group argument, chgrp, and 0660 permissions on socket file
* add apt-get package installation/removal methods
* add/handle one or two common non-augeas configuration methods (eg, timezone?)
* use /var/lib/exmachina/<something> as socket instead of /tmp/exmachina.sock?

### Dependancies (server)

* augeas configuration editing library
* python-augeas wrapper for augeas
* bjsonrpc python library

On debian (wheezy) try:

  $ sudo apt-get install augeas-tools python-bjsonrpc python-augeas

### Dependancies (client)

* bjsonrpc

On debian (wheezy) try:

  $ sudo apt-get install bjsonrpc

### License

exmachina.py is GPLv3