Skip to content

Commit 8ac522d

Browse files
committed
Add GCE session affinity translation
1 parent 7627825 commit 8ac522d

18 files changed

+2533
-775
lines changed

cmd/print.go

+31
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@ import (
2525
"github.com/kubernetes-sigs/ingress2gateway/pkg/i2gw"
2626
"github.com/samber/lo"
2727
"github.com/spf13/cobra"
28+
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
29+
"k8s.io/apimachinery/pkg/runtime/serializer/json"
2830
"k8s.io/cli-runtime/pkg/genericclioptions"
2931
"k8s.io/cli-runtime/pkg/printers"
3032
"k8s.io/client-go/tools/clientcmd"
@@ -179,6 +181,17 @@ func (pr *PrintRunner) outputResult(gatewayResources []i2gw.GatewayResources) {
179181
}
180182
}
181183

184+
for _, r := range gatewayResources {
185+
resourceCount += len(r.GatewayExtensions)
186+
for _, gatewayExtension := range r.GatewayExtensions {
187+
gatewayExtension := gatewayExtension
188+
fmt.Println("---")
189+
if err := PrintUnstructuredAsYaml(&gatewayExtension); err != nil {
190+
fmt.Printf("# Error printing %s gatewayExtension: %v\n", gatewayExtension.GetName(), err)
191+
}
192+
}
193+
}
194+
182195
if resourceCount == 0 {
183196
msg := "No resources found"
184197
if pr.namespaceFilter != "" {
@@ -310,3 +323,21 @@ func (pr *PrintRunner) getProviderSpecificFlags() map[string]map[string]string {
310323
}
311324
return providerSpecificFlags
312325
}
326+
327+
func PrintUnstructuredAsYaml(obj *unstructured.Unstructured) error {
328+
// Create a YAML serializer
329+
serializer := json.NewSerializerWithOptions(json.DefaultMetaFactory, nil, nil,
330+
json.SerializerOptions{
331+
Yaml: true,
332+
Pretty: true, // Optional: for better readability
333+
Strict: true,
334+
})
335+
336+
// Encode the unstructured object to YAML
337+
err := serializer.Encode(obj, os.Stdout)
338+
if err != nil {
339+
return err
340+
}
341+
342+
return nil
343+
}

go.mod

+19-20
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ module github.com/kubernetes-sigs/ingress2gateway
33
go 1.22.0
44

55
require (
6+
github.com/GoogleCloudPlatform/gke-gateway-api v1.3.0
67
github.com/getkin/kin-openapi v0.124.0
78
github.com/google/go-cmp v0.6.0
89
github.com/kong/kubernetes-ingress-controller/v2 v2.12.3
@@ -11,39 +12,38 @@ require (
1112
github.com/spf13/cobra v1.8.0
1213
github.com/stretchr/testify v1.9.0
1314
istio.io/api v1.20.0
14-
k8s.io/api v0.30.0
15-
k8s.io/apimachinery v0.30.0
15+
k8s.io/api v0.30.1
16+
k8s.io/apimachinery v0.30.1
1617
k8s.io/cli-runtime v0.29.0
1718
k8s.io/client-go v0.30.0
1819
k8s.io/ingress-gce v1.30.0
1920
k8s.io/utils v0.0.0-20240502163921-fe8a2dddb1d0
20-
sigs.k8s.io/controller-runtime v0.16.3
21-
sigs.k8s.io/gateway-api v1.0.0
21+
sigs.k8s.io/controller-runtime v0.18.0
22+
sigs.k8s.io/gateway-api v1.1.0
2223
)
2324

2425
require (
2526
github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 // indirect
2627
github.com/invopop/yaml v0.2.0 // indirect
2728
github.com/mattn/go-runewidth v0.0.15 // indirect
28-
github.com/matttproud/golang_protobuf_extensions/v2 v2.0.0 // indirect
2929
github.com/moby/term v0.0.0-20221205130635-1aeaba878587 // indirect
3030
github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826 // indirect
3131
github.com/perimeterx/marshmallow v1.1.5 // indirect
3232
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
3333
github.com/rivo/uniseg v0.2.0 // indirect
34-
golang.org/x/exp v0.0.0-20231006140011-7918f672742d // indirect
34+
golang.org/x/exp v0.0.0-20240416160154-fe59bbe5cc7f // indirect
3535
)
3636

3737
require (
3838
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
39-
github.com/emicklei/go-restful/v3 v3.11.0 // indirect
39+
github.com/emicklei/go-restful/v3 v3.12.0 // indirect
4040
github.com/evanphx/json-patch v5.7.0+incompatible // indirect
41-
github.com/evanphx/json-patch/v5 v5.7.0 // indirect
41+
github.com/evanphx/json-patch/v5 v5.9.0 // indirect
4242
github.com/go-errors/errors v1.5.1 // indirect
4343
github.com/go-logr/logr v1.4.1 // indirect
44-
github.com/go-openapi/jsonpointer v0.20.2 // indirect
45-
github.com/go-openapi/jsonreference v0.20.2 // indirect
46-
github.com/go-openapi/swag v0.22.8 // indirect
44+
github.com/go-openapi/jsonpointer v0.21.0 // indirect
45+
github.com/go-openapi/jsonreference v0.21.0 // indirect
46+
github.com/go-openapi/swag v0.23.0 // indirect
4747
github.com/gogo/protobuf v1.3.2 // indirect
4848
github.com/golang/protobuf v1.5.4 // indirect
4949
github.com/google/btree v1.1.2 // indirect
@@ -67,14 +67,13 @@ require (
6767
github.com/spf13/pflag v1.0.5 // indirect
6868
github.com/xlab/treeprint v1.2.0 // indirect
6969
go.starlark.net v0.0.0-20231121155337-90ade8b19d09 // indirect
70-
golang.org/x/net v0.23.0 // indirect
71-
golang.org/x/oauth2 v0.14.0 // indirect
72-
golang.org/x/sync v0.5.0 // indirect
73-
golang.org/x/sys v0.18.0 // indirect
74-
golang.org/x/term v0.18.0 // indirect
75-
golang.org/x/text v0.14.0 // indirect
76-
golang.org/x/time v0.4.0 // indirect
77-
google.golang.org/appengine v1.6.8 // indirect
70+
golang.org/x/net v0.25.0 // indirect
71+
golang.org/x/oauth2 v0.19.0 // indirect
72+
golang.org/x/sync v0.7.0 // indirect
73+
golang.org/x/sys v0.20.0 // indirect
74+
golang.org/x/term v0.20.0 // indirect
75+
golang.org/x/text v0.15.0 // indirect
76+
golang.org/x/time v0.5.0 // indirect
7877
google.golang.org/genproto v0.0.0-20231120223509-83a465c0220f // indirect
7978
google.golang.org/genproto/googleapis/api v0.0.0-20231120223509-83a465c0220f // indirect
8079
google.golang.org/protobuf v1.33.0
@@ -84,7 +83,7 @@ require (
8483
gopkg.in/yaml.v3 v3.0.1 // indirect
8584
istio.io/client-go v1.19.0-alpha.1.0.20231130185426-9f1859c8ff42
8685
k8s.io/klog/v2 v2.120.1
87-
k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340 // indirect
86+
k8s.io/kube-openapi v0.0.0-20240423202451-8948a665c108 // indirect
8887
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
8988
sigs.k8s.io/kustomize/api v0.15.0 // indirect
9089
sigs.k8s.io/kustomize/kyaml v0.15.0 // indirect

0 commit comments

Comments
 (0)