Create a command-line tool that asks a few questions and spits out the following configuration files:
- JSON repository configuration file
- Infinispan configuration file
- JGroups configuration file
The resulting files are almost certainly not usable as-is, but they have the important structure and placeholders for values. Parameters to the tool include:
- Repository name
- JNDI name (if any)
- Workspace names (defaults to "default" only)
- Clustered? If yes, then replicated vs distributed
- Eviction? If so, timeout
- Content storage (list the available choices, or allow entering a custom class name; output would include parameters for some well-known cache stores like JDBC)
- Shared storage (only if REPL or DIST)?
- Write behind (not sure if we should support this, especially if we have a fast-enough cache store)
- Binary storage (local FS, JDBC, Cassandra, MongoDB, ISPN; for ISPN whether shared)
The generated files would contain comments (see
MODE-2082) for other areas, like sequencers, external sources, node types, query indexes, etc.