/scripts-pony

Scripts hostname management interface

Primary LanguagePython

=== Checking Out ===

You can get your own clone of Scripts Pony by doing
"git clone /mit/pony/scripts-pony.git".  Doing this in 
~/Scripts/turbogears/ is mildly recommended.

=== Install ===

To install your own instance of Scripts Pony, make a symbolic link
from somewhere in your web_scripts directory to your checkout of
Scripts Pony, and make sure that daemon.scripts can read everything
in your checkout and write the data directory.

ln -s "$(pwd)/web_scripts" ~/web_scripts/pony
add consult
fsr sa . daemon.scripts read
fsr sa data daemon.scripts write

Pony will try to use your username+scripts-pony database on
sql.mit.edu.  Go to sql.mit.edu and create this database, and
be sure the login info in your ~/.my.conf is accurate.

Then ssh into scripts.mit.edu and run:
paster setup-app development.ini

=== Mail and Cron ===

To correctly process incoming mail, you need to be signed up for
mail_scripts and Pony needs the following in ~/mail_scripts/procmailrc:

:0w
* ^Delivered-To:.*pony\+.*@.*
| /mit/locker/Scripts/turbogears/ScriptsPony/handle_mail.py

To periodically check DNS automatically for tickets blocking on DNS,
you need to be signed up for cron_scripts and load a crontab that
contains:

2,17,32,49 * * * * /mit/locker/Scripts/turbogears/ScriptsPony/check_dns.py

=== Authentication and Authorization ===

Scripts Pony authenticates with ~/Private/scripts-pony.keytab,
if that exists.  If not, it uses no authentication (but can still
do reads).

Scripts Pony's LDAP user needs the following ACI on
ou=VirtualHosts,dc=scripts,dc=mit,dc=edu in order to make changes in
LDAP:

(target="ldap:///ou=VirtualHosts,dc=scripts,dc=mit,dc=edu")(targetattr="scriptsVhostDirectory || scriptsVhostAlias")(version 3.0;acl "pony";allow (add, write) userdn="ldap:///uid=daemon/scripts-pony.mit.edu,ou=People,dc=scripts,dc=mit,dc=edu";)

This assumes that the user in LDAP looks like:

dn: uid=daemon/scripts-pony.mit.edu,ou=People,dc=scripts,dc=mit,dc=edu
uid: daemon/scropts-pony.mit.edu
objectClass: account
objectClass: top