Expanding on the example I gave earlier of Firefox's usage.
Almost all of my company's "business logic" is contained in scripts, with are partitioned by customer, by customer area of business and so on. These days they'd probably be described as report generation, but there's a lot of fancy calculation involved with data pivoting and so on.
On each server, there is a .ini file. This contains a general section with filesystem volume serial numbers etc. (to make sure that files can't be moved around unintentionally) and a flag indicating whether this is a live or standby system.
This also indicates the location of the database server, and of various other servers which are checked regularly (DNS, email, router and so on) so that operational problems can sound an alert.
There is then a per-customer section, which indicates what database on the PostgreSQL server is dedicated to that customer, the names of the tables in that database, and so on.
Everything else is contained in database tables, including scripts which are read and executed directly.
The result of this layout is that everything that is structured- indexed by customer, site, date and so on- is in the database, while the master unstructured stuff is in the .ini file.
This has worked well for 20+ years. In particular, since the schedulers are based on database tables they can be edited remotely... the major change that I do want to get in is using Postgres's asynchronous notification facility to broadcast updates.
MarkMLl