I think I'm going to start experimenting with using Foolscap for most of the network connections within Buildbot.
http://twistedmatrix.com/trac/wiki/FoolsCap
The capabilities-oriented nature of foolscap would have the following effects on buildbot setup:
- c['bots']: each buildslave would be assigned a name, but not a password. A file would be written (BASEDIR/pburls.txt?) with the PBURL generated for each buildslave. This one string would be given to the buildslave admin instead of the host:port+user+pass tuple
- c['status']: this would also be a generated PBURL, and could easily share the same foolscap port as the buildslaves
- c['debug']: also a generated PBURL
- scheduler.Try_Foolscap: this would use a generated PBURL
The biggest problem with using Foolscap is that I've not yet stabilized the wire protocol in Foolscap, which means that for at least the near future users would be required to upgrade their buildmaster and anything which talked to it in unison.
The biggest benefit to using Foolscap is that all connections would be private and authenticated. A secondary benefit would be that ReconnectingClientFactory for things like status ports would probably work better.