How sagahealthcareit/mirthsync works
mirthSync is a command-line tool for synchronizing Mirth Connect and Open Integration Engine configurations with local files and Git. Its main workflow accepts a pull or push request, authenticates to the engine REST API, transfers configuration resources, and can detect orphaned local files or deploy channels after a push. Git operations provide a separate version-control workflow. The excerpts show orchestration and several implementation layers; major resource types and capabilities are also documented in the README, but not all their internal wiring is sampled.
Main entry points: core.clj Operation runner · apis.clj Resource APIs · actions.clj Push and pull · http_client.clj HTTP client
Components 14
CLI workflow
- CLI options
src/mirthsync/cli.clj - Operation runner
src/mirthsync/core.clj - Logging
src/mirthsync/logging.clj
Configuration sync
- Push and pull
src/mirthsync/actions.clj - XML processing
src/mirthsync/xml.clj - Local configuration
src/mirthsync/files.clj - Orphan cleanup
src/mirthsync/actions.clj
Engine integration
- Resource APIs
src/mirthsync/apis.clj - HTTP client
src/mirthsync/http_client.clj - API dispatch
src/mirthsync/interfaces.clj - Channel deployment
src/mirthsync/apis.clj
Version control
- Git commands
src/mirthsync/git.clj
Other components
- Operator
- Mirth / OIE
Connections 16
- Operator → CLI options: sets options
README.md - CLI options → Operation runner: configures
- Operation runner → HTTP client: authenticates
src/mirthsync/core.clj - Operation runner → Resource APIs: preprocesses APIs
src/mirthsync/core.clj - Operation runner → Push and pull: runs transfer
src/mirthsync/core.clj - Push and pull → Local configuration: reads and writes
src/mirthsync/actions.clj - Push and pull → XML processing: serializes
src/mirthsync/actions.clj - Resource APIs → HTTP client: uses requests
src/mirthsync/apis.clj - HTTP client → Mirth / OIE: REST requests
src/mirthsync/http_client.clj - Resource APIs → API dispatch: dispatches resource behavior
src/mirthsync/apis.clj - Resource APIs → Channel deployment: checks and deploys
src/mirthsync/apis.clj - Operation runner → Orphan cleanup: checks after pull
src/mirthsync/core.clj - Orphan cleanup → Local configuration: removes orphaned files
src/mirthsync/actions.clj - Operation runner → Git commands: auto-commits
src/mirthsync/core.clj - Operator → Git commands: runs Git commands
README.md - Mirth / OIE → Resource APIs: provides configurations
README.md