Skip to content

Add NGINX Gateway Fabric compatibility#3709

Open
hunterx-code wants to merge 4 commits into
pluralsh:masterfrom
hunterx-code:compat/nginx-gateway-fabric
Open

Add NGINX Gateway Fabric compatibility#3709
hunterx-code wants to merge 4 commits into
pluralsh:masterfrom
hunterx-code:compat/nginx-gateway-fabric

Conversation

@hunterx-code

Copy link
Copy Markdown
Contributor

Summary

  • Add NGINX Gateway Fabric to the compatibility matrix.
  • Add a scraper for the official NGINX Gateway Fabric technical specifications table.
  • Include the OCI chart metadata and default controller/data-plane images for the parsed releases.

Sources:

Test Plan

Test environment: not deployed; compatibility data-only change.

  • Ran the scraper against the upstream technical specifications table.
  • Ran python -m py_compile utils/compatibility/scrapers/nginx-gateway-fabric.py.
  • Checked manifest, per-app YAML, and aggregate YAML consistency.
  • Ran git diff --check.

Checklist

  • I have added a meaningful title and summary to convey the impact of this PR to a user.
  • If required, I have updated the Plural documentation accordingly.
  • I have added tests to cover my changes.
  • I have deployed the agent to a test environment and verified that it works as expected (required only when changing agent code).

@greptile-apps

greptile-apps Bot commented Jun 12, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR adds NGINX Gateway Fabric to the compatibility matrix, including a new scraper, a per-app YAML file, an entry in the aggregate compatibilities.yaml, and a manifest entry.

  • The scraper parses Kubernetes version ranges from the upstream NGINX documentation Markdown table using well-anchored re.fullmatch patterns, handles the ghcr.io/nginxincghcr.io/nginx registry migration at the correct v1.6.0 boundary, and gracefully falls back to hardcoded image paths when the chart values fetch fails.
  • The generated compatibility data (image registries, kube ranges, chart versions) is consistent across nginx-gateway-fabric.yaml and compatibilities.yaml.

Confidence Score: 5/5

Safe to merge — the change is data-only (new compatibility entries) plus a self-contained scraper; no application logic is modified.

The generated YAML data is consistent across all three output files, the registry boundary logic is correct, and the kube-version parsing uses properly anchored regexes. The one minor robustness gap (no guard against empty kube lists in the scraper) does not affect the already-generated static data being merged.

No files require special attention.

Important Files Changed

Filename Overview
utils/compatibility/scrapers/nginx-gateway-fabric.py New scraper for NGINX Gateway Fabric; regex-based kube version parsing is correct; registry boundary logic for nginxinc/nginx org split is accurate; no warning emitted when _parse_kube_versions returns [] for an unrecognised format.
static/compatibilities/nginx-gateway-fabric.yaml New per-app compatibility file; image registries correctly use ghcr.io/nginxinc for v1.x<1.6 and ghcr.io/nginx for v1.6+/v2.x; data is consistent with compatibilities.yaml.
static/compatibilities.yaml Adds nginx-gateway-fabric block; content mirrors nginx-gateway-fabric.yaml; metadata and version entries are consistent.
static/compatibilities/manifest.yaml Adds nginx-gateway-fabric to the manifest names list in alphabetical order; no issues.

Reviews (3): Last reviewed commit: "Fix NGINX Gateway Fabric legacy registry" | Re-trigger Greptile

Comment thread utils/compatibility/scrapers/nginx-gateway-fabric.py
Comment thread utils/compatibility/scrapers/nginx-gateway-fabric.py Outdated
@hunterx-code

Copy link
Copy Markdown
Contributor Author

@greptileai review

Comment thread utils/compatibility/scrapers/nginx-gateway-fabric.py
@hunterx-code

Copy link
Copy Markdown
Contributor Author

@greptileai review

@hunterx-code hunterx-code force-pushed the compat/nginx-gateway-fabric branch from 4795c6b to 25d9df3 Compare June 18, 2026 06:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant