{"id":23999023,"url":"https://github.com/nginx/nginx-gateway-fabric","last_synced_at":"2026-01-31T14:01:06.212Z","repository":{"id":56315408,"uuid":"420195478","full_name":"nginx/nginx-gateway-fabric","owner":"nginx","description":"NGINX Gateway Fabric provides an implementation for the Gateway API using NGINX as the data plane.","archived":false,"fork":false,"pushed_at":"2026-01-30T21:06:34.000Z","size":53106,"stargazers_count":936,"open_issues_count":164,"forks_count":168,"subscribers_count":23,"default_branch":"main","last_synced_at":"2026-01-31T13:03:03.435Z","etag":null,"topics":["gateway-api","k8s","kubernetes","nginx"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nginx.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2021-10-22T17:59:15.000Z","updated_at":"2026-01-31T06:44:28.000Z","dependencies_parsed_at":"2023-12-20T06:35:50.340Z","dependency_job_id":"bba9be5f-33f6-4908-9667-455677f6d63d","html_url":"https://github.com/nginx/nginx-gateway-fabric","commit_stats":{"total_commits":1435,"total_committers":44,"mean_commits":32.61363636363637,"dds":0.5282229965156795,"last_synced_commit":"fe90ff119cd1c359ea24ed878fde071cee5bef02"},"previous_names":["nginxinc/nginx-gateway-fabric","nginxinc/nginx-kubernetes-gateway","nginx/nginx-gateway-fabric","nginxinc/nginx-gateway-kubernetes"],"tags_count":29,"template":false,"template_full_name":null,"purl":"pkg:github/nginx/nginx-gateway-fabric","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nginx%2Fnginx-gateway-fabric","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nginx%2Fnginx-gateway-fabric/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nginx%2Fnginx-gateway-fabric/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nginx%2Fnginx-gateway-fabric/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nginx","download_url":"https://codeload.github.com/nginx/nginx-gateway-fabric/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nginx%2Fnginx-gateway-fabric/sbom","scorecard":{"id":359514,"data":{"date":"2025-08-18T08:44:33Z","repo":{"name":"github.com/nginx/nginx-gateway-fabric","commit":"94a2edce1df14a7b7c906c812c21243d6488371c"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":8.7,"checks":[{"name":"Maintained","score":10,"reason":"30 commit(s) and 6 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#maintained"}},{"name":"Code-Review","score":10,"reason":"all changesets reviewed","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: RenovateBot: renovate.json:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: jobLevel 'contents' permission set to 'read': .github/workflows/build.yml:26","Info: jobLevel 'contents' permission set to 'read': .github/workflows/ci.yml:219","Warn: jobLevel 'security-events' permission set to 'write': .github/workflows/ci.yml:220","Info: jobLevel 'contents' permission set to 'read': .github/workflows/ci.yml:292","Info: jobLevel 'contents' permission set to 'read': .github/workflows/ci.yml:205","Warn: jobLevel 'security-events' permission set to 'write': .github/workflows/ci.yml:206","Info: jobLevel 'contents' permission set to 'read': .github/workflows/ci.yml:243","Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql-analysis.yml:26","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql-analysis.yml:27","Warn: jobLevel 'security-events' permission set to 'write': .github/workflows/codeql-analysis.yml:28","Info: jobLevel 'packages' permission set to 'read': .github/workflows/codeql-analysis.yml:25","Info: jobLevel 'contents' permission set to 'read': .github/workflows/dependency-review.yml:11","Info: jobLevel 'contents' permission set to 'read': .github/workflows/f5-cla.yml:25","Warn: jobLevel 'statuses' permission set to 'write': .github/workflows/f5-cla.yml:27","Warn: jobLevel 'actions' permission set to 'write': .github/workflows/f5-cla.yml:24","Info: jobLevel 'contents' permission set to 'read': .github/workflows/labeler.yml:11","Info: jobLevel 'contents' permission set to 'read': .github/workflows/nfr.yml:76","Warn: jobLevel 'contents' permission set to 'write': .github/workflows/nfr.yml:179","Info: jobLevel 'contents' permission set to 'read': .github/workflows/nfr.yml:61","Warn: jobLevel 'contents' permission set to 'write': .github/workflows/release-pr.yml:22","Info: jobLevel 'pull-requests' permission set to 'read': .github/workflows/renovate-build.yml:25","Warn: jobLevel 'contents' permission set to 'write': .github/workflows/renovate-build.yml:45","Info: jobLevel 'contents' permission set to 'read': .github/workflows/update-docker-images.yml:85","Warn: jobLevel 'security-events' permission set to 'write': .github/workflows/update-docker-images.yml:86","Warn: jobLevel 'packages' permission set to 'write': .github/workflows/update-docker-images.yml:87","Info: topLevel 'contents' permission set to 'read': .github/workflows/build.yml:21","Info: topLevel 'contents' permission set to 'read': .github/workflows/ci.yml:25","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql-analysis.yml:20","Info: topLevel 'contents' permission set to 'read': .github/workflows/conformance.yml:25","Info: topLevel 'contents' permission set to 'read': .github/workflows/dependency-review.yml:5","Info: topLevel 'contents' permission set to 'read': .github/workflows/f5-cla.yml:17","Info: topLevel 'contents' permission set to 'read': .github/workflows/fossa.yml:13","Info: topLevel 'contents' permission set to 'read': .github/workflows/functional.yml:21","Info: topLevel 'contents' permission set to 'read': .github/workflows/helm.yml:14","Info: topLevel 'contents' permission set to 'read': .github/workflows/labeler.yml:6","Info: topLevel 'contents' permission set to 'read': .github/workflows/lint.yml:20","Info: topLevel 'contents' permission set to 'read': .github/workflows/mend.yml:30","Info: topLevel 'contents' permission set to 'read': .github/workflows/nfr.yml:49","Info: topLevel 'contents' permission set to 'read': .github/workflows/release-pr.yml:16","Info: topLevel 'contents' permission set to 'read': .github/workflows/renovate-build.yml:8","Info: topLevel permissions set to 'read-all': .github/workflows/scorecards.yml:15","Info: topLevel 'contents' permission set to 'read': .github/workflows/stale.yml:7","Info: topLevel 'contents' permission set to 'read': .github/workflows/update-docker-images.yml:22"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"name":"Pinned-Dependencies","score":8,"reason":"dependency not pinned by hash detected -- score normalized to 8","details":["Warn: containerImage not pinned by hash: build/Dockerfile:2","Warn: containerImage not pinned by hash: build/Dockerfile:12","Warn: containerImage not pinned by hash: build/Dockerfile.nginx:7: pin your Docker image by updating nginx:1.29.1-alpine-otel to nginx:1.29.1-alpine-otel@sha256:0836b58c11e126845f71db5a8024e36bf175c773cc3e6f58dc6384e4027f6ee4","Warn: containerImage not pinned by hash: build/Dockerfile.nginxplus:7: pin your Docker image by updating alpine:3.22 to alpine:3.22@sha256:4bcff63911fcb4448bd4fdacec207030997caf25e9bea4045fa6c8c44de311d1","Warn: containerImage not pinned by hash: debug/Dockerfile:4","Warn: containerImage not pinned by hash: debug/Dockerfile:8: pin your Docker image by updating alpine:latest to alpine:latest@sha256:4bcff63911fcb4448bd4fdacec207030997caf25e9bea4045fa6c8c44de311d1","Warn: containerImage not pinned by hash: tests/conformance/Dockerfile:2: pin your Docker image by updating golang:1.25 to golang:1.25@sha256:9e56f0d0f043a68bb8c47c819e47dc29f6e8f5129b8885bed9d43f058f7f3ed6","Warn: containerImage not pinned by hash: tests/framework/crossplane/Dockerfile:2","Warn: containerImage not pinned by hash: tests/framework/crossplane/Dockerfile:13: pin your Docker image by updating alpine to alpine@sha256:4bcff63911fcb4448bd4fdacec207030997caf25e9bea4045fa6c8c44de311d1","Warn: goCommand not pinned by hash: debug/Dockerfile:6","Info:  55 out of  55 GitHub-owned GitHubAction dependencies pinned","Info:  59 out of  59 third-party GitHubAction dependencies pinned","Info:   3 out of  12 containerImage dependencies pinned","Info:   0 out of   1 goCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#vulnerabilities"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: Apache License 2.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"name":"Signed-Releases","score":8,"reason":"5 out of the last 5 releases have a total of 5 signed artifacts.","details":["Info: signed release artifact: nginx-gateway-fabric_2.1.0_checksums.txt.sig: https://github.com/nginx/nginx-gateway-fabric/releases/tag/v2.1.0","Info: signed release artifact: nginx-gateway-fabric_2.0.2_checksums.txt.sig: https://github.com/nginx/nginx-gateway-fabric/releases/tag/v2.0.2","Info: signed release artifact: nginx-gateway-fabric_2.0.1_checksums.txt.sig: https://github.com/nginx/nginx-gateway-fabric/releases/tag/v2.0.1","Info: signed release artifact: nginx-gateway-fabric_2.0.0_checksums.txt.sig: https://github.com/nginx/nginx-gateway-fabric/releases/tag/v2.0.0","Info: signed release artifact: nginx-gateway-fabric_1.6.2_checksums.txt.sig: https://github.com/nginx/nginx-gateway-fabric/releases/tag/v1.6.2","Warn: release artifact v2.1.0 does not have provenance: https://api.github.com/repos/nginx/nginx-gateway-fabric/releases/238689862","Warn: release artifact v2.0.2 does not have provenance: https://api.github.com/repos/nginx/nginx-gateway-fabric/releases/229465315","Warn: release artifact v2.0.1 does not have provenance: https://api.github.com/repos/nginx/nginx-gateway-fabric/releases/224739895","Warn: release artifact v2.0.0 does not have provenance: https://api.github.com/repos/nginx/nginx-gateway-fabric/releases/222140987","Warn: release artifact v1.6.2 does not have provenance: https://api.github.com/repos/nginx/nginx-gateway-fabric/releases/203950339"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"name":"Packaging","score":10,"reason":"packaging workflow detected","details":["Info: Project packages its releases by way of GitHub Actions.: .github/workflows/ci.yml:129"],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#packaging"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"Branch-Protection","score":5,"reason":"branch protection is not maximal on development and all release branches","details":["Info: 'allow deletion' disabled on branch 'main'","Info: 'allow deletion' disabled on branch 'release-2.1'","Info: 'allow deletion' disabled on branch 'release-2.0'","Info: 'allow deletion' disabled on branch 'release-1.6'","Info: 'allow deletion' disabled on branch 'release-1.5'","Info: 'allow deletion' disabled on branch 'release-1.4'","Info: 'allow deletion' disabled on branch 'release-1.3'","Info: 'allow deletion' disabled on branch 'release-1.2'","Info: 'allow deletion' disabled on branch 'release-1.1'","Info: 'allow deletion' disabled on branch 'release-1.0'","Info: 'allow deletion' disabled on branch 'release-0.6'","Info: 'allow deletion' disabled on branch 'release-0.5'","Info: 'allow deletion' disabled on branch 'release-0.4'","Info: 'allow deletion' disabled on branch 'release-0.3'","Info: 'allow deletion' disabled on branch 'release-0.2'","Info: 'allow deletion' disabled on branch 'release-0.1'","Info: 'force pushes' disabled on branch 'main'","Info: 'force pushes' disabled on branch 'release-2.1'","Info: 'force pushes' disabled on branch 'release-2.0'","Info: 'force pushes' disabled on branch 'release-1.6'","Info: 'force pushes' disabled on branch 'release-1.5'","Info: 'force pushes' disabled on branch 'release-1.4'","Info: 'force pushes' disabled on branch 'release-1.3'","Info: 'force pushes' disabled on branch 'release-1.2'","Info: 'force pushes' disabled on branch 'release-1.1'","Info: 'force pushes' disabled on branch 'release-1.0'","Info: 'force pushes' disabled on branch 'release-0.6'","Info: 'force pushes' disabled on branch 'release-0.5'","Info: 'force pushes' disabled on branch 'release-0.4'","Info: 'force pushes' disabled on branch 'release-0.3'","Info: 'force pushes' disabled on branch 'release-0.2'","Info: 'force pushes' disabled on branch 'release-0.1'","Warn: 'branch protection settings apply to administrators' is disabled on branch 'main'","Warn: 'branch protection settings apply to administrators' is disabled on branch 'release-2.1'","Warn: 'branch protection settings apply to administrators' is disabled on branch 'release-2.0'","Warn: 'branch protection settings apply to administrators' is disabled on branch 'release-1.6'","Warn: 'branch protection settings apply to administrators' is disabled on branch 'release-1.5'","Warn: 'branch protection settings apply to administrators' is disabled on branch 'release-1.4'","Warn: 'branch protection settings apply to administrators' is disabled on branch 'release-1.3'","Warn: 'branch protection settings apply to administrators' is disabled on branch 'release-1.2'","Warn: 'branch protection settings apply to administrators' is disabled on branch 'release-1.1'","Warn: 'branch protection settings apply to administrators' is disabled on branch 'release-1.0'","Warn: 'branch protection settings apply to administrators' is disabled on branch 'release-0.6'","Warn: 'branch protection settings apply to administrators' is disabled on branch 'release-0.5'","Warn: 'branch protection settings apply to administrators' is disabled on branch 'release-0.4'","Warn: 'branch protection settings apply to administrators' is disabled on branch 'release-0.3'","Warn: 'branch protection settings apply to administrators' is disabled on branch 'release-0.2'","Warn: 'branch protection settings apply to administrators' is disabled on branch 'release-0.1'","Warn: 'stale review dismissal' is disabled on branch 'main'","Warn: 'stale review dismissal' is disabled on branch 'release-2.1'","Warn: 'stale review dismissal' is disabled on branch 'release-2.0'","Warn: 'stale review dismissal' is disabled on branch 'release-1.6'","Warn: 'stale review dismissal' is disabled on branch 'release-1.5'","Warn: 'stale review dismissal' is disabled on branch 'release-1.4'","Warn: 'stale review dismissal' is disabled on branch 'release-1.3'","Warn: 'stale review dismissal' is disabled on branch 'release-1.2'","Warn: 'stale review dismissal' is disabled on branch 'release-1.1'","Warn: 'stale review dismissal' is disabled on branch 'release-1.0'","Warn: 'stale review dismissal' is disabled on branch 'release-0.6'","Warn: 'stale review dismissal' is disabled on branch 'release-0.5'","Warn: 'stale review dismissal' is disabled on branch 'release-0.4'","Warn: 'stale review dismissal' is disabled on branch 'release-0.3'","Warn: 'stale review dismissal' is disabled on branch 'release-0.2'","Warn: 'stale review dismissal' is disabled on branch 'release-0.1'","Info: required approving review count is 2 on branch 'main'","Info: required approving review count is 2 on branch 'release-2.1'","Info: required approving review count is 2 on branch 'release-2.0'","Info: required approving review count is 2 on branch 'release-1.6'","Info: required approving review count is 2 on branch 'release-1.5'","Info: required approving review count is 2 on branch 'release-1.4'","Info: required approving review count is 2 on branch 'release-1.3'","Info: required approving review count is 2 on branch 'release-1.2'","Info: required approving review count is 2 on branch 'release-1.1'","Info: required approving review count is 2 on branch 'release-1.0'","Info: required approving review count is 2 on branch 'release-0.6'","Info: required approving review count is 2 on branch 'release-0.5'","Info: required approving review count is 2 on branch 'release-0.4'","Info: required approving review count is 2 on branch 'release-0.3'","Info: required approving review count is 2 on branch 'release-0.2'","Info: required approving review count is 2 on branch 'release-0.1'","Info: codeowner review is required on branch 'main'","Info: codeowner review is required on branch 'release-2.1'","Info: codeowner review is required on branch 'release-2.0'","Info: codeowner review is required on branch 'release-1.6'","Info: codeowner review is required on branch 'release-1.5'","Info: codeowner review is required on branch 'release-1.4'","Info: codeowner review is required on branch 'release-1.3'","Info: codeowner review is required on branch 'release-1.2'","Info: codeowner review is required on branch 'release-1.1'","Info: codeowner review is required on branch 'release-1.0'","Info: codeowner review is required on branch 'release-0.6'","Info: codeowner review is required on branch 'release-0.5'","Info: codeowner review is required on branch 'release-0.4'","Info: codeowner review is required on branch 'release-0.3'","Info: codeowner review is required on branch 'release-0.2'","Info: codeowner review is required on branch 'release-0.1'","Warn: 'last push approval' is disabled on branch 'main'","Warn: 'last push approval' is disabled on branch 'release-2.1'","Warn: 'last push approval' is disabled on branch 'release-2.0'","Warn: 'last push approval' is disabled on branch 'release-1.6'","Warn: 'last push approval' is disabled on branch 'release-1.5'","Warn: 'last push approval' is disabled on branch 'release-1.4'","Warn: 'last push approval' is disabled on branch 'release-1.3'","Warn: 'last push approval' is disabled on branch 'release-1.2'","Warn: 'last push approval' is disabled on branch 'release-1.1'","Warn: 'last push approval' is disabled on branch 'release-1.0'","Warn: 'last push approval' is disabled on branch 'release-0.6'","Warn: 'last push approval' is disabled on branch 'release-0.5'","Warn: 'last push approval' is disabled on branch 'release-0.4'","Warn: 'last push approval' is disabled on branch 'release-0.3'","Warn: 'last push approval' is disabled on branch 'release-0.2'","Warn: 'last push approval' is disabled on branch 'release-0.1'","Info: 'up-to-date branches' is required to merge on branch 'main'","Info: 'up-to-date branches' is required to merge on branch 'release-2.1'","Info: 'up-to-date branches' is required to merge on branch 'release-2.0'","Info: 'up-to-date branches' is required to merge on branch 'release-1.6'","Info: 'up-to-date branches' is required to merge on branch 'release-1.5'","Info: 'up-to-date branches' is required to merge on branch 'release-1.4'","Info: 'up-to-date branches' is required to merge on branch 'release-1.3'","Info: 'up-to-date branches' is required to merge on branch 'release-1.2'","Info: 'up-to-date branches' is required to merge on branch 'release-1.1'","Info: 'up-to-date branches' is required to merge on branch 'release-1.0'","Info: 'up-to-date branches' is required to merge on branch 'release-0.6'","Info: 'up-to-date branches' is required to merge on branch 'release-0.5'","Info: 'up-to-date branches' is required to merge on branch 'release-0.4'","Info: 'up-to-date branches' is required to merge on branch 'release-0.3'","Info: 'up-to-date branches' is required to merge on branch 'release-0.2'","Info: 'up-to-date branches' is required to merge on branch 'release-0.1'","Info: status check found to merge onto on branch 'main'","Info: status check found to merge onto on branch 'release-2.1'","Info: status check found to merge onto on branch 'release-2.0'","Info: status check found to merge onto on branch 'release-1.6'","Info: status check found to merge onto on branch 'release-1.5'","Info: status check found to merge onto on branch 'release-1.4'","Info: status check found to merge onto on branch 'release-1.3'","Info: status check found to merge onto on branch 'release-1.2'","Info: status check found to merge onto on branch 'release-1.1'","Info: status check found to merge onto on branch 'release-1.0'","Info: status check found to merge onto on branch 'release-0.6'","Info: status check found to merge onto on branch 'release-0.5'","Info: status check found to merge onto on branch 'release-0.4'","Info: status check found to merge onto on branch 'release-0.3'","Info: status check found to merge onto on branch 'release-0.2'","Info: status check found to merge onto on branch 'release-0.1'","Info: PRs are required in order to make changes on branch 'main'","Info: PRs are required in order to make changes on branch 'release-2.1'","Info: PRs are required in order to make changes on branch 'release-2.0'","Info: PRs are required in order to make changes on branch 'release-1.6'","Info: PRs are required in order to make changes on branch 'release-1.5'","Info: PRs are required in order to make changes on branch 'release-1.4'","Info: PRs are required in order to make changes on branch 'release-1.3'","Info: PRs are required in order to make changes on branch 'release-1.2'","Info: PRs are required in order to make changes on branch 'release-1.1'","Info: PRs are required in order to make changes on branch 'release-1.0'","Info: PRs are required in order to make changes on branch 'release-0.6'","Info: PRs are required in order to make changes on branch 'release-0.5'","Info: PRs are required in order to make changes on branch 'release-0.4'","Info: PRs are required in order to make changes on branch 'release-0.3'","Info: PRs are required in order to make changes on branch 'release-0.2'","Info: PRs are required in order to make changes on branch 'release-0.1'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#branch-protection"}},{"name":"CI-Tests","score":10,"reason":"30 out of 30 merged PRs checked by a CI test -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}},{"name":"Contributors","score":10,"reason":"project has 8 contributing companies or organizations","details":["Info: found contributions from: apache, apache @anyscale, f5 networks, nginx, nginxinc, nginxinc @nginx, opentracing-contrib, ray-project"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}}]},"last_synced_at":"2025-08-18T10:26:32.127Z","repository_id":56315408,"created_at":"2025-08-18T10:26:32.127Z","updated_at":"2025-08-18T10:26:32.127Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28944789,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-31T13:02:32.153Z","status":"ssl_error","status_checked_at":"2026-01-31T13:00:07.528Z","response_time":128,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["gateway-api","k8s","kubernetes","nginx"],"created_at":"2025-01-07T23:27:22.747Z","updated_at":"2026-01-31T14:01:06.206Z","avatar_url":"https://github.com/nginx.png","language":"Go","funding_links":[],"categories":["Go"],"sub_categories":[],"readme":"[![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/nginx/nginx-gateway-fabric/badge)](https://scorecard.dev/viewer/?uri=github.com/nginx/nginx-gateway-fabric)\n[![Continuous Integration](https://github.com/nginx/nginx-gateway-fabric/actions/workflows/ci.yml/badge.svg)](https://github.com/nginx/nginx-gateway-fabric/actions/workflows/ci.yml)\n[![Go Report Card](https://goreportcard.com/badge/github.com/nginx/nginx-gateway-fabric)](https://goreportcard.com/report/github.com/nginx/nginx-gateway-fabric)\n[![codecov](https://codecov.io/gh/nginx/nginx-gateway-fabric/graph/badge.svg?token=32ULC8F13Z)](https://codecov.io/gh/nginx/nginx-gateway-fabric)\n[![GitHub release (latest SemVer)](https://img.shields.io/github/v/release/nginx/nginx-gateway-fabric?logo=github\u0026sort=semver)](https://github.com/nginx/nginx-gateway-fabric/releases/latest)\n[![Forum](https://img.shields.io/badge/nginx--community--forum-green)](https://community.nginx.org/c/projects/nginx-gateway-fabric/25)\n[![Project Status: Active – The project has reached a stable, usable state and is being actively developed.](https://www.repostatus.org/badges/latest/active.svg)](https://www.repostatus.org/#active)\n\n# NGINX Gateway Fabric\n\nNGINX Gateway Fabric is an open-source project that provides an implementation of\nthe [Gateway API](https://gateway-api.sigs.k8s.io/) using [NGINX](https://nginx.org/) as the data plane. The goal of\nthis project is to implement the core Gateway APIs -- `Gateway`, `GatewayClass`, `HTTPRoute`, `GRPCRoute`, `TCPRoute`, `TLSRoute`,\nand `UDPRoute` -- to configure an HTTP or TCP/UDP load balancer, reverse-proxy, or API gateway for applications running\non Kubernetes.\n\nFor a list of supported Gateway API resources and features, see\nthe [Gateway API Compatibility](https://docs.nginx.com/nginx-gateway-fabric/overview/gateway-api-compatibility/) doc.\n\nLearn about our [design principles](/docs/developer/design-principles.md) and [architecture](https://docs.nginx.com/nginx-gateway-fabric/overview/gateway-architecture/).\n\nNGINX Gateway Fabric uses [NGINX Agent](https://github.com/nginx/agent) to configure NGINX.\n\n## Getting Started\n\n1. [Get started using a kind cluster](https://docs.nginx.com/nginx-gateway-fabric/get-started/).\n2. [Install](https://docs.nginx.com/nginx-gateway-fabric/install/) NGINX Gateway Fabric.\n3. Deploy various [examples](examples).\n4. Follow instructions for common use cases such as [routing](https://docs.nginx.com/nginx-gateway-fabric/traffic-management/) and [securing](https://docs.nginx.com/nginx-gateway-fabric/traffic-security/) traffic, or [monitoring](https://docs.nginx.com/nginx-gateway-fabric//monitoring/) your cluster.\n\nYou can find the comprehensive NGINX Gateway Fabric user documentation on the [NGINX Documentation](https://docs.nginx.com/nginx-gateway-fabric/) website.\n\n## NGINX Gateway Fabric Releases\n\nWe publish NGINX Gateway Fabric releases on GitHub. See\nour [releases page](https://github.com/nginx/nginx-gateway-fabric/releases).\n\nThe latest release is [2.4.0](https://github.com/nginx/nginx-gateway-fabric/releases/tag/v2.4.0).\n\nThe edge version is useful for experimenting with new features that are not yet published in a release. To use, choose\nthe _edge_ version built from the [latest commit](https://github.com/nginx/nginx-gateway-fabric/commits/main)\nfrom the main branch.\n\nThe table below summarizes the options regarding the images, manifests, documentation and examples and gives your links\nto the correct versions:\n\n| Version | Description | Installation Manifests | Documentation and Examples |\n| ------- | ----------- | ---------------------- | -------------------------- |\n| Latest release | For production use | [Manifests](https://github.com/nginx/nginx-gateway-fabric/tree/v2.4.0/deploy). | [Documentation](https://docs.nginx.com/nginx-gateway-fabric). [Examples](https://github.com/nginx/nginx-gateway-fabric/tree/v2.4.0/examples). |\n| Edge | For experimental use and latest features | [Manifests](https://github.com/nginx/nginx-gateway-fabric/tree/main/deploy). | [Examples](https://github.com/nginx/nginx-gateway-fabric/tree/main/examples). |\n\n### Versioning\n\nNGF uses semantic versioning for its releases. For more information, see https://semver.org.\n\n\u003e Major version zero `(0.Y.Z)` is reserved for development, anything MAY change at any time. The public API is not stable.\n\n### Release Planning and Development\n\nThe features that will go into the next release are reflected in the\ncorresponding [milestone](https://github.com/nginx/nginx-gateway-fabric/milestones). Refer to\nthe [Issue Lifecycle](ISSUE_LIFECYCLE.md) document for information on issue creation and assignment to releases.\n\n## Technical Specifications\n\nThe following table lists the software versions NGINX Gateway Fabric supports.\n\n| NGINX Gateway Fabric | Gateway API | Kubernetes | NGINX OSS | NGINX Plus | NGINX Agent |\n|----------------------|-------------|------------|-----------|------------|-------------|\n| Edge                 | 1.4.1       | 1.25+      | 1.29.4    | R36        | v3.6.2      |\n| 2.4.0                | 1.4.1       | 1.25+      | 1.29.4    | R36        | v3.6.2      |\n| 2.3.0                | 1.4.1       | 1.25+      | 1.29.3    | R36        | v3.6.0      |\n| 2.2.2                | 1.3.0       | 1.25+      | 1.29.2    | R35        | v3.6.0      |\n| 2.2.1                | 1.3.0       | 1.25+      | 1.29.2    | R35        | v3.5.0      |\n| 2.2.0                | 1.3.0       | 1.25+      | 1.29.2    | R35        | v3.3.2      |\n| 2.1.4                | 1.3.0       | 1.25+      | 1.29.1    | R35        | v3.3.1      |\n| 2.1.3                | 1.3.0       | 1.25+      | 1.29.1    | R35        | v3.3.1      |\n| 2.1.2                | 1.3.0       | 1.25+      | 1.29.1    | R35        | v3.3.1      |\n| 2.1.1                | 1.3.0       | 1.25+      | 1.29.1    | R35        | v3.2.1      |\n| 2.1.0                | 1.3.0       | 1.25+      | 1.29.1    | R35        | v3.2.1      |\n| 2.0.2                | 1.3.0       | 1.25+      | 1.28.0    | R34        | v3.0.1      |\n| 2.0.1                | 1.3.0       | 1.25+      | 1.28.0    | R34        | v3.0.1      |\n| 2.0.0                | 1.3.0       | 1.25+      | 1.28.0    | R34        | v3.0.0      |\n| 1.6.2                | 1.2.1       | 1.25+      | 1.27.4    | R33        | ---         |\n| 1.6.1                | 1.2.1       | 1.25+      | 1.27.4    | R33        | ---         |\n| 1.6.0                | 1.2.1       | 1.25+      | 1.27.3    | R33        | ---         |\n| 1.5.1                | 1.2.0       | 1.25+      | 1.27.2    | R33        | ---         |\n| 1.5.0                | 1.2.0       | 1.25+      | 1.27.2    | R33        | ---         |\n| 1.4.0                | 1.1.0       | 1.25+      | 1.27.1    | R32        | ---         |\n| 1.3.0                | 1.1.0       | 1.25+      | 1.27.0    | R32        | ---         |\n| 1.2.0                | 1.0.0       | 1.23+      | 1.25.4    | R31        | ---         |\n\n## SBOM (Software Bill of Materials)\n\nWe generate SBOMs for the binaries and the Docker image.\n\n### Binaries\n\nThe SBOMs for the binaries are available in the releases page. The SBOMs are generated\nusing [syft](https://github.com/anchore/syft) and are available in SPDX format.\n\n### Docker Images\n\nThe SBOM for the Docker image is available in\nthe [GitHub Container](https://github.com/nginx/nginx-gateway-fabric/pkgs/container/nginx-gateway-fabric)\nrepository. The SBOM is generated using [syft](https://github.com/anchore/syft) and stored as an attestation in the\nimage manifest.\n\nFor example to retrieve the SBOM for `linux/amd64` and analyze it using [grype](https://github.com/anchore/grype) you\ncan run the following command:\n\n```shell\ndocker buildx imagetools inspect ghcr.io/nginx/nginx-gateway-fabric:edge --format '{{ json (index .SBOM \"linux/amd64\").SPDX }}' | grype\n```\n\n## Troubleshooting\n\nFor troubleshooting help, see the [Troubleshooting](https://docs.nginx.com/nginx-gateway-fabric/troubleshooting/) document.\n\n## Contacts\n\nWe’d like to hear your feedback! If you experience issues with our Gateway Controller, please [open a bug][bug] in\nGitHub. If you have any suggestions or enhancement requests, please [open an idea][idea] on GitHub discussions. You can\ncontact us directly on the [NGINX Community Forum][forum].\n\n[bug]: https://github.com/nginx/nginx-gateway-fabric/issues/new?assignees=\u0026labels=\u0026projects=\u0026template=bug_report.md\u0026title=\n[idea]: https://github.com/nginx/nginx-gateway-fabric/discussions/categories/ideas\n[forum]: https://community.nginx.org/c/projects/nginx-gateway-fabric/25\n\n## Community Meetings\n\nEvery Tuesday at 9:30AM Pacific / 5:30PM GMT\n\nFor the meeting link, updates, agenda, and meeting notes, check the calendar below:\n\n[NGINX Gateway Fabric Meeting Calendar](https://calendar.google.com/calendar/embed?src=901278554a5187740a1cef8c6fd92351eb592550cb5936ba04d318f8859888f4%40group.calendar.google.com\u0026ctz=America%2FLos_Angeles)\n\nIf you have a use case for NGINX Gateway Fabric that the project can't quite meet yet, bugs, problems, success stories, or just want to be more involved with the project, come by and say hi!\n\n## Contributing\n\nPlease read our [Contributing guide](CONTRIBUTING.md) if you'd like to contribute to the project.\n\n## Support and NGINX Plus\n\nIf your team needs dedicated support for NGINX Gateway Fabric in your environment, or you would like to leverage our [advanced NGINX Plus features](https://docs.nginx.com/nginx-gateway-fabric/overview/nginx-plus/), you can reach out [here](https://www.f5.com/content/f5-com/en_us/products/get-f5).\n\nTo try NGINX Gateway Fabric with NGINX Plus, you can start your free [30-day trial](https://www.f5.com/trials), then follow the [installation guide](https://docs.nginx.com/nginx-gateway-fabric/install/helm/) for installing with NGINX Plus.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnginx%2Fnginx-gateway-fabric","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnginx%2Fnginx-gateway-fabric","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnginx%2Fnginx-gateway-fabric/lists"}