Add Tyk Operator compatibility scraper - #3843
Conversation
Soffi AI SummaryThis PR adds Tyk Operator to the Plural Console's compatibility tracking system, enabling users to see which Kubernetes versions and Tyk Gateway versions are compatible with each Tyk Operator release. The work involves three components:
Follow-up commits refined the scraper's source priority logic (release notes over compatibility matrix when versions overlap) and fixed the requirements schema structure to correctly represent Tyk Gateway version constraints as structured objects rather than plain strings. Commits
Updated: 2026-08-17 14: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. |
bc21405 to
2fad841
Compare
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