diff --git a/README.md b/README.md index 7a4ab08f2..122d5a3b2 100644 --- a/README.md +++ b/README.md @@ -43,7 +43,7 @@ The following table lists the software versions NGINX Kubernetes Gateway support | NGINX Kubernetes Gateway | Gateway API | Kubernetes | NGINX OSS | |-|-|-|-| -| Edge | 0.5.1 | 1.21+ | 1.21.x *| +| Edge | 0.6.0 | 1.21+ | 1.21.x *| | 0.2.0 | 0.5.1 | 1.21+ | 1.21.x *| | 0.1.0 | 0.5.0 | 1.19+ | 1.21.3 | diff --git a/cmd/gateway/setup.go b/cmd/gateway/setup.go index d9059ad9d..ab9420db7 100644 --- a/cmd/gateway/setup.go +++ b/cmd/gateway/setup.go @@ -17,7 +17,7 @@ import ( const ( errTmpl = "failed validation - flag: '--%s' reason: '%s'\n" // nolint:lll - // Regex from: https://github.com/kubernetes-sigs/gateway-api/blob/547122f7f55ac0464685552898c560658fb40073/apis/v1alpha2/shared_types.go#L462 + // Regex from: https://github.com/kubernetes-sigs/gateway-api/blob/e9e04e498c566021c9d30ce4dbe0863894c7d7e1/apis/v1beta1/shared_types.go#L494 controllerNameRegex = `^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*\/[A-Za-z0-9\/\-._~%!$&'()*+,;=:]+$` //nolint:lll ) diff --git a/docs/installation.md b/docs/installation.md index 1f6ad2639..c156155c7 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -20,7 +20,7 @@ This guide walks you through how to install NGINX Kubernetes Gateway on a generi 1. Install the Gateway CRDs: ``` - kubectl apply -k "github.com/kubernetes-sigs/gateway-api/config/crd?ref=v0.5.1" + kubectl apply -k "github.com/kubernetes-sigs/gateway-api/config/crd?ref=v0.6.0" ``` 1. Create the nginx-gateway Namespace: diff --git a/go.mod b/go.mod index 5d9cff246..b89b9a20d 100644 --- a/go.mod +++ b/go.mod @@ -14,7 +14,7 @@ require ( k8s.io/apimachinery v0.26.0 k8s.io/client-go v0.26.0 sigs.k8s.io/controller-runtime v0.14.1 - sigs.k8s.io/gateway-api v0.5.1 + sigs.k8s.io/gateway-api v0.6.0 ) require ( diff --git a/go.sum b/go.sum index 96d0f069c..a47259f13 100644 --- a/go.sum +++ b/go.sum @@ -278,7 +278,7 @@ github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81P github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.8.0 h1:pSgiaMZlXftHpm5L7V1+rVB+AZJydKsMxsQBIJw4PKk= +github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk= github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= @@ -651,8 +651,8 @@ rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= sigs.k8s.io/controller-runtime v0.14.1 h1:vThDes9pzg0Y+UbCPY3Wj34CGIYPgdmspPm2GIpxpzM= sigs.k8s.io/controller-runtime v0.14.1/go.mod h1:GaRkrY8a7UZF0kqFFbUKG7n9ICiTY5T55P1RiE3UZlU= -sigs.k8s.io/gateway-api v0.5.1 h1:EqzgOKhChzyve9rmeXXbceBYB6xiM50vDfq0kK5qpdw= -sigs.k8s.io/gateway-api v0.5.1/go.mod h1:x0AP6gugkFV8fC/oTlnOMU0pnmuzIR8LfIPRVUjxSqA= +sigs.k8s.io/gateway-api v0.6.0 h1:v2FqrN2ROWZLrSnI2o91taHR8Sj3s+Eh3QU7gLNWIqA= +sigs.k8s.io/gateway-api v0.6.0/go.mod h1:EYJT+jlPWTeNskjV0JTki/03WX1cyAnBhwBJfYHpV/0= sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2 h1:iXTIw73aPyC+oRdyqqvVJuloN1p0AC/kzH07hu3NE+k= sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0= sigs.k8s.io/structured-merge-diff/v4 v4.2.3 h1:PRbqxJClWWYMNV1dhaG4NsibJbArud9kFxnAMREiWFE= diff --git a/internal/nginx/modules/src/httpmatches.js b/internal/nginx/modules/src/httpmatches.js index 54a9efcc1..d5fe76c64 100644 --- a/internal/nginx/modules/src/httpmatches.js +++ b/internal/nginx/modules/src/httpmatches.js @@ -166,7 +166,7 @@ function paramsMatch(requestParams, params) { // (1) if the index is -1, then there are no "=" in the string (e.g. "keyvalue") // (2) if the index is 0, then there is no value in the string (e.g. "key="). // NOTE: While query parameter values are permitted to be empty, the Gateway API Spec forces the value to be a non-empty string. - // https://github.com/kubernetes-sigs/gateway-api/blob/50e61865db9659111582080daa5ca1a91bbe265d/apis/v1alpha2/httproute_types.go#L375 + // https://github.com/kubernetes-sigs/gateway-api/blob/e9e04e498c566021c9d30ce4dbe0863894c7d7e1/apis/v1beta1/httproute_types.go#L419 // (3) if the index is equal to length -1, then there is no key in the string (e.g. "=value"). if (idx === -1 || (idx === 0) | (idx === p.length - 1)) { throw Error(`invalid query parameter: ${p}`);