source/gateway-api: revert v1.HTTPRoute to v1beta1.HTTPRoute

This commit is contained in:
Andy Bursavich 2024-07-13 13:19:30 -07:00
parent 0100b6637a
commit 29f1f3a19d
2 changed files with 36 additions and 35 deletions

View File

@ -20,14 +20,15 @@ import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/labels"
v1 "sigs.k8s.io/gateway-api/apis/v1" v1 "sigs.k8s.io/gateway-api/apis/v1"
v1beta1 "sigs.k8s.io/gateway-api/apis/v1beta1"
informers "sigs.k8s.io/gateway-api/pkg/client/informers/externalversions" informers "sigs.k8s.io/gateway-api/pkg/client/informers/externalversions"
informers_v1 "sigs.k8s.io/gateway-api/pkg/client/informers/externalversions/apis/v1" informers_v1beta1 "sigs.k8s.io/gateway-api/pkg/client/informers/externalversions/apis/v1beta1"
) )
// NewGatewayHTTPRouteSource creates a new Gateway HTTPRoute source with the given config. // NewGatewayHTTPRouteSource creates a new Gateway HTTPRoute source with the given config.
func NewGatewayHTTPRouteSource(clients ClientGenerator, config *Config) (Source, error) { func NewGatewayHTTPRouteSource(clients ClientGenerator, config *Config) (Source, error) {
return newGatewayRouteSource(clients, config, "HTTPRoute", func(factory informers.SharedInformerFactory) gatewayRouteInformer { return newGatewayRouteSource(clients, config, "HTTPRoute", func(factory informers.SharedInformerFactory) gatewayRouteInformer {
return &gatewayHTTPRouteInformer{factory.Gateway().V1().HTTPRoutes()} return &gatewayHTTPRouteInformer{factory.Gateway().V1beta1().HTTPRoutes()}
}) })
} }
@ -40,7 +41,7 @@ func (rt *gatewayHTTPRoute) Protocol() v1.ProtocolType { return v1.HTTPProtoc
func (rt *gatewayHTTPRoute) RouteStatus() v1.RouteStatus { return rt.route.Status.RouteStatus } func (rt *gatewayHTTPRoute) RouteStatus() v1.RouteStatus { return rt.route.Status.RouteStatus }
type gatewayHTTPRouteInformer struct { type gatewayHTTPRouteInformer struct {
informers_v1.HTTPRouteInformer informers_v1beta1.HTTPRouteInformer
} }
func (inf gatewayHTTPRouteInformer) List(namespace string, selector labels.Selector) ([]gatewayRoute, error) { func (inf gatewayHTTPRouteInformer) List(namespace string, selector labels.Selector) ([]gatewayRoute, error) {
@ -54,10 +55,10 @@ func (inf gatewayHTTPRouteInformer) List(namespace string, selector labels.Selec
// We make a shallow copy since we're only interested in setting the TypeMeta. // We make a shallow copy since we're only interested in setting the TypeMeta.
clone := *rt clone := *rt
clone.TypeMeta = metav1.TypeMeta{ clone.TypeMeta = metav1.TypeMeta{
APIVersion: v1.GroupVersion.String(), APIVersion: v1beta1.GroupVersion.String(),
Kind: "HTTPRoute", Kind: "HTTPRoute",
} }
routes[i] = &gatewayHTTPRoute{clone} routes[i] = &gatewayHTTPRoute{v1.HTTPRoute(clone)}
} }
return routes, nil return routes, nil
} }

View File

