Utility SQL scripts for debugging, performance testing, and scenario recreation shouldn't run automatically but should be available in the repository for developers to use when needed.
The optional/sql/ directory holds these scripts separately from
deployment-specific sql/ directories, which are mounted to PostgreSQL's docker-entrypoint-initdb.d. This avoids duplicating utility scripts across deployments whilst keeping them discoverable.
Each script includes a header with compatibility information and usage instructions. Users can either copy files to their deployment's sql/ directory for automatic execution on fresh start, or run them manually against a running database.
Adds JDWP debug agent configuration to all deployment options, exposing
debug ports on localhost (5005 for xmpp1, 5006 for xmpp2, etc.). The
agent runs in non-blocking mode (suspend=n) so containers start normally
without waiting for a debugger - there's no impact on regular usage.
This reduces friction for developers who frequently need to debug
Openfire, eliminating the need to maintain local uncommitted changes
or remember JDWP syntax.
The root README lacked an overview of what each deployment directory
provides, making it harder for new users to choose the right setup
for their testing scenario.
Adds a "Deployment Options" table summarising simple, federation,
cluster, cluster_with_federation, and proxy configurations.
Adds a section to the root README explaining the numeric prefix convention for SQL files (000-, 001-, etc.) and how PostgreSQL executes them alphabetically from /docker-entrypoint-initdb.d.
This helps contributors understand how to add custom SQL scripts whilst ensuring correct execution order relative to the schema initialisation.