<br><br><div class="gmail_quote">On 10 July 2012 21:45, <span dir="ltr"><<a href="mailto:bnewbold@robocracy.org" target="_blank">bnewbold@robocracy.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Spoke with James and a few others here at the OpenITP event, notes and a rought plan are below. Some of this feels like reinventing the wheel; a future/mature implementation might use:<br>
<br>
D-Bus for message passing, PolicyKit for access control, Augeas for<br>
read/write<br>
<br>
or<br>
<br>
building off ubus (IPC from OpenWrt) and netif (network interface<br>
configuration from OpenWrt), extending with augeas configuration<br>
<br>
or<br>
<br>
libassuan (from GPG) to handle narrow scope trusted IPC<br>
<br>
But for now i'm just going to bang something out so that plinth can use the python-augeas interface through an access controlled unix domain pipe.<br>
<br>
------------------------------<u></u>------------------------------<u></u>-----------------<br>
<br>
requirements/compromises:<br>
- scope of configuration middleware is "regular" system files, mostly in /etc<br>
(no user/identity management)<br>
- files should be edited "in place"<br>
- local changes should be respected<br>
- single root/wheel permissions level for reading, writing, and applying changes<br>
- configuration "versioning" taken as a seperate problem from editing<br>
- "client code" (aka plinth) is responsible for semantic/logical validation,<br>
and service restarts<br>
<br>
new program: "exmachina: hand of root"<br>
configuration management daemon which runs with root permissions,<br>
listens on a unix domain socket with access controlled by filesystem<br>
permissions. uses a very simple api to provide access to augeas<br>
configuration file editing and service restarts.<br>
<br>
plinth/apache, running not-as-root, is passed access at startup (ENV vars?<br>
file handle pass?)<br>
<br>
single-thread, serializes edits<br>
<br>
simple, written in python (for now), including python "client library"<br>
which replicates python-augeas interface<br>
<br>
extra features (somedaymaybe):<br>
general purpose ncurses, gui, or web interface<br>
no-downtime reloads of daemon via HUP (a la nginx)<br>
fine-grain ACL<br>
dpkg installation<br>
general purpose features: process execution, package installation, file<br>
read/write<br></blockquote><div><br>BTW I came across this bootstrap 2 based admin console for sale for $20 lately<br><br><a href="http://wbpreview.com/previews/WB00U99JJ/">http://wbpreview.com/previews/WB00U99JJ/</a><br>
<br>Perhaps some ideas for jazzing up plinth?<br> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
-bryan<br>
<br>
______________________________<u></u>_________________<br>
Freedombox-discuss mailing list<br>
<a href="mailto:Freedombox-discuss@lists.alioth.debian.org" target="_blank">Freedombox-discuss@lists.<u></u>alioth.debian.org</a><br>
<a href="http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/freedombox-discuss" target="_blank">http://lists.alioth.debian.<u></u>org/cgi-bin/mailman/listinfo/<u></u>freedombox-discuss</a><br>
</blockquote></div><br>