Skip to main content

Module rules

Module rules 

Source
Expand description

Declarative rule engine for semantic validation.

Defines best-practice warnings via simple condition expressions (equality checks, comparisons, null checks, contains) evaluated against YAML data.

§Rule format (YAML)

rules:
  - id: k8s/replicas-1
    condition: '$.spec.replicas == 1'
    severity: warning
    message: 'replicas=1 — consider >=2 for high availability'

§Example

use devops_validate::rules::{load_builtin_rules, load_rules_for_type};
use serde_json::json;

let engine = load_builtin_rules();
let data = json!({ "spec": { "replicas": 1 } });
let diagnostics = engine.evaluate(&data);
assert!(!diagnostics.is_empty());

Re-exports§

pub use engine::Rule;
pub use engine::RuleCondition;
pub use engine::RuleEngine;
pub use loader::load_builtin_rules;
pub use loader::load_rules_for_type;

Modules§

engine
Rule engine for evaluating semantic validation rules
loader
Rule loader for built-in and custom rules