Skip to content

S14.10: Custom-SD integrator guide + example/BDD #549

Description

@DavidCozens

Parent epic: #64

Context

The user-facing payoff of the foundation wave: document and demonstrate authoring a
custom SD element with the new safe API, and lock the escape behaviour with an
oracle round-trip BDD (the PARAM-VALUE escape-rules BDD originally deferred from
S07.04 #68).

What changes

  • Flesh out docs/structured-data.md into a full integrator guide: implement
    Format(base, element), register the SD in Config.Sd[], custom SD-ID
    name@enterprise + enterprise-number registration guidance, value escaping +
    streaming, the JSON-in-value pattern, fail-loud name validation.
  • Add a worked custom SD (BDD target and/or example) that emits a custom
    element including a value containing each of ", \, ] and/or a JSON blob.
  • Oracle round-trip BDD: drive custom-SD values (and software/swVersion)
    containing each escapable char through syslog-ng and assert the decoded value
    round-trips byte-for-byte.

Acceptance criteria

  • docs/structured-data.md is a complete custom-SD integrator guide.
  • A worked custom-SD example exists and is built + tested.
  • The oracle BDD asserts the escape round-trip for ", \, ] in a custom-SD
    value through the real syslog-ng oracle.

Out of scope

  • Per-message SD attachment via SolidSyslogMessage (E14's later wave).

Areas affected

docs/structured-data.md, Bdd/ (feature + step definitions + a custom-SD target),
example wiring, Tests/Bdd/ if applicable.

Metadata

Metadata

Assignees

No one assigned

    Labels

    storyStory issue

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions