#  -*- text -*-
#
#
#  $Id: fea11ff8a64abf79d81148b3c2f303abaa53adf8 $
#

#######################################################################
#
#  The goal of the templates is to have common configuration located
#  in this file, and to list only the _differences_ in the individual
#  sections.  This feature is most useful for sections like `clients`
#  where many may be defined, and each one has similar repeated
#  configuration.
#
#  Something similar to templates can be done by putting common
#  configuration into separate files, and using `$INCLUDE file...`,
#  but templates are more flexible, and simpler to understand.  It's also
#  cheaper for the server, because `$INCLUDE` makes a copy of the
#  configuration for inclusion, whereas templates are simply referenced.
#
#  The templates are defined in the `templates` section so that
#  they do not affect the rest of the server configuration. The
#  actual contents of the templates section are other
#  configuration sections that would normally go into the main
#  configuration files.
#
#  Within the main server configuration, a section can reference a
#  template by using `$template name`.
#

#
#  One use case would be if there are multiple instances of the
#  sql module for load balancing or failover.
#  These will typically share many common configuration options
#  which can be set in a template and then that template referred
#  to in each instances of the sql module
#
#	sql sql01 {
#		$template sql-common
#		...
#	}
#	sql sql02 {
#		$template sql-common
#		...
#	}
#
#  In that case the template `sql-common` could be as follows:
#
#sql-common {
#	acct_table = 'radacct'
#	acct_table2 = 'radacct'
#	postauth_table = 'radpostauth'
#	authcheck_table = 'radcheck'
#	groupcheck_table = 'radgroupcheck'
#	authreply_table = 'radreply'
#	groupreply_table = 'radgroupreply'
#	usergroup_table = 'radusergroup'
#	read_groups = yes
#	pool {
#		start = 0
#		min = 1
#		spare = 1
#	}
#}
