Skip to main content

[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


Back to the top