Skip to content

Commit 96b1cc1

Browse files
authored
Merge branch 'main' into feature/port-parent-ref
2 parents ab49bb6 + ab9c023 commit 96b1cc1

File tree

10 files changed

+59
-166
lines changed

10 files changed

+59
-166
lines changed

.github/workflows/build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,7 @@ jobs:
171171
fail-build: false
172172

173173
- name: Upload scan result to GitHub Security tab
174-
uses: github/codeql-action/upload-sarif@96f518a34f7a870018057716cc4d7a5c014bd61c # v3.29.10
174+
uses: github/codeql-action/upload-sarif@3c3833e0f8c1c83d449a7478aa59c036a9165498 # v3.29.11
175175
continue-on-error: true
176176
with:
177177
sarif_file: ${{ steps.scan.outputs.sarif }}

.github/workflows/nfr.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ jobs:
100100
password: ${{ steps.auth.outputs.access_token }}
101101

102102
- name: Set up Cloud SDK
103-
uses: google-github-actions/setup-gcloud@cb1e50a9932213ecece00a606661ae9ca44f3397 # v2.2.0
103+
uses: google-github-actions/setup-gcloud@26f734c2779b00b7dda794207734c511110a4368 # v3.0.0
104104
with:
105105
project_id: ${{ secrets.GCP_PROJECT_ID }}
106106
install_components: kubectl

.github/workflows/scorecards.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,6 @@ jobs:
6060

