[horde] Runtime configuration switching

Kevin M. Myer kevin_myer at iu13.org
Mon Sep 26 15:03:50 PDT 2005


Quoting Lennon Day-Reynolds <lennon at reed.edu>:

> I've made some headway on a one-off, hackish solution to this problem for our
> environment here, but since I can't believe I'm the first to need 
> this kind of
> functionality, I wanted to poll the group to see what solutions other Horde
> admins and hackers have used to address this issue. It seems to me that the
> dev/test/publish cycle for most sites could be sped up significantly 
> with some
> sort of runtime configuration switching available across the Horde codebase.

Managing multiple installs is a big deal for me (I have not only multiple
versions, but also multiple sites), and I'd agree - you're definitely not the
first to be thinking about this situation.  My current methodology is to
maintain multiple codebases and use a sort of a golden master install with
close to pristine code and customized configs as the source for any changes
that are unique for each install.  Its not elegant to manage, at best, and
sloppy at worst and I'd love to see a way to do a s/One\ site/Another\ site/
flip-a-switch and all relevant configs are changed, or have it strictly be
based on the hostname requested..

One application I manage that has multiple audiences/versions uses 
shell scripts
and environment variables to point everything to the right
directories/versions.  Its not exactly elegant but it mostly works.  So maybe
some PHP code to do some setting of HORDE_BASE, based on the virtual host
requested, or creating subdirectories in each config directory, for each
different version/site installed.

So you'd end up with something like:

horde/
     head
     framework-3
     rc

Request for head.example.com would use the head directory, etc.

Then, if you wanted to maintain multiple environments within a release, you
could do something like:

config/
      environment1
      environment2

With config files inside each environment directory.  And then some way to tie
an environment to a virtual host.

So essentially, a way to switch to a version/release, and a way to 
switch to an
environment/site within a release..

Kevin
-- 
Kevin M. Myer
Senior Systems Administrator
Lancaster-Lebanon Intermediate Unit 13  http://www.iu13.org




More information about the horde mailing list