On Tue, 2012-10-02 at 19:34 -0400, Paul Belanger wrote: > On 12-10-02 06:39 PM, Mitch Claborn wrote: > > Asterisk 1.8 on Ubuntu > > > > We store the configuration files in CVS. We have a development, QA and > > production environments. 90% of the config files are the same across all > > 3 environments, but there are some differences in sip.conf and > > extensions.conf (environment specific voip providers and/or > > analog/digital lines). I'd like to be able to use the same config files > > in CVS and have the differences resolved at run time, based on host name > > of the asterisk server. > > > > Any ideas how to do this? > > > > I looked at STS, but it appears to be Mac only. > > > > One idea would be to use something like > > > > #include sip-$$$hostname$$$.conf > > > > and then use sed or similar in the startup script to replace > > $$$hostname$$$ with the actual host name. Then each host/environment > > would have it's own include file as needed. > > > > Another idea would be to write a simple perl or other program to > > pre-process the files and put some markers in the files themselves. > > ; onlyif host=abc > > ; /onlyif > > The pre-processor would delete lines between the tags that didn't match > > the currently running host. > > > If you are going to astricon you'll want to show up for my talk. This > is basically what Leif and I will be talking about. > > I use puppet to help manage our 3 environments (test, stage and > production). Along side it I use a the following configuration setup[1] > plus some Debian packaging scripts[2]. > > With this, I can quickly spin up instances which are provisioned to a > base. Then, depending on puppet manifests[3] for each node, it defines > how the system is then provisioned. > > If more per-site settings are required, I'll roll them into Debian > packages (we use Ubuntu 12.04) and have each site subscribe to a > customer repo. > > [1] > https://github.com/kickstandproject/asterisk/tree/master/debian/ast_config > [2] > https://github.com/kickstandproject/astricon-2012-presentation/tree/master/debian > [3] > https://github.com/kickstandproject/puppet-modules/tree/master/modules/asterisk/manifests
This is how we do it as well, and then control the puppet config files using GIT Ish -- Ishfaq Malik <[email protected]> Department: VOIP Support Company: Packnet Limited t: +44 (0)845 004 4994 f: +44 (0)161 660 9825 e: [email protected] w: http://www.pack-net.co.uk Registered Address: PACKNET LIMITED, 2A ENTERPRISE HOUSE, LLOYD STREET NORTH, MANCHESTER SCIENCE PARK, MANCHESTER, M156SE COMPANY REG NO. 04920552 -- _____________________________________________________________________ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- New to Asterisk? Join us for a live introductory webinar every Thurs: http://www.asterisk.org/hello asterisk-users mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
