CLI Reference #

XPro provides a unified command-line interface. The xpro binary dispatches to component binaries that must be in the same directory or in PATH.

Commands #

xpro <command> [flags]
CommandDescription
processorProcess XML files (oneshot or daemon mode)
fwatchStart the file watcher daemon
xmlgenGenerate XML test files
statusStart the status tracker service
retryStart the retry processor service
dbcheckTest database connectivity
format / fmtFormat and query XML, HTML, or JSON
config initGenerate default configuration files
versionDisplay version, edition, and license status
helpShow help

Processor #

Oneshot Mode #

Process a directory of XML files and exit:

xpro processor --mode oneshot --input /data/xpro/batch/

Daemon Mode #

Run as a background service, listening for NATS messages:

xpro processor --mode daemon --config /etc/xpro/config.yml

Database Check #

Verify database connectivity before starting:

xpro dbcheck

File Watcher #

Start the file watcher daemon:

xpro fwatch --config /etc/xpro/watcher-config.yml

The watcher monitors sourceDir, batches files by threshold or time, and publishes events to NATS.

XML Generator #

Generate test XML files for validation:

xpro xmlgen --count 500 --output /data/xpro/incoming/

Formatter #

Format or query structured data:

xpro format --input file.xml
xpro fmt --input data.json

Config Init #

Generate default configuration files:

xpro config init                         # Processor config
xpro config init --watcher               # File watcher config
xpro config init --force                 # Overwrite existing
xpro config init --output /tmp/my.yml    # Custom output path

Help and Man Pages #

XPro includes built-in help and POSIX-compliant man pages.

Inline Help #

xpro --help
xpro processor --help
xpro fwatch --help

Man Pages #

Man pages are installed to /usr/share/man/man1/:

man xpro

The man pages cover all commands, flags, configuration file format, and environment variables.

FHS and POSIX Compliance #

XPro follows the Filesystem Hierarchy Standard (FHS) and POSIX conventions:

ConventionImplementation
Binary location/opt/xpro/bin/ with /usr/bin/xpro symlink
Configuration/opt/xpro/etc/ with /etc/xpro symlink
Logs/opt/xpro/var/log/ with /var/log/xpro symlink
Man pages/opt/xpro/share/man/man1/ with standard symlink
PID/runtime/opt/xpro/var/run/
Exit codesStandard POSIX exit codes (0 = success, 1 = error)
SignalsHandles SIGTERM/SIGINT for graceful shutdown

Enterprise vs Trial #

XPro uses an edition-based licensing model accessible via the CLI.

Check Current Status #

xpro version

This displays:

  • Version number
  • Edition (Free or Enterprise)
  • Build commit and date
  • Trial days remaining (if in trial)
  • License status (if licensed)

Trial Mode #

  • 15-day free trial starts automatically on first run
  • No registration or license key required to start
  • Trial state is stored locally at /opt/xpro/data/.xpro.state
  • Trial is bound to the machine ID and cannot be transferred
  • The CLI displays remaining days on each startup
XPro v1.0.13 (Free Edition)
Trial: 14 days remaining

Licensed Mode #

After trial expiration, a license file is required at /opt/xpro/etc/license.key (or set via XPRO_LICENSE_PATH environment variable).

XPro v1.0.13 (Enterprise Edition)
License: Valid — Expires 2027-01-15
Customer: Acme Corp

Edition Comparison #

FeatureFreeEnterprise
XML processingYesYes
File watcherYesYes
PostgreSQL supportYesYes
Oracle Database supportYes
Status trackerYes
Retry processorYes
Audit loggingYes
SSO (SAML/OIDC)Yes
SupportCommunity (GitHub Issues)Priority support

For Enterprise licensing, contact info@bluefunda.com.

Environment Variables #

VariableDescription
XPRO_LICENSE_PATHOverride default license file location
XPRO_DB_HOSTDatabase host
XPRO_DB_PORTDatabase port
XPRO_DB_NAMEDatabase name
XPRO_DB_USERDatabase username
XPRO_DB_PASSDatabase password
XPRO_NATS_URLNATS server URL
XPRO_NATS_CREDSPath to NATS credentials file

Next Steps #