PHPackages                             aurabx/harmony-examples - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. aurabx/harmony-examples

ActiveLibrary

aurabx/harmony-examples
=======================

Example templates for Harmony/Runbeam

0.13.0(3mo ago)019MITShell

Since Dec 6Pushed 3mo agoCompare

[ Source](https://github.com/aurabx/harmony-examples)[ Packagist](https://packagist.org/packages/aurabx/harmony-examples)[ RSS](/packages/aurabx-harmony-examples/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (5)Dependencies (1)Versions (18)Used By (0)

Harmony Examples
================

[](#harmony-examples)

Example pipeline configurations and templates for [Harmony/Runbeam](https://runbeam.cloud), demonstrating healthcare data integration patterns including FHIR, DICOM, DICOMweb, and JMIX.

What are these pipelines?
-------------------------

[](#what-are-these-pipelines)

Harmony Examples contains 17 ready-to-use pipeline configurations that demonstrate Harmony's core capabilities. Each example includes a complete pipeline definition with middleware configuration, backend setup, and comprehensive documentation. Examples are organized by use case:

- **Basic Patterns**: HTTP proxying, echo endpoints, content-type handling
- **Healthcare Integration**: FHIR, DICOM, DICOMweb, JMIX
- **Data Transformation**: JOLT-based transformations, format conversion
- **Security**: Authentication, authorization, rate limiting, access control

How to add these pipelines to your Harmony instance
---------------------------------------------------

[](#how-to-add-these-pipelines-to-your-harmony-instance)

Each pipeline example can be used as a starting point for your own deployments. To use any example:

1. Copy the pipeline directory to your Harmony configuration directory
2. Review the example's README.md for specific setup instructions
3. Customize configuration files for your environment
4. Deploy using your preferred method

For detailed instructions on adding and managing pipelines, see the [Adding Pipelines guide](https://docs.runbeam.io/harmony/guides/adding-pipelines).

### Creating Pipelines from Templates

[](#creating-pipelines-from-templates)

Runbeam provides a template system for easily creating pipelines. Templates can contain:

- **Single pipeline templates**: A template that creates one pipeline configuration
- **Multiple pipeline templates**: A template that creates multiple related pipelines at once

To create a pipeline from a template in Runbeam:

1. Navigate to the Templates section
2. Select a template
3. For single-pipeline templates: Click "Create Pipeline"
4. For multi-pipeline templates: Click "Create Pipeline" to create individual pipelines, or "Create All Pipelines" to create them all at once
5. Review the created pipelines and customize as needed

#### Defining Multiple Pipelines in a Template

[](#defining-multiple-pipelines-in-a-template)

If you're creating a template with multiple related pipelines (e.g., a checkout flow with separate pipelines for checkout creation, payment processing, and order confirmation), use the `files` configuration in your template definition:

```
{
  "my-multi-pipeline-template": {
    "name": "Multi-Pipeline Template",
    "description": "Template with multiple related pipelines",
    "files": [
      "my-template/pipelines/pipeline-one.toml",
      "my-template/pipelines/pipeline-two.toml",
      "my-template/pipelines/pipeline-three.toml"
    ],
    "type": "pipeline",
    "prerequisites": [],
    "tags": []
  }
}
```

Single-pipeline templates continue to work with the `file` configuration:

```
{
  "my-single-pipeline-template": {
    "name": "Single Pipeline Template",
    "description": "Simple single pipeline template",
    "file": "my-template/pipelines/pipeline.toml",
    "type": "pipeline",
    "prerequisites": [],
    "tags": []
  }
}
```

About Harmony and Runbeam
-------------------------

[](#about-harmony-and-runbeam)

**Harmony** is a high-performance API gateway and proxy runtime built in Rust, designed for healthcare data integration, protocol translation, and advanced middleware processing.

**Runbeam** provides the cloud platform and ecosystem for deploying and managing Harmony instances.

- [Harmony Documentation](https://docs.runbeam.io/harmony)
- [Runbeam Cloud](https://runbeam.io)
- [GitHub Repository](https://github.com/runbeam/harmony)

---

Overview
--------

[](#overview)

This repository contains example pipelines that showcase Harmony's capabilities for:

- **Healthcare Protocol Integration**: FHIR, DICOM, DICOMweb, JMIX
- **HTTP Proxying &amp; API Gateway**: REST API proxying with authentication and transformation
- **Data Transformation**: JOLT-based JSON transformations
- **Security**: Authentication, authorization, rate limiting, IP filtering
- **Content Type Support**: JSON, XML, CSV, form data, multipart, binary

Pipeline Examples
-----------------

[](#pipeline-examples)

### HTTP API Gateway Patterns

[](#http-api-gateway-patterns)

- **basic-echo** - Simple echo service for testing request/response flow
- **http-external** - HTTP proxy with external backend and access control
- **http-internal** - HTTP proxy restricted to internal networks
- **http-http** - Comprehensive HTTP proxy with combined security policies
- **http3-backend** - HTTP to HTTP/3 backend proxy (QUIC outbound)
- **http3-listener** - HTTP/3 to HTTP backend proxy (QUIC inbound)
- **http-file-upload** - HTTP file upload handling with storage backend
- **http-with-middleware** - Complete middleware chain demonstration

### Data Transformation

[](#data-transformation)

- **transform** - JOLT transform middleware demonstrations
- **soap-to-json** - SOAP/XML to JSON conversion with JWT authentication
- **content-types** - Multi-content-type parsing (JSON, XML, CSV, multipart, binary)
- **webhook** - Webhook middleware for audit trails and event integration

### Healthcare Integration

[](#healthcare-integration)

- **fhir** - FHIR endpoint with authentication and JSON extraction
- **fhir\_dicom** - FHIR ImagingStudy integration with DICOM backend
- **dicom-scp** - DICOM SCP endpoint (C-ECHO, C-FIND, C-GET, C-MOVE)
- **dicom-backend** - HTTP to DICOM protocol translation (SCU)
- **dicomweb** - DICOMweb QIDO-RS and WADO-RS to DIMSE bridge
- **jmix** - High-performance JMIX packaging and delivery

### Specialized Healthcare Systems

[](#specialized-healthcare-systems)

- **au-erequesting** - Australian eRequesting FHIR integration
- **cstore-filesystem** - DICOM C-STORE to filesystem storage

Project Structure
-----------------

[](#project-structure)

```
├── pipelines/           # Pipeline configurations organized by example
│   ├── basic-echo/
│   ├── fhir/
│   ├── dicom-scp/
│   └── ...
├── transforms/          # Shared JOLT transform specifications
├── src/                 # PHP utilities for template loading
├── tests/               # PHPUnit test suite
├── pipelines.json       # Pipeline catalog metadata
└── transforms.json      # Transform catalog metadata

```

Getting Started
---------------

[](#getting-started)

### Prerequisites

[](#prerequisites)

- **Harmony Proxy** (Rust-based runtime)
- **PHP 8.3+** (for template utilities)
- **Composer** (for PHP dependencies)
- **Node.js 18+** (if consuming as an npm package)

### Installation

[](#installation)

#### PHP (Composer)

[](#php-composer)

```
# Install PHP dependencies
composer install

# Run tests
composer test
```

#### Node.js (npm)

[](#nodejs-npm)

```
npm install @aurabx/harmony-examples
```

### Running an Example

[](#running-an-example)

Each pipeline example includes its own configuration and documentation:

```
# Example: Run the basic echo pipeline
cd pipelines/basic-echo
harmony-proxy --config config.toml

# Test it
curl http://127.0.0.1:8080/echo
```

Refer to individual `README.md` files in each pipeline directory for specific instructions.

Template Loading
----------------

[](#template-loading)

### Node.js

[](#nodejs)

```
const examples = require('@aurabx/harmony-examples');

// Catalog objects
console.log(Object.keys(examples.pipelines));

// Resolve a file path inside the installed package
console.log(examples.resolvePipelinePath('basic-echo'));
```

### PHP

[](#php)

The `TemplateLoader` class provides utilities for loading pipeline and transform metadata:

```
use Runbeam\HarmonyExamples\TemplateLoader;

$loader = new TemplateLoader();

// Load pipeline catalog
$pipelines = $loader->loadPipelines();

// Load transform catalog
$transforms = $loader->loadTransforms();
```

Testing
-------

[](#testing)

```
# Run all tests
composer test

# Run specific test
vendor/bin/phpunit tests/TemplateLoaderTest.php
```

Test coverage includes:

- Pipeline metadata validation
- JSON loading and error handling
- Category label formatting
- Required field validation

Configuration Patterns
----------------------

[](#configuration-patterns)

### Networks

[](#networks)

Define network listeners for HTTP, DICOM, or management APIs:

```
[network.default]
enable_wireguard = false

[network.default.http]
bind_address = "0.0.0.0"
bind_port = 8080
```

### Middleware

[](#middleware)

Chain middleware for request/response processing:

```
[pipelines.my_pipeline]
middleware = [
    "auth",
    "transform",
    "passthru"
]
```

### Backends

[](#backends)

Configure target services:

```
[backends.my_backend]
service = "http"
target_ref = "my_target"

[targets.my_target]
connection.host = "api.example.com"
connection.port = 443
connection.protocol = "https"
```

Contributing
------------

[](#contributing)

Contributions welcome! Please:

1. Follow existing configuration patterns
2. Include comprehensive README documentation
3. Add tests for new utilities
4. Update `pipelines.json` metadata

License
-------

[](#license)

MIT License - see LICENSE file for details

Support
-------

[](#support)

- **Documentation**: [Harmony Docs](https://docs.runbeam.cloud)
- **Issues**: [GitHub Issues](https://github.com/runbeam/harmony-examples/issues)
- **Email**:

###  Health Score

33

—

LowBetter than 75% of packages

Maintenance80

Actively maintained with recent releases

Popularity6

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity33

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~3 days

Total

17

Last Release

105d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/996e93220fb89bfaaa8bafad3ec296da3e6bb40acfcc2701fc8a7ed491848885?d=identicon)[xtfer](/maintainers/xtfer)

---

Top Contributors

[![xtfer](https://avatars.githubusercontent.com/u/40190?v=4)](https://github.com/xtfer "xtfer (66 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/aurabx-harmony-examples/health.svg)

```
[![Health](https://phpackages.com/badges/aurabx-harmony-examples/health.svg)](https://phpackages.com/packages/aurabx-harmony-examples)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
