74 lines
		
	
	
	
		
			2.8 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
			
		
		
	
	
			74 lines
		
	
	
	
		
			2.8 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
| 
 | |
| Typical File Paths
 | |
| ==================
 | |
| 
 | |
| Here we'll describe some typical locations and filenames for config.
 | |
| 
 | |
| 
 | |
| App-Wide
 | |
| --------
 | |
| 
 | |
| Every app will need at least one config file.  The convention is to name this
 | |
| file ``rattail.conf`` and place it directly in your app dir, e.g.
 | |
| ``/srv/envs/poser/app/rattail.conf``
 | |
| 
 | |
| Many apps will benefit from having multiple config files, primarily for the
 | |
| sake of organization and "separation of concerns".  A robust app with several
 | |
| features then might have the following, all in its app dir:
 | |
| 
 | |
| ``rattail.conf`` is considered the "core" config file for the app, which means
 | |
| that no matter how you run the app, this file should be (in)directly referenced
 | |
| somehow, so that it affects the runtime behavior.
 | |
| 
 | |
| ``quiet.conf`` is meant to be used for ad-hoc app commands which you run from
 | |
| the console.  It is a thin wrapper around ``rattail.conf`` and merely tries to
 | |
| cut down on some of the output (logging) "noise" from commands.
 | |
| 
 | |
| ``cron.conf`` is also a thin wrapper, which cuts down on command output "noise"
 | |
| and uses a custom logging file.
 | |
| 
 | |
| ``web.conf`` is meant to be used by the standard web app only; it defines the
 | |
| config needed to run the web app and uses a custom logging file.
 | |
| 
 | |
| ``webapi.conf`` is meant to be used by the web API only; it defines the config
 | |
| needed to run the web API and uses a custom logging file.
 | |
| 
 | |
| ``datasync.conf`` is meant to be used only by the ``datasync`` commands; it
 | |
| defines the config needed to run datasync and uses a custom logging file.
 | |
| 
 | |
| ``filemon.conf`` is meant to be used only by the ``filemon`` commands; it
 | |
| defines the config needed to run filemon and uses a custom logging file.
 | |
| 
 | |
| ``bouncer.conf`` is meant to be used only by the ``bouncer`` commands; it
 | |
| defines the config needed to run bouncer and uses a custom logging file.
 | |
| 
 | |
| ``mailmon.conf`` is meant to be used only by the ``mailmon`` commands; it
 | |
| defines the config needed to run mailmon and uses a custom logging file.
 | |
| 
 | |
| 
 | |
| .. _machine-wide-config:
 | |
| 
 | |
| Machine-Wide
 | |
| ------------
 | |
| 
 | |
| If you have several apps running on a given machine, you may wish to share some
 | |
| "common" config among all the apps.  If so you can make a "machine-wide" config
 | |
| file to store that common config.
 | |
| 
 | |
| The convention here is to place the file at ``/etc/rattail/rattail.conf``
 | |
| although you could do whatever you like.
 | |
| 
 | |
| 
 | |
| .. _site-wide-config:
 | |
| 
 | |
| Site-Wide
 | |
| ---------
 | |
| 
 | |
| This is similar to the machine-wide scenario, but if you have multiple
 | |
| *machines* which run apps, you may wish to share the common config in such a
 | |
| way that all machines could access it.  We call this a "site-wide" config file.
 | |
| 
 | |
| How exactly you go about making this file available is beyond our scope here,
 | |
| but a hint is to use Samba/CIFS.  True location of the file would be anywhere
 | |
| you like, on whichever machine you elected to be the provider of this common
 | |
| config.
 | 
