Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 9 additions & 2 deletions apidef/oas/schema/x-tyk-api-gateway.json
Original file line number Diff line number Diff line change
Expand Up @@ -1687,8 +1687,15 @@
"items": {"type": "string"}
},
"jtiValidation": {
"type": "array",
"items": {"type": "string"}
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
}
},
"required": [
"enabled"
]

Check failure on line 1698 in apidef/oas/schema/x-tyk-api-gateway.json

View check run for this annotation

probelabs / Visor: dependency

architecture Issue

The schema change for `jtiValidation` from an array to an object directly impacts downstream projects that consume or manage Tyk's OpenAPI API Definitions. This change requires coordinated updates in `tyk-operator`, `tyk-sink` (MDCB), and potentially the Tyk Developer Portal, which are not referenced in this PR.
Raw output
This PR should be linked to corresponding PRs in the affected downstream repositories to ensure a safe, non-breaking release. Specifically:

1.  **`tyk-operator`**: The `ApiDefinition` CRD schema must be updated to reflect `jtiValidation` as an object with a required `enabled` boolean property. Without this, Kubernetes API server validation will reject API definitions using this feature.
2.  **`tyk-sink` (MDCB) / Tyk Dashboard**: The component that generates the API definitions (typically the Dashboard) must be updated to produce the new object format. `tyk-sink` must be able to handle this change, and a migration path for existing API definitions may be needed to avoid breaking older gateways during a rolling update.
3.  **`portal`**: The UI for configuring API definitions must be updated to present a boolean toggle for `jtiValidation.enabled` instead of an input for an array of strings.

Please ensure these dependencies are addressed and linked before this change is merged.

Check failure on line 1698 in apidef/oas/schema/x-tyk-api-gateway.json

View check run for this annotation

probelabs / Visor: connectivity

architecture Issue

This schema change is a breaking change for the MDCB data pipeline. The Tyk Dashboard, which acts as the source of truth for API Definitions in an MDCB setup, may be generating definitions based on the old, incorrect schema. `tyk-sink` would then propagate these invalid definitions, causing parsing failures at the gateway.
Raw output
Ensure a coordinated update is made in the Tyk Dashboard to generate API definitions compliant with this corrected schema. This change must be synchronized across the Dashboard, `tyk-sink`, and Gateway releases to prevent data corruption.

Check warning on line 1698 in apidef/oas/schema/x-tyk-api-gateway.json

View check run for this annotation

probelabs / Visor: connectivity

architecture Issue

The schema change for `jtiValidation` directly impacts the Tyk Developer Portal's UI for designing OAS-based APIs. Any UI component that rendered an input field for an array based on the previous schema will now be incorrect and needs to be updated.
Raw output
Notify the Tyk Developer Portal team to update the API designer UI. The UI should be changed to render a boolean toggle/checkbox for the `enabled` property inside the `jtiValidation` object, reflecting the new schema.
},

Check notice on line 1699 in apidef/oas/schema/x-tyk-api-gateway.json

View check run for this annotation

probelabs / Visor: quality

testing Issue

The modification of the `jtiValidation` schema is not accompanied by tests to validate the new structure. While the change itself is correct, adding tests that consume and validate against this schema would ensure its integrity and prevent future regressions.
Raw output
Consider adding a unit test that loads a sample API definition using the new `jtiValidation` object structure and validates it against the updated schema. This test should cover both a valid case (e.g., `"jtiValidation": { "enabled": true }`) and an invalid case where the required `enabled` property is missing.
"allowedSubjects": {
"type": "array",
Expand Down
13 changes: 9 additions & 4 deletions apidef/oas/schema/x-tyk-api-gateway.strict.json
Original file line number Diff line number Diff line change
Expand Up @@ -1776,10 +1776,15 @@
}
},
"jtiValidation": {
"type": "array",
"items": {
"type": "string"
}
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
}
},
"required": [
"enabled"
]

Check failure on line 1787 in apidef/oas/schema/x-tyk-api-gateway.strict.json

View check run for this annotation

probelabs / Visor: dependency

architecture Issue

The schema change for `jtiValidation` in the strict schema has the same downstream impact as the non-strict schema. It requires coordinated updates in `tyk-operator`, `tyk-sink`, and the Tyk Developer Portal.
Raw output
Please refer to the suggestion for `x-tyk-api-gateway.json`. All downstream dependencies that use the API Definition schema must be updated to handle this structural change.

Check failure on line 1787 in apidef/oas/schema/x-tyk-api-gateway.strict.json

View check run for this annotation

probelabs / Visor: connectivity

architecture Issue

The change to the `jtiValidation` schema from an array to an object is a breaking change for the `tyk-operator`'s `ApiDefinition` Custom Resource Definition (CRD). The operator relies on this schema for validation, and the structural change will cause validation failures for users managing OAS APIs via Kubernetes.
Raw output
A corresponding pull request must be created for the `tyk-operator` repository to update its `ApiDefinition` CRD schema to match this change. The release of this gateway update must be coordinated with the operator update.
},
"allowedSubjects": {
"type": "array",
Expand Down
Loading