Download the PHP package aurabx/harmony-dsl without Composer
On this page you can find all versions of the php package aurabx/harmony-dsl. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download aurabx/harmony-dsl
More information about aurabx/harmony-dsl
Files in aurabx/harmony-dsl
Package harmony-dsl
Short Description TOML Schema DSL definitions for Harmony Proxy configuration files
License MIT
Homepage https://github.com/aurabx/harmony-dsl
Informations about the package harmony-dsl
Harmony Configuration Schema DSL
Installation
PHP (Composer)
Install via Composer:
Rust (Cargo)
Add to your Cargo.toml:
Usage
PHP
The package provides TOML schema definitions as data files. Access them directly from your PHP application:
Rust
The schema files are embedded as string constants in the crate:
Quick Start
This directory contains the TOML Schema DSL definitions for Harmony Proxy configuration files. These schemas enable cross-language validation between Rust (harmony-proxy) and PHP (Runbeam Cloud API).
Files
| File | Purpose |
|---|---|
dsl.md |
DSL specification and field reference |
harmony-config-schema.toml |
Schema for main config files (config.toml) |
harmony-pipeline-schema.toml |
Schema for pipeline files (pipelines/*.toml) |
harmony-remote-ingress-schema.toml |
Schema for remote ingress catalogues shared between gateways |
harmony-schema-guide.md |
Implementation guide and API design implications |
What is the Schema DSL?
The Schema DSL is a declarative language written in TOML that describes:
- Configuration file structure (tables, fields, types)
- Validation rules (required fields, enums, ranges)
- Default values and conditional requirements
- Documentation (descriptions for every element)
Why Use a DSL?
- Single Source of Truth - One schema definition used by both Rust and PHP
- Automatic Validation - Catch config errors before deployment
- API Contract - Defines what the Runbeam Cloud API needs to store/serve
- Code Generation - Generate structs, DTOs, and templates from schemas
- Documentation - Schema includes human-readable descriptions
Key Concepts
Config Hierarchy
Harmony uses a two-level configuration system:
Pattern Matching
Tables with wildcard names match multiple instances:
This is crucial for dynamic configurations where users can define multiple networks, pipelines, endpoints, etc.
How This Guides API Design
Data Model
The schemas define what the Runbeam Cloud API needs to store in the database:
Example Schema Definition
This defines:
- A required
[proxy]table - A required
idfield (string) - An optional
log_levelfield (string, defaults to "error", must be one of 5 values)