Blueprint: System Configuration¶
This guide provides the technical specifications for configuring Ticket Masala's domains, AI engines, and environmental parameters.
Configuration Philosophy¶
Ticket Masala follows the "Configuration-as-Code" doctrine. By defining business logic in YAML and JSON, we ensure that environments are reproducible, auditable, and easy to migrate.
Configuration Mapping¶
The system expects configuration files in the directory defined by the MASALA_CONFIG_PATH environment variable.
config/
├── masala_domains.yaml # Business processes, Terminology, Workflows
├── masala_config.json # Global App Settings, GERDA AI Weights
└── seed_data.json # (Optional) Initial Database Objects
Domain Configuration (masala_domains.yaml)¶
This file governs the "Personality" of your installation.
1. Entity Labeling¶
Customize terminology to fit your vertical.
2. Custom Field Definitions¶
Supported types: text, number, select, date, checkbox.
3. Workflow State Machines¶
Define the valid lifecycle of a work item.
workflow:
states:
- code: "NEW"
name: "Unassigned"
- code: "DONE"
name: "Archived"
transitions:
NEW: ["IN_PROGRESS", "CANCELLED"]
GERDA AI Configuration (masala_config.json)¶
This file tunes the "Intelligence" of the system.
Ranking (WSJF)¶
Dispatching¶
MatrixFactorization: ML-based affinity and skill matching.ZoneBased: Geographic assignment logic.
Environment Variables¶
| Variable | Description | Default |
|---|---|---|
MASALA_CONFIG_PATH |
Path to config directory | /app/config |
DB_PASSWORD |
Encrypted DB connection string | (Empty) |
GATEKEEPER_API_KEY |
Secret for Ingestion API | (Required) |
Validation & Hot-Reload¶
[!TIP] Hot-Reload: By default, Ticket Masala watches for changes to
masala_domains.yaml. Save the file, and the engine will automatically re-compile the rules into Expression Trees.