Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/sources/gateway-api.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ Experimental channels as summarized below:
| HTTPRoute | v1 | v1.0.0 | v1.0.0 |
| GRPCRoute | v1 | v1.1.0 | v1.1.0 |
| ListenerSet | v1 | v1.5.0 | v1.5.0 |
| TLSRoute | v1alpha2 | v1.5.0 | v1.0.0 |
| TLSRoute | v1 | v1.5.0 | v1.0.0 |
| TCPRoute | v1alpha2 | TBD | v1.0.0 |
| UDPRoute | v1alpha2 | TBD | v1.0.0 |

Expand Down
11 changes: 5 additions & 6 deletions source/gateway_tlsroute.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,19 +22,18 @@ import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/labels"
v1 "sigs.k8s.io/gateway-api/apis/v1"
"sigs.k8s.io/gateway-api/apis/v1alpha2"
informers "sigs.k8s.io/gateway-api/pkg/client/informers/externalversions"
informers_v1a2 "sigs.k8s.io/gateway-api/pkg/client/informers/externalversions/apis/v1alpha2"
informers_v1 "sigs.k8s.io/gateway-api/pkg/client/informers/externalversions/apis/v1"
)

// NewGatewayTLSRouteSource creates a new Gateway TLSRoute source with the given config.
func NewGatewayTLSRouteSource(ctx context.Context, clients ClientGenerator, config *Config) (Source, error) {
return newGatewayRouteSource(ctx, clients, config, "TLSRoute", func(factory informers.SharedInformerFactory) gatewayRouteInformer {
return &gatewayTLSRouteInformer{factory.Gateway().V1alpha2().TLSRoutes()}
return &gatewayTLSRouteInformer{factory.Gateway().V1().TLSRoutes()}
})
}

type gatewayTLSRoute struct{ route v1alpha2.TLSRoute } // NOTE: Must update TypeMeta in List when changing the APIVersion.
type gatewayTLSRoute struct{ route v1.TLSRoute } // NOTE: Must update TypeMeta in List when changing the APIVersion.

func (rt *gatewayTLSRoute) Object() kubeObject { return &rt.route }
func (rt *gatewayTLSRoute) Metadata() *metav1.ObjectMeta { return &rt.route.ObjectMeta }
Expand All @@ -44,7 +43,7 @@ func (rt *gatewayTLSRoute) Protocol() v1.ProtocolType { return v1.TLSProt
func (rt *gatewayTLSRoute) RouteStatus() v1.RouteStatus { return rt.route.Status.RouteStatus }

type gatewayTLSRouteInformer struct {
informers_v1a2.TLSRouteInformer
informers_v1.TLSRouteInformer
}

func (inf gatewayTLSRouteInformer) List(namespace string, selector labels.Selector) ([]gatewayRoute, error) {
Expand All @@ -58,7 +57,7 @@ func (inf gatewayTLSRouteInformer) List(namespace string, selector labels.Select
// We make a shallow copy since we're only interested in setting the TypeMeta.
clone := *rt
clone.TypeMeta = metav1.TypeMeta{
APIVersion: v1alpha2.GroupVersion.String(),
APIVersion: v1.GroupVersion.String(),
Kind: "TLSRoute",
}
routes[i] = &gatewayTLSRoute{clone}
Expand Down
9 changes: 4 additions & 5 deletions source/gateway_tlsroute_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,6 @@ import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
kubefake "k8s.io/client-go/kubernetes/fake"
v1 "sigs.k8s.io/gateway-api/apis/v1"
"sigs.k8s.io/gateway-api/apis/v1alpha2"
gatewayfake "sigs.k8s.io/gateway-api/pkg/client/clientset/versioned/fake"

"sigs.k8s.io/external-dns/endpoint"
Expand Down Expand Up @@ -72,27 +71,27 @@ func TestGatewayTLSRouteSourceEndpoints(t *testing.T) {
_, err = gwClient.GatewayV1().Gateways(gw.Namespace).Create(ctx, gw, metav1.CreateOptions{})
require.NoError(t, err, "failed to create Gateway")

rt := &v1alpha2.TLSRoute{
rt := &v1.TLSRoute{
ObjectMeta: metav1.ObjectMeta{
Name: "api",
Namespace: "default",
Annotations: map[string]string{
annotations.HostnameKey: "api-annotation.foobar.internal",
},
},
Spec: v1alpha2.TLSRouteSpec{
Spec: v1.TLSRouteSpec{
Hostnames: []v1.Hostname{"api-hostnames.foobar.internal"},
CommonRouteSpec: v1.CommonRouteSpec{
ParentRefs: []v1.ParentReference{
gwParentRef("default", "internal"),
},
},
},
Status: v1alpha2.TLSRouteStatus{
Status: v1.TLSRouteStatus{
RouteStatus: gwRouteStatus(gwParentRef("default", "internal")),
},
}
_, err = gwClient.GatewayV1alpha2().TLSRoutes(rt.Namespace).Create(ctx, rt, metav1.CreateOptions{})
_, err = gwClient.GatewayV1().TLSRoutes(rt.Namespace).Create(ctx, rt, metav1.CreateOptions{})
require.NoError(t, err, "failed to create TLSRoute")

src, err := NewGatewayTLSRouteSource(ctx, clients, &Config{
Expand Down
Loading