Introduction to Duro's Config System
Evolution of Duro's Configuration
Duro started as an "out of the box" PLM solution that worked well for hardware teams transitioning from spreadsheets. However, as organizations scaled and required deeper customization, we recognized the need for a more flexible approach. Instead of maintaining hard-coded rules, we developed a powerful configuration system that puts control in our users' hands.
The YAML-Based Configuration
Our "YAML all the things" philosophy enables extensive customization while maintaining Duro's core value of simplicity. Using YAML's human-readable format, you can configure:
Category definitions and specifications
Data validation rules
Custom revision and status workflows
Configurable part numbering schemes
Change order validation and approval flows
Event-driven notifications and webhooks
And more...
# Example: Simple category definition
categories:
- code: "920"
type: ASSEMBLY
name: Cable Assembly
specs:
- name: Length
type: string
required: true
validation:
pattern: "^\\d+(\\.\\d+)?\\s*(mm|m)$"
Why YAML?
We chose YAML for its:
Readability: Clean, intuitive syntax that's easy to understand
Accessibility: Approachable for both technical and non-technical users
Flexibility: Supports complex configurations without overwhelming complexity
Industry adoption: Widely used in tools like GitHub Actions and Kubernetes
Our configuration system draws inspiration from proven approaches like GitHub Actions, Render.com Blueprints, and JSON Schema, combining their best aspects into a cohesive configuration definition system for your product data.
Getting Started
If you're new to YAML, we recommend these resources:
The following sections will guide you through configuring various aspects of your Duro environment, starting with the Category Registry.
Last updated