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

Reply via email to