Skip to main content
Applicable to: Users who manage Guardrail policies via GitOps (tfy apply) with the old folded { type, rules: [...] } YAML.

What Is Changing

Starting in v0.179, each guardrail policy is a named gateway-guardrails-config — the same grain as logging configuration: one configuration name, one when block, and the four hook arrays. Previously, all rules lived in a single document:
Now each former rule is its own config (apply separately):

Why This Change

Named configs match how other multi-instance gateway policies work (for example logging). You can create, edit, and delete one policy without rewriting the entire set, and GitOps can own one file per policy.

What You Need to Do

GitOps / tfy apply

  1. For each entry under the old rules[] array, create one YAML file (or one document) with:
    • type: gateway-guardrails-config
    • name: <old rule id>
    • top-level when and the four *_guardrails arrays (not nested under rules)
  2. Remove the folded parent document that only wraps rules: [...].
  3. Apply with tfy apply (each named config is an independent resource).
  4. Prefer copying YAML from the UI (Edit as YAML on a rule) so the shape matches production.

Changes in YAML Schema

when, hook field names (llm_input_guardrails, …), and custom_error_message are unchanged — only the document grain changes.
If you face any issues in the migration, reach out to support@truefoundry.com.