[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[buckminster-dev] settings working proposal
|
In response to bug #168190
There's an immediate need for site credential management for those
buckminster resources - cquery, rmap - behind protected URLs (http auth
basic, for example). But perhaps the scope could be broadened to
general configuration management. So I'd like to begin discussion and
think through some use cases for this.
I can see this broken into two parts: GUI and headless.
On the GUI side, there's already the preferences panel. Credential
management would easily fit into that and take advantage of resources
available through eclipse - preferences store and keyring. New
credentials could be added on-the-fly or at any time - similar to how
subclipse, cvs, etc work now.
On the headless site, AFAICT there is no configuration file, just
command line options. So here's where we could potentially broaden the
scope of a settings file to allow for all the options outside of
credentials - the existing command line options, some or all of the
options available in the GUI preferences, interactivity. Being in
headless mode, this configuration file would be best suited in text
(xml). Where do we put this headless configuration file?
${user.dir}/.buckminster/headless.xml
So now one potential issue becomes apparent: I have two configuration
files in two different places. In my particular use case I primarily
will use buckminster headless in continuous integration. Those
settings, atleast the credentials piece, will be very different than
what I store on my developer box. In any case, I think if a button were
added to the GUI to generate a headless.xml that most problems would be
taken care of. It would be a nice template to start out with anyway.
I don't know how eclipse headless works now WRT cvs, svn, etc tools and
credentials. What I am thinking is that buckminster would pass them the
credential information they need to access a resource instead of
configuring each tool individually. This would of course be optional.
In headless mode, I mentioned interactivity. What this means is whether
or not buckminster will try to interact with you, for example to obtain
a user/pass. This could be a command line option as well.
I have been unable to locate any useful information on the keyring
capabilities and API. If anyone has any pointers, I would greatly
appreciate it.
As a starting point for an xml schema...
<buckminster>
<interactive>true</interactive>
<logging>
<level>debug</level>
<eclipse level="warn" trap="false"/>
</logging>
<site>
<!-- this the url a cquery or a component reader could match on -->
<url>http://foo.com/private/repos</url>
<username>jim</username>
<password>bob</username>
</site>
</buckminster>
Thanks,
Robert Dale