[asterisk-users] Parameterize asterisk config files
Paul Belanger
paul.belanger at polybeacon.com
Tue Oct 2 18:34:07 CDT 2012
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: paul.belanger at polybeacon.com | IRC: pabelanger (Freenode)
Github: https://github.com/pabelanger | Twitter:
https://twitter.com/pabelanger
More information about the asterisk-users
mailing list