@ -137,7 +137,7 @@ func TestGatewayHTTPRouteSourceEndpoints(t *testing.T) {
config Config config Config
namespaces []*corev1.Namespace namespaces []*corev1.Namespace
gateways []*v1beta1.Gateway gateways []*v1beta1.Gateway
routes []*v1.HTTPRoute routes []*v1beta1.HTTPRoute
endpoints []*endpoint.Endpoint endpoints []*endpoint.Endpoint
}{ }{
{ {
@ -165,7 +165,7 @@ func TestGatewayHTTPRouteSourceEndpoints(t *testing.T) {
Status: gatewayStatus("2.3.4.5"), Status: gatewayStatus("2.3.4.5"),
}, },
}, },
routes: []*v1.HTTPRoute{{ routes: []*v1beta1.HTTPRoute{{
ObjectMeta: objectMeta("route-namespace", "test"), ObjectMeta: objectMeta("route-namespace", "test"),
Spec: v1.HTTPRouteSpec{ Spec: v1.HTTPRouteSpec{
Hostnames: hostnames("test.example.internal"), Hostnames: hostnames("test.example.internal"),
@ -195,7 +195,7 @@ func TestGatewayHTTPRouteSourceEndpoints(t *testing.T) {
}, },
Status: gatewayStatus("1.2.3.4"), Status: gatewayStatus("1.2.3.4"),
}}, }},
routes: []*v1.HTTPRoute{ routes: []*v1beta1.HTTPRoute{
{ {
ObjectMeta: objectMeta("route-namespace", "test"), ObjectMeta: objectMeta("route-namespace", "test"),
Spec: v1.HTTPRouteSpec{ Spec: v1.HTTPRouteSpec{
@ -245,7 +245,7 @@ func TestGatewayHTTPRouteSourceEndpoints(t *testing.T) {
Status: gatewayStatus("2.3.4.5"), Status: gatewayStatus("2.3.4.5"),
}, },
}, },
routes: []*v1.HTTPRoute{{ routes: []*v1beta1.HTTPRoute{{
ObjectMeta: objectMeta("default", "test"), ObjectMeta: objectMeta("default", "test"),
Spec: v1.HTTPRouteSpec{ Spec: v1.HTTPRouteSpec{
Hostnames: hostnames("test.example.internal"), Hostnames: hostnames("test.example.internal"),
@ -272,7 +272,7 @@ func TestGatewayHTTPRouteSourceEndpoints(t *testing.T) {
}, },
Status: gatewayStatus("1.2.3.4"), Status: gatewayStatus("1.2.3.4"),
}}, }},
routes: []*v1.HTTPRoute{ routes: []*v1beta1.HTTPRoute{
{ {
ObjectMeta: metav1.ObjectMeta{ ObjectMeta: metav1.ObjectMeta{
Name: "labels-match", Name: "labels-match",
@ -313,7 +313,7 @@ func TestGatewayHTTPRouteSourceEndpoints(t *testing.T) {
}, },
Status: gatewayStatus("1.2.3.4"), Status: gatewayStatus("1.2.3.4"),
}}, }},
routes: []*v1.HTTPRoute{ routes: []*v1beta1.HTTPRoute{
{ {
ObjectMeta: metav1.ObjectMeta{ ObjectMeta: metav1.ObjectMeta{
Name: "annotations-match", Name: "annotations-match",
@ -352,7 +352,7 @@ func TestGatewayHTTPRouteSourceEndpoints(t *testing.T) {
}, },
Status: gatewayStatus("1.2.3.4"), Status: gatewayStatus("1.2.3.4"),
}}, }},
routes: []*v1.HTTPRoute{{ routes: []*v1beta1.HTTPRoute{{
ObjectMeta: metav1.ObjectMeta{ ObjectMeta: metav1.ObjectMeta{
Name: "api", Name: "api",
Namespace: "default", Namespace: "default",
@ -387,7 +387,7 @@ func TestGatewayHTTPRouteSourceEndpoints(t *testing.T) {
Status: gatewayStatus("2.3.4.5"), Status: gatewayStatus("2.3.4.5"),
}, },
}, },
routes: []*v1.HTTPRoute{{ routes: []*v1beta1.HTTPRoute{{
ObjectMeta: objectMeta("default", "test"), ObjectMeta: objectMeta("default", "test"),
Spec: v1.HTTPRouteSpec{ Spec: v1.HTTPRouteSpec{
Hostnames: hostnames("test.example.internal"), Hostnames: hostnames("test.example.internal"),
@ -423,7 +423,7 @@ func TestGatewayHTTPRouteSourceEndpoints(t *testing.T) {
}, },
Status: gatewayStatus("1.2.3.4"), Status: gatewayStatus("1.2.3.4"),
}}, }},
routes: []*v1.HTTPRoute{{ routes: []*v1beta1.HTTPRoute{{
ObjectMeta: objectMeta("default", "test"), ObjectMeta: objectMeta("default", "test"),
Spec: v1.HTTPRouteSpec{ Spec: v1.HTTPRouteSpec{
Hostnames: hostnames("*.example.internal"), Hostnames: hostnames("*.example.internal"),
@ -459,7 +459,7 @@ func TestGatewayHTTPRouteSourceEndpoints(t *testing.T) {
}, },
Status: gatewayStatus("1.2.3.4"), Status: gatewayStatus("1.2.3.4"),
}}, }},
routes: []*v1.HTTPRoute{{ routes: []*v1beta1.HTTPRoute{{
ObjectMeta: objectMeta("default", "test"), ObjectMeta: objectMeta("default", "test"),
Spec: v1.HTTPRouteSpec{ Spec: v1.HTTPRouteSpec{
Hostnames: hostnames("*.example.internal"), Hostnames: hostnames("*.example.internal"),
@ -503,7 +503,7 @@ func TestGatewayHTTPRouteSourceEndpoints(t *testing.T) {
}, },
Status: gatewayStatus("1.2.3.4"), Status: gatewayStatus("1.2.3.4"),
}}, }},
routes: []*v1.HTTPRoute{{ routes: []*v1beta1.HTTPRoute{{
ObjectMeta: objectMeta("default", "test"), ObjectMeta: objectMeta("default", "test"),
Spec: v1.HTTPRouteSpec{ Spec: v1.HTTPRouteSpec{
Hostnames: hostnames("*.example.internal"), Hostnames: hostnames("*.example.internal"),
@ -531,7 +531,7 @@ func TestGatewayHTTPRouteSourceEndpoints(t *testing.T) {
}, },
Status: gatewayStatus("1.2.3.4"), Status: gatewayStatus("1.2.3.4"),
}}, }},
routes: []*v1.HTTPRoute{{ routes: []*v1beta1.HTTPRoute{{
ObjectMeta: objectMeta("default", "no-hostname"), ObjectMeta: objectMeta("default", "no-hostname"),
Spec: v1.HTTPRouteSpec{ Spec: v1.HTTPRouteSpec{
Hostnames: []v1.Hostname{ Hostnames: []v1.Hostname{
@ -558,7 +558,7 @@ func TestGatewayHTTPRouteSourceEndpoints(t *testing.T) {
}, },
Status: gatewayStatus("1.2.3.4"), Status: gatewayStatus("1.2.3.4"),
}}, }},
routes: []*v1.HTTPRoute{{ routes: []*v1beta1.HTTPRoute{{
ObjectMeta: objectMeta("default", "no-hostname"), ObjectMeta: objectMeta("default", "no-hostname"),
Spec: v1.HTTPRouteSpec{ Spec: v1.HTTPRouteSpec{
Hostnames: []v1.Hostname{ Hostnames: []v1.Hostname{
@ -585,7 +585,7 @@ func TestGatewayHTTPRouteSourceEndpoints(t *testing.T) {
}, },
Status: gatewayStatus("1.2.3.4"), Status: gatewayStatus("1.2.3.4"),
}}, }},
routes: []*v1.HTTPRoute{{ routes: []*v1beta1.HTTPRoute{{
ObjectMeta: objectMeta("default", "no-hostname"), ObjectMeta: objectMeta("default", "no-hostname"),
Spec: v1.HTTPRouteSpec{ Spec: v1.HTTPRouteSpec{
Hostnames: []v1.Hostname{ Hostnames: []v1.Hostname{
@ -612,7 +612,7 @@ func TestGatewayHTTPRouteSourceEndpoints(t *testing.T) {
}, },
Status: gatewayStatus("1.2.3.4"), Status: gatewayStatus("1.2.3.4"),
}}, }},
routes: []*v1.HTTPRoute{{ routes: []*v1beta1.HTTPRoute{{
ObjectMeta: objectMeta("default", "no-hostname"), ObjectMeta: objectMeta("default", "no-hostname"),
Spec: v1.HTTPRouteSpec{ Spec: v1.HTTPRouteSpec{
Hostnames: nil, Hostnames: nil,
@ -628,7 +628,7 @@ func TestGatewayHTTPRouteSourceEndpoints(t *testing.T) {
config: Config{}, config: Config{},
namespaces: namespaces("default"), namespaces: namespaces("default"),
gateways: nil, gateways: nil,
routes: []*v1.HTTPRoute{{ routes: []*v1beta1.HTTPRoute{{
ObjectMeta: objectMeta("default", "test"), ObjectMeta: objectMeta("default", "test"),
Spec: v1.HTTPRouteSpec{ Spec: v1.HTTPRouteSpec{
Hostnames: hostnames("example.internal"), Hostnames: hostnames("example.internal"),
@ -648,7 +648,7 @@ func TestGatewayHTTPRouteSourceEndpoints(t *testing.T) {
}, },
Status: gatewayStatus("1.2.3.4"), Status: gatewayStatus("1.2.3.4"),
}}, }},
routes: []*v1.HTTPRoute{{ routes: []*v1beta1.HTTPRoute{{
ObjectMeta: objectMeta("default", "no-hostname"), ObjectMeta: objectMeta("default", "no-hostname"),
Spec: v1.HTTPRouteSpec{ Spec: v1.HTTPRouteSpec{
Hostnames: nil, Hostnames: nil,
@ -668,7 +668,7 @@ func TestGatewayHTTPRouteSourceEndpoints(t *testing.T) {
}, },
Status: gatewayStatus("1.2.3.4"), Status: gatewayStatus("1.2.3.4"),
}}, }},
routes: []*v1.HTTPRoute{ routes: []*v1beta1.HTTPRoute{
{ {
ObjectMeta: metav1.ObjectMeta{ ObjectMeta: metav1.ObjectMeta{
Name: "without-hostame", Name: "without-hostame",
@ -715,7 +715,7 @@ func TestGatewayHTTPRouteSourceEndpoints(t *testing.T) {
}, },
Status: gatewayStatus("1.2.3.4"), Status: gatewayStatus("1.2.3.4"),
}}, }},
routes: []*v1.HTTPRoute{{ routes: []*v1beta1.HTTPRoute{{
ObjectMeta: metav1.ObjectMeta{ ObjectMeta: metav1.ObjectMeta{
Name: "with-hostame", Name: "with-hostame",
Namespace: "default", Namespace: "default",
@ -745,7 +745,7 @@ func TestGatewayHTTPRouteSourceEndpoints(t *testing.T) {
}, },
Status: gatewayStatus("1.2.3.4"), Status: gatewayStatus("1.2.3.4"),
}}, }},
routes: []*v1.HTTPRoute{ routes: []*v1beta1.HTTPRoute{
{ {
ObjectMeta: objectMeta("default", "fqdn-with-hostnames"), ObjectMeta: objectMeta("default", "fqdn-with-hostnames"),
Spec: v1.HTTPRouteSpec{ Spec: v1.HTTPRouteSpec{
@ -782,7 +782,7 @@ func TestGatewayHTTPRouteSourceEndpoints(t *testing.T) {
}, },
Status: gatewayStatus("1.2.3.4"), Status: gatewayStatus("1.2.3.4"),
}}, }},
routes: []*v1.HTTPRoute{{ routes: []*v1beta1.HTTPRoute{{
ObjectMeta: objectMeta("default", "fqdn-with-hostnames"), ObjectMeta: objectMeta("default", "fqdn-with-hostnames"),
Spec: v1.HTTPRouteSpec{ Spec: v1.HTTPRouteSpec{
Hostnames: hostnames("fqdn-with-hostnames.internal"), Hostnames: hostnames("fqdn-with-hostnames.internal"),
@ -805,7 +805,7 @@ func TestGatewayHTTPRouteSourceEndpoints(t *testing.T) {
}, },
Status: gatewayStatus("1.2.3.4"), Status: gatewayStatus("1.2.3.4"),
}}, }},
routes: []*v1.HTTPRoute{ routes: []*v1beta1.HTTPRoute{
{ {
ObjectMeta: metav1.ObjectMeta{ ObjectMeta: metav1.ObjectMeta{
Name: "valid-ttl", Name: "valid-ttl",
@ -845,7 +845,7 @@ func TestGatewayHTTPRouteSourceEndpoints(t *testing.T) {
}, },
Status: gatewayStatus("1.2.3.4"), Status: gatewayStatus("1.2.3.4"),
}}, }},
routes: []*v1.HTTPRoute{{ routes: []*v1beta1.HTTPRoute{{
ObjectMeta: metav1.ObjectMeta{ ObjectMeta: metav1.ObjectMeta{
Name: "provider-annotations", Name: "provider-annotations",
Namespace: "default", Namespace: "default",
@ -891,7 +891,7 @@ func TestGatewayHTTPRouteSourceEndpoints(t *testing.T) {
Status: gatewayStatus("2.3.4.5"), Status: gatewayStatus("2.3.4.5"),
}, },
}, },
routes: []*v1.HTTPRoute{{ routes: []*v1beta1.HTTPRoute{{
ObjectMeta: objectMeta("default", "test"), ObjectMeta: objectMeta("default", "test"),
Spec: v1.HTTPRouteSpec{ Spec: v1.HTTPRouteSpec{
Hostnames: hostnames("test.one.internal", "test.two.internal"), Hostnames: hostnames("test.one.internal", "test.two.internal"),
@ -924,7 +924,7 @@ func TestGatewayHTTPRouteSourceEndpoints(t *testing.T) {
}, },
Status: gatewayStatus("1.2.3.4"), Status: gatewayStatus("1.2.3.4"),
}}, }},
routes: []*v1.HTTPRoute{ routes: []*v1beta1.HTTPRoute{
{ {
ObjectMeta: objectMeta("same-namespace", "test"), ObjectMeta: objectMeta("same-namespace", "test"),
Spec: v1.HTTPRouteSpec{ Spec: v1.HTTPRouteSpec{
@ -983,7 +983,7 @@ func TestGatewayHTTPRouteSourceEndpoints(t *testing.T) {
}, },
Status: gatewayStatus("1.2.3.4"), Status: gatewayStatus("1.2.3.4"),
}}, }},
routes: []*v1.HTTPRoute{ routes: []*v1beta1.HTTPRoute{
{ {
ObjectMeta: objectMeta("foo", "test"), ObjectMeta: objectMeta("foo", "test"),
Spec: v1.HTTPRouteSpec{ Spec: v1.HTTPRouteSpec{
@ -1025,7 +1025,7 @@ func TestGatewayHTTPRouteSourceEndpoints(t *testing.T) {
}, },
Status: gatewayStatus("1.2.3.4"), Status: gatewayStatus("1.2.3.4"),
}}, }},
routes: []*v1.HTTPRoute{{ routes: []*v1beta1.HTTPRoute{{
ObjectMeta: objectMeta("default", "test"), ObjectMeta: objectMeta("default", "test"),
Spec: v1.HTTPRouteSpec{ Spec: v1.HTTPRouteSpec{
Hostnames: hostnames("example.internal"), Hostnames: hostnames("example.internal"),
@ -1058,7 +1058,7 @@ func TestGatewayHTTPRouteSourceEndpoints(t *testing.T) {
Status: gatewayStatus("1.2.3.4"), Status: gatewayStatus("1.2.3.4"),
}, },
}, },
routes: []*v1.HTTPRoute{{ routes: []*v1beta1.HTTPRoute{{
ObjectMeta: objectMeta("route-namespace", "test"), ObjectMeta: objectMeta("route-namespace", "test"),
Spec: v1.HTTPRouteSpec{ Spec: v1.HTTPRouteSpec{
Hostnames: hostnames("test.example.internal"), Hostnames: hostnames("test.example.internal"),
@ -1105,7 +1105,7 @@ func TestGatewayHTTPRouteSourceEndpoints(t *testing.T) {
Status: gatewayStatus("2.3.4.5"), Status: gatewayStatus("2.3.4.5"),
}, },
}, },
routes: []*v1.HTTPRoute{{ routes: []*v1beta1.HTTPRoute{{
ObjectMeta: objectMeta("route-namespace", "test"), ObjectMeta: objectMeta("route-namespace", "test"),
Spec: v1.HTTPRouteSpec{ Spec: v1.HTTPRouteSpec{
Hostnames: hostnames("test.example.internal"), Hostnames: hostnames("test.example.internal"),
@ -1133,7 +1133,7 @@ func TestGatewayHTTPRouteSourceEndpoints(t *testing.T) {
} }
for _, rt := range tt.routes { for _, rt := range tt.routes {
_, err := gwClient.GatewayV1().HTTPRoutes(rt.Namespace).Create(ctx, rt, metav1.CreateOptions{}) _, err := gwClient.GatewayV1beta1().HTTPRoutes(rt.Namespace).Create(ctx, rt, metav1.CreateOptions{})
require.NoError(t, err, "failed to create HTTPRoute") require.NoError(t, err, "failed to create HTTPRoute")
} }
kubeClient := kubefake.NewSimpleClientset() kubeClient := kubefake.NewSimpleClientset()