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
--
Paul Belanger | PolyBeacon, Inc.
Jabber: [email protected] | IRC: pabelanger (Freenode)
Github: https://github.com/pabelanger | Twitter:
https://twitter.com/pabelanger
--
_____________________________________________________________________
-- 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