Add Tyk Operator compatibility scraper - #3843
Conversation
Soffi AI SummaryThis PR integrates Tyk Operator into the Plural Console's add-on compatibility tracking system. The motivation is to give Console users visibility into which versions of the Tyk Operator (a Kubernetes-native API management operator) are compatible with which Kubernetes versions and Tyk Gateway versions — the same information surfaced for other managed add-ons in the platform. Three coordinated changes accomplish this:
Commits
Updated: 2026-07-13 17:10 UTC |
Greptile SummaryThis PR adds Tyk Operator to the compatibility tracking system, introducing a new YAML data file, registering the operator in the manifest, and providing a Python scraper that merges data from two Tyk documentation sources (the compatibility matrix page and the per-release release notes).
Confidence Score: 4/5Safe to merge; all changes are additive and isolated to the new Tyk Operator entry The scraper's merge loop has one dead code line (redundant requirements reassignment) and silently prefers release-notes kube ranges over the compat table's per-version marks for overlapping versions — neither causes incorrect data today but could confuse future maintenance. Everything else follows the patterns established by other scrapers in the repo. The merge logic in
|
| Filename | Overview |
|---|---|
| utils/compatibility/scrapers/tyk-operator.py | New scraper using two data sources (release notes ranges + kube compat table); merge logic silently discards the compat table's per-version Y/N data when a version already exists from release notes, and the requirements update in that same branch is a no-op |
| static/compatibilities/tyk-operator.yaml | New compatibility file with 13 version entries; versions 1.2.0–1.4.x have empty requirements (consistent with available Tyk Gateway compatibility data); no chart_version fields yet (expected to be populated when the scraper runs in full) |
| static/compatibilities/manifest.yaml | Adds tyk-operator as the first entry in the manifest names list |
Reviews (1): Last reviewed commit: "Add Tyk Operator compatibility scraper" | Re-trigger Greptile
| for version_info in parse_kube_compatibility(kube_table, gateway_requirements): | ||
| version = version_info["version"] | ||
| if version in version_map: | ||
| version_map[version]["requirements"] = version_info["requirements"] | ||
| continue | ||
| version_map[version] = version_info |
There was a problem hiding this comment.
Redundant requirements update in merge branch
For versions that appear in both the release notes and the kube compatibility table, version_info["requirements"] is always gateway_requirements.get(version, []) — the same value already stored when the entry was created from the release notes (line 161). The update on line 169 is therefore always a no-op, which may mask the fact that the kube version list from the compatibility table is silently discarded for these versions. A comment explaining that release-notes kube ranges take precedence over the compat table's per-version Y/N marks would help future maintainers understand this intentional priority, especially since the release-notes ranges can be broader (e.g., v1.4.2 lists kube 1.35 from a range while the table may show fewer confirmed versions).
|
Hi, this should be ready for review. I addressed the bot feedback by documenting the source-priority behavior in the scraper. Happy to adjust if Tyk Operator is not a good fit for the common compatibility set. |
Summary
Sources
Validation
python -c "import importlib; importlib.import_module('scrapers.tyk-operator').scrape()"python -m py_compile utils/compatibility/scrapers/tyk-operator.pypython -c "import yaml; yaml.safe_load(open('static/compatibilities/tyk-operator.yaml')); yaml.safe_load(open('static/compatibilities/manifest.yaml')); print('yaml ok')"git diff --check