6161
# Upload the results to GitHub's code scanning dashboard.
6262
- name: "Upload to code-scanning"
63-
uses: github/codeql-action/upload-sarif@96f518a34f7a870018057716cc4d7a5c014bd61c # v3.29.10
63+
uses: github/codeql-action/upload-sarif@3c3833e0f8c1c83d449a7478aa59c036a9165498 # v3.29.11
6464
with:
6565
sarif_file: results.sarif

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ NGINX Gateway Fabric is an open-source project that provides an implementation o
1313
the [Gateway API](https://gateway-api.sigs.k8s.io/) using [NGINX](https://nginx.org/) as the data plane. The goal of
1414
this project is to implement the core Gateway APIs -- `Gateway`, `GatewayClass`, `HTTPRoute`, `GRPCRoute`, `TCPRoute`, `TLSRoute`,
1515
and `UDPRoute` -- to configure an HTTP or TCP/UDP load balancer, reverse-proxy, or API gateway for applications running
16-
on Kubernetes. NGINX Gateway Fabric supports a subset of the Gateway API.
16+
on Kubernetes.
1717

1818
For a list of supported Gateway API resources and features, see
1919
the [Gateway API Compatibility](https://docs.nginx.com/nginx-gateway-fabric/overview/gateway-api-compatibility/) doc.

charts/nginx-gateway-fabric/README.md

Lines changed: 1 addition & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020
- [Upgrading the CRDs](#upgrading-the-crds)
2121
- [Upgrading the Chart from the OCI Registry](#upgrading-the-chart-from-the-oci-registry)
2222
- [Upgrading the Chart from the Sources](#upgrading-the-chart-from-the-sources)
23-
- [Configure Delayed Termination for Zero Downtime Upgrades](#configure-delayed-termination-for-zero-downtime-upgrades)
2423
- [Uninstalling the Chart](#uninstalling-the-chart)
2524
- [Uninstalling the Gateway Resources](#uninstalling-the-gateway-resources)
2625
- [Configuration](#configuration)
@@ -117,15 +116,10 @@ helm install ngf oci://ghcr.io/nginx/charts/nginx-gateway-fabric --create-namesp
117116

118117
## Upgrading the Chart
119118

120-
> [!NOTE]
121-
>
122-
> See [below](#configure-delayed-termination-for-zero-downtime-upgrades) for instructions on how to configure delayed
123-
> termination if required for zero downtime upgrades in your environment.
124-
125119
### Upgrading the Gateway Resources
126120

127121
Before you upgrade a release, ensure the Gateway API resources are the correct version as supported by the NGINX
128-
Gateway Fabric - [see the Technical Specifications](../../README.md#technical-specifications).:
122+
Gateway Fabric - [see the Technical Specifications](https://github.com/nginx/nginx-gateway-fabric/blob/main/README.md#technical-specifications).:
129123

130124
To upgrade the Gateway CRDs from [the Gateway API repo](https://github.com/kubernetes-sigs/gateway-api), run:
131125

@@ -168,57 +162,6 @@ the release `ngf`, run:
168162
helm upgrade ngf . -n nginx-gateway
169163
```
170164

171-
### Configure Delayed Termination for Zero Downtime Upgrades
172-
173-
To achieve zero downtime upgrades (meaning clients will not see any interruption in traffic while a rolling upgrade is
174-
being performed on NGF), you may need to configure delayed termination on the NGF Pod, depending on your environment.
175-
176-
> [!NOTE]
177-
>
178-
> When proxying Websocket or any long-lived connections, NGINX will not terminate until that connection is closed
179-
> by either the client or the backend. This means that unless all those connections are closed by clients/backends
180-
> before or during an upgrade, NGINX will not terminate, which means Kubernetes will kill NGINX. As a result, the
181-
> clients will see the connections abruptly closed and thus experience downtime.
182-
183-
1. Add `lifecycle` to both the nginx and the nginx-gateway container definition. To do so, update your `values.yaml`
184-
file to include the following (update the `sleep` values to what is required in your environment):
185-
186-
```yaml
187-
nginxGateway:
188-
<...>
189-
lifecycle:
190-
preStop:
191-
exec:
192-
command:
193-
- /usr/bin/gateway
194-
- sleep
195-
- --duration=40s # This flag is optional, the default is 30s
196-
197-
nginx:
198-
<...>
199-
lifecycle:
200-
preStop:
201-
exec:
202-
command:
203-
- /bin/sleep
204-
- "40"
205-
```
206-
207-
2. Ensure the `terminationGracePeriodSeconds` matches or exceeds the `sleep` value from the `preStopHook` (the default
208-
is 30). This is to ensure Kubernetes does not terminate the Pod before the `preStopHook` is complete. To do so,
209-
update your `values.yaml` file to include the following (update the value to what is required in your environment):
210-
211-
```yaml
212-
terminationGracePeriodSeconds: 50
213-
```
214-
215-
> [!NOTE]
216-
>
217-
> More information on container lifecycle hooks can be found in the official
218-
> [kubernetes documentation](https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks) and a detailed
219-
> description of Pod termination behavior can be found in
220-
> [Termination of Pods](https://kubernetes.io/docs/concepts/workloads/Pods/Pod-lifecycle/#Pod-termination).
221-
222165
## Uninstalling the Chart
223166

224167
To uninstall/delete the release `ngf`:

charts/nginx-gateway-fabric/README.md.gotmpl

Lines changed: 1 addition & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
- [Upgrading the CRDs](#upgrading-the-crds)
2020
- [Upgrading the Chart from the OCI Registry](#upgrading-the-chart-from-the-oci-registry)
2121
- [Upgrading the Chart from the Sources](#upgrading-the-chart-from-the-sources)
22-
- [Configure Delayed Termination for Zero Downtime Upgrades](#configure-delayed-termination-for-zero-downtime-upgrades)
2322
- [Uninstalling the Chart](#uninstalling-the-chart)
2423
- [Uninstalling the Gateway Resources](#uninstalling-the-gateway-resources)
2524
- [Configuration](#configuration)
@@ -115,15 +114,10 @@ helm install ngf oci://ghcr.io/nginx/charts/nginx-gateway-fabric --create-namesp
115114

116115
## Upgrading the Chart
117116

118-
> [!NOTE]
119-
>
120-
> See [below](#configure-delayed-termination-for-zero-downtime-upgrades) for instructions on how to configure delayed
121-
> termination if required for zero downtime upgrades in your environment.
122-
123117
### Upgrading the Gateway Resources
124118

125119
Before you upgrade a release, ensure the Gateway API resources are the correct version as supported by the NGINX
126-
Gateway Fabric - [see the Technical Specifications](../../README.md#technical-specifications).:
120+
Gateway Fabric - [see the Technical Specifications](https://github.com/nginx/nginx-gateway-fabric/blob/main/README.md#technical-specifications).:
127121

128122
To upgrade the Gateway CRDs from [the Gateway API repo](https://github.com/kubernetes-sigs/gateway-api), run:
129123

@@ -166,57 +160,6 @@ the release `ngf`, run:
166160
helm upgrade ngf . -n nginx-gateway
167161
```
168162

169-
### Configure Delayed Termination for Zero Downtime Upgrades
170-
171-
To achieve zero downtime upgrades (meaning clients will not see any interruption in traffic while a rolling upgrade is
172-
being performed on NGF), you may need to configure delayed termination on the NGF Pod, depending on your environment.
173-
174-
> [!NOTE]
175-
>
176-
> When proxying Websocket or any long-lived connections, NGINX will not terminate until that connection is closed
177-
> by either the client or the backend. This means that unless all those connections are closed by clients/backends
178-
> before or during an upgrade, NGINX will not terminate, which means Kubernetes will kill NGINX. As a result, the
179-
> clients will see the connections abruptly closed and thus experience downtime.
180-
181-
1. Add `lifecycle` to both the nginx and the nginx-gateway container definition. To do so, update your `values.yaml`
182-
file to include the following (update the `sleep` values to what is required in your environment):
183-
184-
```yaml
185-
nginxGateway:
186-
<...>
187-
lifecycle:
188-
preStop:
189-
exec:
190-
command:
191-
- /usr/bin/gateway
192-
- sleep
193-
- --duration=40s # This flag is optional, the default is 30s
194-
195-
nginx:
196-
<...>
197-
lifecycle:
198-
preStop:
199-
exec:
200-
command:
201-
- /bin/sleep
202-
- "40"
203-
```
204-
205-
2. Ensure the `terminationGracePeriodSeconds` matches or exceeds the `sleep` value from the `preStopHook` (the default
206-
is 30). This is to ensure Kubernetes does not terminate the Pod before the `preStopHook` is complete. To do so,
207-
update your `values.yaml` file to include the following (update the value to what is required in your environment):
208-
209-
```yaml
210-
terminationGracePeriodSeconds: 50
211-
```
212-
213-
> [!NOTE]
214-
>
215-
> More information on container lifecycle hooks can be found in the official
216-
> [kubernetes documentation](https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks) and a detailed
217-
> description of Pod termination behavior can be found in
218-
> [Termination of Pods](https://kubernetes.io/docs/concepts/workloads/Pods/Pod-lifecycle/#Pod-termination).
219-
220163
## Uninstalling the Chart
221164

222165
To uninstall/delete the release `ngf`:

go.mod

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,16 +9,16 @@ require (
99
github.com/google/uuid v1.6.0
1010
github.com/nginx/agent/v3 v3.2.1
1111
github.com/nginx/telemetry-exporter v0.1.4
12-
github.com/onsi/ginkgo/v2 v2.24.0
13-
github.com/onsi/gomega v1.38.0
12+
github.com/onsi/ginkgo/v2 v2.25.1
13+
github.com/onsi/gomega v1.38.1
1414
github.com/prometheus/client_golang v1.23.0
1515
github.com/spf13/cobra v1.9.1
1616
github.com/spf13/pflag v1.0.7
1717
go.opentelemetry.io/otel v1.37.0
1818
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.37.0
1919
go.uber.org/zap v1.27.0
2020
golang.org/x/text v0.28.0
21-
google.golang.org/grpc v1.74.2
21+
google.golang.org/grpc v1.75.0
2222
google.golang.org/protobuf v1.36.7
2323
gopkg.in/evanphx/json-patch.v4 v4.13.0
2424
k8s.io/api v0.33.4
@@ -32,7 +32,7 @@ require (
3232

3333
require (
3434
buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.36.4-20250130201111-63bb56e20495.1 // indirect
35-
github.com/Masterminds/semver/v3 v3.3.1 // indirect
35+
github.com/Masterminds/semver/v3 v3.4.0 // indirect
3636
github.com/beorn7/perks v1.0.1 // indirect
3737
github.com/cenkalti/backoff/v5 v5.0.2 // indirect
3838
github.com/cespare/xxhash/v2 v2.3.0 // indirect
@@ -49,7 +49,7 @@ require (
4949
github.com/gogo/protobuf v1.3.2 // indirect
5050
github.com/google/btree v1.1.3 // indirect
5151
github.com/google/gnostic-models v0.6.9 // indirect
52-
github.com/google/pprof v0.0.0-20250423184734-337e5dd93bb4 // indirect
52+
github.com/google/pprof v0.0.0-20250820193118-f64d9cf942d6 // indirect
5353
github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.1 // indirect
5454
github.com/inconshreveable/mousetrap v1.1.0 // indirect
5555
github.com/josharian/intern v1.0.0 // indirect
@@ -71,6 +71,7 @@ require (
7171
go.opentelemetry.io/proto/otlp v1.7.0 // indirect
7272
go.uber.org/automaxprocs v1.6.0 // indirect
7373
go.uber.org/multierr v1.11.0 // indirect
74+
go.yaml.in/yaml/v3 v3.0.4 // indirect
7475
golang.org/x/mod v0.27.0 // indirect
7576
golang.org/x/net v0.43.0 // indirect
7677
golang.org/x/oauth2 v0.30.0 // indirect
@@ -80,8 +81,8 @@ require (
8081
golang.org/x/time v0.9.0 // indirect
8182
golang.org/x/tools v0.36.0 // indirect
8283
gomodules.xyz/jsonpatch/v2 v2.4.0 // indirect
83-
google.golang.org/genproto/googleapis/api v0.0.0-20250603155806-513f23925822 // indirect
84-
google.golang.org/genproto/googleapis/rpc v0.0.0-20250603155806-513f23925822 // indirect
84+
google.golang.org/genproto/googleapis/api v0.0.0-20250707201910-8d1bb00bc6a7 // indirect
85+
google.golang.org/genproto/googleapis/rpc v0.0.0-20250707201910-8d1bb00bc6a7 // indirect
8586
gopkg.in/inf.v0 v0.9.1 // indirect
8687
gopkg.in/yaml.v3 v3.0.1 // indirect
8788
k8s.io/kube-openapi v0.0.0-20250318190949-c8a335a9a2ff // indirect

go.sum

Lines changed: 20 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ dario.cat/mergo v1.0.1 h1:Ra4+bf83h2ztPIQYNP99R6m+Y7KfnARDfID+a+vLl4s=
44
dario.cat/mergo v1.0.1/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk=
55
github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161 h1:L/gRVlceqvL25UVaW/CKtUDjefjrs0SPonmDGUVOYP0=
66
github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E=
7-
github.com/Masterminds/semver/v3 v3.3.1 h1:QtNSWtVZ3nBfk8mAOu/B6v7FMJ+NHTIgUPi7rj+4nv4=
8-
github.com/Masterminds/semver/v3 v3.3.1/go.mod h1:4V+yj/TJE1HU9XfppCwVMZq3I84lprf4nC11bSS5beM=
7+
github.com/Masterminds/semver/v3 v3.4.0 h1:Zog+i5UMtVoCU8oKka5P7i9q9HgrJeGzI9SA1Xbatp0=
8+
github.com/Masterminds/semver/v3 v3.4.0/go.mod h1:4V+yj/TJE1HU9XfppCwVMZq3I84lprf4nC11bSS5beM=
99
github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERoyfY=
1010
github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU=
1111
github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
@@ -84,8 +84,8 @@ github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX
8484
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
8585
github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0=
8686
github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
87-
github.com/google/pprof v0.0.0-20250423184734-337e5dd93bb4 h1:gD0vax+4I+mAj+jEChEf25Ia07Jq7kYOFO5PPhAxFl4=
88-
github.com/google/pprof v0.0.0-20250423184734-337e5dd93bb4/go.mod h1:5hDyRhoBCxViHszMt12TnOpEI4VVi+U8Gm9iphldiMA=
87+
github.com/google/pprof v0.0.0-20250820193118-f64d9cf942d6 h1:EEHtgt9IwisQ2AZ4pIsMjahcegHh6rmhqxzIRQIyepY=
88+
github.com/google/pprof v0.0.0-20250820193118-f64d9cf942d6/go.mod h1:I6V7YzU0XDpsHqbsyrghnFZLO1gwK6NPTNvmetQIk9U=
8989
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
9090
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
9191
github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.1 h1:X5VWvz21y3gzm9Nw/kaUeku/1+uBhcekkmy4IkffJww=
@@ -145,10 +145,10 @@ github.com/nginx/telemetry-exporter v0.1.4 h1:3ikgKlyz/O57oaBLkxCInMjr74AhGTKr9r
145145
github.com/nginx/telemetry-exporter v0.1.4/go.mod h1:bl6qmsxgk4a9D0X8R5E3sUNXN2iECPEK1JNbRLhN5C4=
146146
github.com/nginxinc/nginx-plus-go-client/v2 v2.0.1 h1:5VVK38bnELMDWnwfF6dSv57ResXh9AUzeDa72ENj94o=
147147
github.com/nginxinc/nginx-plus-go-client/v2 v2.0.1/go.mod h1:He+1izxYxVVO5/C9ZTukwOpvkAx5eS19nRQgKXDhX5I=
148-
github.com/onsi/ginkgo/v2 v2.24.0 h1:obZz8LAnHicNdbBqvG3ytAFx8fgza+i1IDpBVcHT2YE=
149-
github.com/onsi/ginkgo/v2 v2.24.0/go.mod h1:ppTWQ1dh9KM/F1XgpeRqelR+zHVwV81DGRSDnFxK7Sk=
150-
github.com/onsi/gomega v1.38.0 h1:c/WX+w8SLAinvuKKQFh77WEucCnPk4j2OTUr7lt7BeY=
151-
github.com/onsi/gomega v1.38.0/go.mod h1:OcXcwId0b9QsE7Y49u+BTrL4IdKOBOKnD6VQNTJEB6o=
148+
github.com/onsi/ginkgo/v2 v2.25.1 h1:Fwp6crTREKM+oA6Cz4MsO8RhKQzs2/gOIVOUscMAfZY=
149+
github.com/onsi/ginkgo/v2 v2.25.1/go.mod h1:ppTWQ1dh9KM/F1XgpeRqelR+zHVwV81DGRSDnFxK7Sk=
150+
github.com/onsi/gomega v1.38.1 h1:FaLA8GlcpXDwsb7m0h2A9ew2aTk3vnZMlzFgg5tz/pk=
151+
github.com/onsi/gomega v1.38.1/go.mod h1:LfcV8wZLvwcYRwPiJysphKAEsmcFnLMK/9c+PjvlX8g=
152152
github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U=
153153
github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM=
154154
github.com/opencontainers/image-spec v1.1.1 h1:y0fUlFfIZhPF1W537XOLg0/fcx6zcHCJwooC2xJA040=
@@ -232,8 +232,8 @@ go.opentelemetry.io/otel/metric v1.37.0 h1:mvwbQS5m0tbmqML4NqK+e3aDiO02vsf/Wgbsd
232232
go.opentelemetry.io/otel/metric v1.37.0/go.mod h1:04wGrZurHYKOc+RKeye86GwKiTb9FKm1WHtO+4EVr2E=
233233
go.opentelemetry.io/otel/sdk v1.37.0 h1:ItB0QUqnjesGRvNcmAcU0LyvkVyGJ2xftD29bWdDvKI=
234234
go.opentelemetry.io/otel/sdk v1.37.0/go.mod h1:VredYzxUvuo2q3WRcDnKDjbdvmO0sCzOvVAiY+yUkAg=
235-
go.opentelemetry.io/otel/sdk/metric v1.36.0 h1:r0ntwwGosWGaa0CrSt8cuNuTcccMXERFwHX4dThiPis=
236-
go.opentelemetry.io/otel/sdk/metric v1.36.0/go.mod h1:qTNOhFDfKRwX0yXOqJYegL5WRaW376QbB7P4Pb0qva4=
235+
go.opentelemetry.io/otel/sdk/metric v1.37.0 h1:90lI228XrB9jCMuSdA0673aubgRobVZFhbjxHHspCPc=
236+
go.opentelemetry.io/otel/sdk/metric v1.37.0/go.mod h1:cNen4ZWfiD37l5NhS+Keb5RXVWZWpRE+9WyVCpbo5ps=
237237
go.opentelemetry.io/otel/trace v1.37.0 h1:HLdcFNbRQBE2imdSEgm/kwqmQj1Or1l/7bW6mxVK7z4=
238238
go.opentelemetry.io/otel/trace v1.37.0/go.mod h1:TlgrlQ+PtQO5XFerSPUYG0JSgGyryXewPGyayAWSBS0=
239239
go.opentelemetry.io/proto/otlp v1.7.0 h1:jX1VolD6nHuFzOYso2E73H85i92Mv8JQYk0K9vz09os=
@@ -246,6 +246,8 @@ go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0=
246246
go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y=
247247
go.uber.org/zap v1.27.0 h1:aJMhYGrd5QSmlpLMr2MftRKl7t8J8PTZPA732ud/XR8=
248248
go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E=
249+
go.yaml.in/yaml/v3 v3.0.4 h1:tfq32ie2Jv2UxXFdLJdh3jXuOzWiL1fo0bu/FbuKpbc=
250+
go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg=
249251
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
250252
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
251253
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
@@ -295,12 +297,14 @@ golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8T
295297
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
296298
gomodules.xyz/jsonpatch/v2 v2.4.0 h1:Ci3iUJyx9UeRx7CeFN8ARgGbkESwJK+KB9lLcWxY/Zw=
297299
gomodules.xyz/jsonpatch/v2 v2.4.0/go.mod h1:AH3dM2RI6uoBZxn3LVrfvJ3E0/9dG4cSrbuBJT4moAY=
298-
google.golang.org/genproto/googleapis/api v0.0.0-20250603155806-513f23925822 h1:oWVWY3NzT7KJppx2UKhKmzPq4SRe0LdCijVRwvGeikY=
299-
google.golang.org/genproto/googleapis/api v0.0.0-20250603155806-513f23925822/go.mod h1:h3c4v36UTKzUiuaOKQ6gr3S+0hovBtUrXzTG/i3+XEc=
300-
google.golang.org/genproto/googleapis/rpc v0.0.0-20250603155806-513f23925822 h1:fc6jSaCT0vBduLYZHYrBBNY4dsWuvgyff9noRNDdBeE=
301-
google.golang.org/genproto/googleapis/rpc v0.0.0-20250603155806-513f23925822/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A=
302-
google.golang.org/grpc v1.74.2 h1:WoosgB65DlWVC9FqI82dGsZhWFNBSLjQ84bjROOpMu4=
303-
google.golang.org/grpc v1.74.2/go.mod h1:CtQ+BGjaAIXHs/5YS3i473GqwBBa1zGQNevxdeBEXrM=
300+
gonum.org/v1/gonum v0.16.0 h1:5+ul4Swaf3ESvrOnidPp4GZbzf0mxVQpDCYUQE7OJfk=
301+
gonum.org/v1/gonum v0.16.0/go.mod h1:fef3am4MQ93R2HHpKnLk4/Tbh/s0+wqD5nfa6Pnwy4E=
302+
google.golang.org/genproto/googleapis/api v0.0.0-20250707201910-8d1bb00bc6a7 h1:FiusG7LWj+4byqhbvmB+Q93B/mOxJLN2DTozDuZm4EU=
303+
google.golang.org/genproto/googleapis/api v0.0.0-20250707201910-8d1bb00bc6a7/go.mod h1:kXqgZtrWaf6qS3jZOCnCH7WYfrvFjkC51bM8fz3RsCA=
304+
google.golang.org/genproto/googleapis/rpc v0.0.0-20250707201910-8d1bb00bc6a7 h1:pFyd6EwwL2TqFf8emdthzeX+gZE1ElRq3iM8pui4KBY=
305+
google.golang.org/genproto/googleapis/rpc v0.0.0-20250707201910-8d1bb00bc6a7/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A=
306+
google.golang.org/grpc v1.75.0 h1:+TW+dqTd2Biwe6KKfhE5JpiYIBWq865PhKGSXiivqt4=
307+
google.golang.org/grpc v1.75.0/go.mod h1:JtPAzKiq4v1xcAB2hydNlWI2RnF85XXcV0mhKXr2ecQ=
304308
google.golang.org/protobuf v1.36.7 h1:IgrO7UwFQGJdRNXH/sQux4R1Dj1WAKcLElzeeRaXV2A=
305309
google.golang.org/protobuf v1.36.7/go.mod h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/5YcXBHnY=
306310
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=

0 commit comments

Comments
 (0)