承接 aurabx/harmony-examples 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

aurabx/harmony-examples

Composer 安装命令:

composer require aurabx/harmony-examples

包简介

Example templates for Harmony/Runbeam

README 文档

README

Example pipeline configurations and templates for Harmony/Runbeam, demonstrating healthcare data integration patterns including FHIR, DICOM, DICOMweb, and JMIX.

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

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.

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

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

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.

Overview

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

  • Healthcare Protocol Integration: FHIR, DICOM, DICOMweb, JMIX
  • HTTP Proxying & 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

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

  • 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

  • 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

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

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

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

PHP (Composer)

# Install PHP dependencies
composer install

# Run tests
composer test

Node.js (npm)

npm install @aurabx/harmony-examples

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

Node.js

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

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

# 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

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

Chain middleware for request/response processing:

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

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

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

MIT License - see LICENSE file for details

Support

aurabx/harmony-examples 适用场景与选型建议

aurabx/harmony-examples 是一款 基于 Shell 开发的 Composer 扩展包,目前已累计 19 次下载、GitHub Stars 达 0, 最近一次更新时间为 2025 年 12 月 06 日, 在 PHP 生态内属于活跃度较高的组件。

我们在过去多个企业项目中使用过 aurabx/harmony-examples 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 aurabx/harmony-examples 我们能提供哪些服务?
定制开发 / 二次开发

基于 aurabx/harmony-examples 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 19
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 30
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: Shell

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-12-06