Storage Plugins

Metronome has an API to build custom storage plugin backends, this page won’t detail out the API itself but how to correctly configure the the backend since I seem to get a lot of questions about it.

All configuration directives are per-host, and will perhaps require to be placed into the VirtualHost section and not the Global one, this is a list provided with examples:

  • default_storage: this option takes a string as argument and will allow to specify the default fallback storage in case per-plugin storage backends are specified. Example: default_storage = “internal”
  • storage: this option takes either a string or table as argument, if a string this will work like the above, if a table in tandem with default_storage it allows specifying multiple backends per plugin. Example: storage = { mam = “sql”, pep = “sql” } (this sets SQL as storage for both the PEP and Message Archive Management modules, while rest shall fallback on internal, if default_storage = “internal” is set)