Skip to content

Commit b973cca

Browse files
committed
Upgrading go-build (v0.94), golang (v1.23.7), k8s (0.30.11) node registrar (v2.13.0) and x/net (v0.39.0)
1 parent ed16db3 commit b973cca

File tree

17 files changed

+539
-558
lines changed

17 files changed

+539
-558
lines changed

api/go.mod

+38-36
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,24 @@
11
module github.com/projectcalico/api
22

3-
go 1.21
3+
go 1.22.0
4+
5+
toolchain go1.22.2
46

57
require (
68
github.com/onsi/ginkgo v1.16.5
79
github.com/onsi/gomega v1.31.1
8-
k8s.io/api v0.28.15
9-
k8s.io/apimachinery v0.28.15
10-
k8s.io/client-go v0.28.15
11-
k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9
10+
k8s.io/api v0.30.11
11+
k8s.io/apimachinery v0.30.11
12+
k8s.io/client-go v0.30.11
13+
k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340
1214
)
1315

1416
require (
1517
github.com/davecgh/go-spew v1.1.1 // indirect
16-
github.com/emicklei/go-restful/v3 v3.9.0 // indirect
18+
github.com/emicklei/go-restful/v3 v3.11.0 // indirect
1719
github.com/evanphx/json-patch v4.12.0+incompatible // indirect
1820
github.com/fsnotify/fsnotify v1.4.9 // indirect
19-
github.com/go-logr/logr v1.3.0 // indirect
21+
github.com/go-logr/logr v1.4.1 // indirect
2022
github.com/go-openapi/jsonpointer v0.19.6 // indirect
2123
github.com/go-openapi/jsonreference v0.20.2 // indirect
2224
github.com/go-openapi/swag v0.22.3 // indirect
@@ -37,7 +39,7 @@ require (
3739
github.com/pkg/errors v0.9.1 // indirect
3840
github.com/spf13/pflag v1.0.5 // indirect
3941
golang.org/x/net v0.35.0 // indirect
40-
golang.org/x/oauth2 v0.8.0 // indirect
42+
golang.org/x/oauth2 v0.10.0 // indirect
4143
golang.org/x/sys v0.30.0 // indirect
4244
golang.org/x/term v0.29.0 // indirect
4345
golang.org/x/text v0.22.0 // indirect
@@ -48,38 +50,38 @@ require (
4850
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 // indirect
4951
gopkg.in/yaml.v2 v2.4.0 // indirect
5052
gopkg.in/yaml.v3 v3.0.1 // indirect
51-
k8s.io/klog/v2 v2.100.1 // indirect
52-
k8s.io/utils v0.0.0-20230406110748-d93618cff8a2 // indirect
53+
k8s.io/klog/v2 v2.120.1 // indirect
54+
k8s.io/utils v0.0.0-20230726121419-3b25d923346b // indirect
5355
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
54-
sigs.k8s.io/structured-merge-diff/v4 v4.2.3 // indirect
56+
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect
5557
sigs.k8s.io/yaml v1.3.0 // indirect
5658
)
5759

5860
replace (
59-
k8s.io/api => k8s.io/api v0.28.15
60-
k8s.io/apiextensions-apiserver => k8s.io/apiextensions-apiserver v0.28.15
61-
k8s.io/apimachinery => k8s.io/apimachinery v0.28.15
62-
k8s.io/apiserver => k8s.io/apiserver v0.28.15
63-
k8s.io/cli-runtime => k8s.io/cli-runtime v0.28.15
64-
k8s.io/client-go => k8s.io/client-go v0.28.15
65-
k8s.io/cloud-provider => k8s.io/cloud-provider v0.28.15
66-
k8s.io/cluster-bootstrap => k8s.io/cluster-bootstrap v0.28.15
67-
k8s.io/code-generator => k8s.io/code-generator v0.28.15
68-
k8s.io/component-base => k8s.io/component-base v0.28.15
69-
k8s.io/component-helpers => k8s.io/component-helpers v0.28.15
70-
k8s.io/controller-manager => k8s.io/controller-manager v0.28.15
71-
k8s.io/cri-api => k8s.io/cri-api v0.28.15
72-
k8s.io/csi-translation-lib => k8s.io/csi-translation-lib v0.28.15
73-
k8s.io/kube-aggregator => k8s.io/kube-aggregator v0.28.15
74-
k8s.io/kube-controller-manager => k8s.io/kube-controller-manager v0.28.15
61+
k8s.io/api => k8s.io/api v0.30.11
62+
k8s.io/apiextensions-apiserver => k8s.io/apiextensions-apiserver v0.30.11
63+
k8s.io/apimachinery => k8s.io/apimachinery v0.30.11
64+
k8s.io/apiserver => k8s.io/apiserver v0.30.11
65+
k8s.io/cli-runtime => k8s.io/cli-runtime v0.30.11
66+
k8s.io/client-go => k8s.io/client-go v0.30.11
67+
k8s.io/cloud-provider => k8s.io/cloud-provider v0.30.11
68+
k8s.io/cluster-bootstrap => k8s.io/cluster-bootstrap v0.30.11
69+
k8s.io/code-generator => k8s.io/code-generator v0.30.11
70+
k8s.io/component-base => k8s.io/component-base v0.30.11
71+
k8s.io/component-helpers => k8s.io/component-helpers v0.30.11
72+
k8s.io/controller-manager => k8s.io/controller-manager v0.30.11
73+
k8s.io/cri-api => k8s.io/cri-api v0.30.11
74+
k8s.io/csi-translation-lib => k8s.io/csi-translation-lib v0.30.11
75+
k8s.io/kube-aggregator => k8s.io/kube-aggregator v0.30.11
76+
k8s.io/kube-controller-manager => k8s.io/kube-controller-manager v0.30.11
7577
k8s.io/kube-openapi => k8s.io/kube-openapi v0.0.0-20230303024457-afdc3dddf62d
76-
k8s.io/kube-proxy => k8s.io/kube-proxy v0.28.15
77-
k8s.io/kube-scheduler => k8s.io/kube-scheduler v0.28.15
78-
k8s.io/kubectl => k8s.io/kubectl v0.28.15
79-
k8s.io/kubelet => k8s.io/kubelet v0.28.15
80-
k8s.io/legacy-cloud-providers => k8s.io/legacy-cloud-providers v0.28.15
81-
k8s.io/metrics => k8s.io/metrics v0.28.15
82-
k8s.io/mount-utils => k8s.io/mount-utils v0.28.15
83-
k8s.io/node-api => k8s.io/node-api v0.28.15
84-
k8s.io/sample-apiserver => k8s.io/sample-apiserver v0.28.15
78+
k8s.io/kube-proxy => k8s.io/kube-proxy v0.30.11
79+
k8s.io/kube-scheduler => k8s.io/kube-scheduler v0.30.11
80+
k8s.io/kubectl => k8s.io/kubectl v0.30.11
81+
k8s.io/kubelet => k8s.io/kubelet v0.30.11
82+
k8s.io/legacy-cloud-providers => k8s.io/legacy-cloud-providers v0.30.11
83+
k8s.io/metrics => k8s.io/metrics v0.30.11
84+
k8s.io/mount-utils => k8s.io/mount-utils v0.30.11
85+
k8s.io/node-api => k8s.io/node-api v0.30.11
86+
k8s.io/sample-apiserver => k8s.io/sample-apiserver v0.30.11
8587
)

api/go.sum

+21-21
Original file line numberDiff line numberDiff line change
@@ -7,18 +7,17 @@ github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSs
77
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
88
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
99
github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE=
10-
github.com/emicklei/go-restful/v3 v3.9.0 h1:XwGDlfxEnQZzuopoqxwSEllNcCOM9DhhFyhFIIGKwxE=
11-
github.com/emicklei/go-restful/v3 v3.9.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc=
10+
github.com/emicklei/go-restful/v3 v3.11.0 h1:rAQeMHw1c7zTmncogyy8VvRZwtkmkZ4FxERmMY4rD+g=
11+
github.com/emicklei/go-restful/v3 v3.11.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc=
1212
github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
1313
github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
1414
github.com/evanphx/json-patch v4.12.0+incompatible h1:4onqiflcdA9EOZ4RxV643DvftH5pOlLGNtQ5lPWQu84=
1515
github.com/evanphx/json-patch v4.12.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=
1616
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
1717
github.com/fsnotify/fsnotify v1.4.9 h1:hsms1Qyu0jgnwNXIxa+/V/PDsU6CfLf6CNO8H7IWoS4=
1818
github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ=
19-
github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
20-
github.com/go-logr/logr v1.3.0 h1:2y3SDp0ZXuc6/cjLSZ+Q3ir+QB9T/iG5yYRXqsagWSY=
21-
github.com/go-logr/logr v1.3.0/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
19+
github.com/go-logr/logr v1.4.1 h1:pKouT5E8xu9zeFC39JXRDukb6JFQPXM5p5I91188VAQ=
20+
github.com/go-logr/logr v1.4.1/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
2221
github.com/go-openapi/jsonpointer v0.19.6 h1:eCs3fxoIi3Wh6vtgmLTOjdhSpiqphQ+DaPn38N2ZdrE=
2322
github.com/go-openapi/jsonpointer v0.19.6/go.mod h1:osyAmYz/mB/C3I+WsTTSgw1ONzaLJoLCyoi6/zppojs=
2423
github.com/go-openapi/jsonreference v0.20.2 h1:3sVjiK66+uXK/6oQ8xgcRKcFgQ5KXa2KvnJRumpMGbE=
@@ -55,6 +54,7 @@ github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMyw
5554
github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
5655
github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
5756
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
57+
github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
5858
github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
5959
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
6060
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
@@ -121,8 +121,8 @@ github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5
121121
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
122122
github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
123123
github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
124-
github.com/stretchr/testify v1.8.2 h1:+h33VjcLVPDHtOdpUCuF+7gSuG3yGIftsP1YvFihtJ8=
125-
github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
124+
github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk=
125+
github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
126126
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
127127
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
128128
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
@@ -148,8 +148,8 @@ golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwY
148148
golang.org/x/net v0.35.0 h1:T5GQRQb2y08kTAByq9L4/bz8cipCdA8FbRTXewonqY8=
149149
golang.org/x/net v0.35.0/go.mod h1:EglIi67kWsHKlRzzVMUD93VMSWGFOMSZgxFjparz1Qk=
150150
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
151-
golang.org/x/oauth2 v0.8.0 h1:6dkIjl3j3LtZ/O3sTgZTMsLKSftL/B8Zgq4huOIIUu8=
152-
golang.org/x/oauth2 v0.8.0/go.mod h1:yr7u4HXZRm1R1kBWqr/xKNqewf0plRYoB7sla+BCIXE=
151+
golang.org/x/oauth2 v0.10.0 h1:zHCpF2Khkwy4mMB4bv0U37YtJdTGW8jI0glAApi0Kh8=
152+
golang.org/x/oauth2 v0.10.0/go.mod h1:kTpgurOux7LqtuxjuyZa4Gj2gdezIt/jQtGnNFfypQI=
153153
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
154154
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
155155
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@@ -236,21 +236,21 @@ gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
236236
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
237237
honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
238238
honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
239-
k8s.io/api v0.28.15 h1:u+Sze8gI+DayQxndS0htiJf8yVooHyUx/H4jEehtmNs=
240-
k8s.io/api v0.28.15/go.mod h1:SJuOJTphYG05iJC9UKnUTNkY84Mvveu1P7adCgWqjCg=
241-
k8s.io/apimachinery v0.28.15 h1:Jg15ZoCcAgnhSRKVS6tQyUZaX9c3i08bl2qAz8XE3bI=
242-
k8s.io/apimachinery v0.28.15/go.mod h1:zUG757HaKs6Dc3iGtKjzIpBfqTM4yiRsEe3/E7NX15o=
243-
k8s.io/client-go v0.28.15 h1:+g6Ub+i6tacV3tYJaoyK6bizpinPkamcEwsiKyHcIxc=
244-
k8s.io/client-go v0.28.15/go.mod h1:/4upIpTbhWQVSXKDqTznjcAegj2Bx73mW/i0aennJrY=
245-
k8s.io/klog/v2 v2.100.1 h1:7WCHKK6K8fNhTqfBhISHQ97KrnJNFZMcQvKp7gP/tmg=
246-
k8s.io/klog/v2 v2.100.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0=
239+
k8s.io/api v0.30.11 h1:TpkiTTxQ6GSwHnqKOPeQRRFcBknTjOBwFYjWmn25Z1U=
240+
k8s.io/api v0.30.11/go.mod h1:DZzjCDcat14fMx/4Fm3h5lsbVStfHmgNzNDMy7JQMqU=
241+
k8s.io/apimachinery v0.30.11 h1:+qV/yXI2R7BxX1zeyELDFb0PopX22znfq5w+icav49k=
242+
k8s.io/apimachinery v0.30.11/go.mod h1:iexa2somDaxdnj7bha06bhb43Zpa6eWH8N8dbqVjTUc=
243+
k8s.io/client-go v0.30.11 h1:yamC5zf/g5ztZO3SELklaOSZKTOAL3Q0v0i6GBvq+Mg=
244+
k8s.io/client-go v0.30.11/go.mod h1:umPRna4oj2zLU03T1m7Cla+yMzRFyhuR+jAbDZNDqlM=
245+
k8s.io/klog/v2 v2.120.1 h1:QXU6cPEOIslTGvZaXvFWiP9VKyeet3sawzTOvdXb4Vw=
246+
k8s.io/klog/v2 v2.120.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE=
247247
k8s.io/kube-openapi v0.0.0-20230303024457-afdc3dddf62d h1:VcFq5n7wCJB2FQMCIHfC+f+jNcGgNMar1uKd6rVlifU=
248248
k8s.io/kube-openapi v0.0.0-20230303024457-afdc3dddf62d/go.mod h1:y5VtZWM9sHHc2ZodIH/6SHzXj+TPU5USoA8lcIeKEKY=
249-
k8s.io/utils v0.0.0-20230406110748-d93618cff8a2 h1:qY1Ad8PODbnymg2pRbkyMT/ylpTrCM8P2RJ0yroCyIk=
250-
k8s.io/utils v0.0.0-20230406110748-d93618cff8a2/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
249+
k8s.io/utils v0.0.0-20230726121419-3b25d923346b h1:sgn3ZU783SCgtaSJjpcVVlRqd6GSnlTLKgpAAttJvpI=
250+
k8s.io/utils v0.0.0-20230726121419-3b25d923346b/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
251251
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo=
252252
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
253-
sigs.k8s.io/structured-merge-diff/v4 v4.2.3 h1:PRbqxJClWWYMNV1dhaG4NsibJbArud9kFxnAMREiWFE=
254-
sigs.k8s.io/structured-merge-diff/v4 v4.2.3/go.mod h1:qjx8mGObPmV2aSZepjQjbmb2ihdVs8cGKBraizNC69E=
253+
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 h1:150L+0vs/8DA78h1u02ooW1/fFq/Lwr+sGiqlzvrtq4=
254+
sigs.k8s.io/structured-merge-diff/v4 v4.4.1/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08=
255255
sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo=
256256
sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8=

apiserver/cmd/apiserver/server/options.go

+5-3
Original file line numberDiff line numberDiff line change
@@ -159,9 +159,6 @@ func (o *CalicoServerOptions) Config() (*apiserver.Config, error) {
159159
if err := o.RecommendedOptions.Audit.ApplyTo(&serverConfig.Config); err != nil {
160160
return nil, err
161161
}
162-
if err := o.RecommendedOptions.Features.ApplyTo(&serverConfig.Config); err != nil {
163-
return nil, err
164-
}
165162

166163
if err := o.RecommendedOptions.CoreAPI.ApplyTo(serverConfig); err != nil {
167164
return nil, err
@@ -171,11 +168,16 @@ func (o *CalicoServerOptions) Config() (*apiserver.Config, error) {
171168
if err != nil {
172169
return nil, err
173170
}
171+
174172
dynamicClient, err := dynamic.NewForConfig(serverConfig.ClientConfig)
175173
if err != nil {
176174
return nil, err
177175
}
178176

177+
if err := o.RecommendedOptions.Features.ApplyTo(&serverConfig.Config, kubeClient, serverConfig.SharedInformerFactory); err != nil {
178+
return nil, err
179+
}
180+
179181
if initializers, err := o.RecommendedOptions.ExtraAdmissionInitializers(serverConfig); err != nil {
180182
return nil, err
181183
} else if err := o.RecommendedOptions.Admission.ApplyTo(

apiserver/cmd/apiserver/tools.go

-3
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,7 @@ import (
2222
_ "k8s.io/code-generator/cmd/deepcopy-gen"
2323
_ "k8s.io/code-generator/cmd/defaulter-gen"
2424
_ "k8s.io/code-generator/cmd/go-to-protobuf"
25-
_ "k8s.io/code-generator/cmd/import-boss"
2625
_ "k8s.io/code-generator/cmd/informer-gen"
2726
_ "k8s.io/code-generator/cmd/lister-gen"
28-
_ "k8s.io/code-generator/cmd/openapi-gen"
2927
_ "k8s.io/code-generator/cmd/register-gen"
30-
_ "k8s.io/code-generator/cmd/set-gen"
3128
)

felix/bpf/proxy/endpoint.go

+152
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,152 @@
1+
// Copyright (c) 2020-2021 Tigera, Inc. All rights reserved.
2+
//
3+
// Licensed under the Apache License, Version 2.0 (the "License");
4+
// you may not use this file except in compliance with the License.
5+
// You may obtain a copy of the License at
6+
//
7+
// http://www.apache.org/licenses/LICENSE-2.0
8+
//
9+
// Unless required by applicable law or agreed to in writing, software
10+
// distributed under the License is distributed on an "AS IS" BASIS,
11+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
// See the License for the specific language governing permissions and
13+
// limitations under the License.
14+
//
15+
//
16+
// NOTICE:
17+
//
18+
// Original code pulled from [email protected], package: pkg/proxy/endpoints.go.
19+
// Adapted for legacy use in this repository.
20+
21+
package proxy
22+
23+
import (
24+
"net"
25+
"strconv"
26+
27+
"k8s.io/apimachinery/pkg/util/sets"
28+
k8sp "k8s.io/kubernetes/pkg/proxy"
29+
)
30+
31+
// endpointInfo contains base information that defines an endpoint.
32+
type endpointInfo struct {
33+
// Cache this values to improve performance
34+
ip string
35+
port int
36+
// endpoint is the same as net.JoinHostPort(ip,port)
37+
endpoint string
38+
39+
// isLocal indicates whether the endpoint is running on same host as kube-proxy.
40+
isLocal bool
41+
42+
// ready indicates whether this endpoint is ready and NOT terminating, unless
43+
// PublishNotReadyAddresses is set on the service, in which case it will just
44+
// always be true.
45+
ready bool
46+
// serving indicates whether this endpoint is ready regardless of its terminating state.
47+
// For pods this is true if it has a ready status regardless of its deletion timestamp.
48+
serving bool
49+
// terminating indicates whether this endpoint is terminating.
50+
// For pods this is true if it has a non-nil deletion timestamp.
51+
terminating bool
52+
53+
// zoneHints represent the zone hints for the endpoint. This is based on
54+
// endpoint.hints.forZones[*].name in the EndpointSlice API.
55+
zoneHints sets.Set[string]
56+
}
57+
58+
var _ k8sp.Endpoint = &endpointInfo{}
59+
60+
type EndpoiontInfoOpt func(*endpointInfo)
61+
62+
// EndpointInfoOptIsLocal applies the given bool to the endpoint's isLocal field.
63+
func EndpointInfoOptIsLocal(b bool) EndpoiontInfoOpt {
64+
return func(ep *endpointInfo) {
65+
ep.isLocal = b
66+
}
67+
}
68+
69+
// EndpointInfoOptIsReady applies the given bool to the endpoint's ready field.
70+
func EndpointInfoOptIsReady(b bool) EndpoiontInfoOpt {
71+
return func(ep *endpointInfo) {
72+
ep.ready = b
73+
}
74+
}
75+
76+
// EndpointInfoOptIsServing applies the given bool to the endpoint's serving field.
77+
func EndpointInfoOptIsServing(b bool) EndpoiontInfoOpt {
78+
return func(ep *endpointInfo) {
79+
ep.serving = b
80+
}
81+
}
82+
83+
// EndpointInfoOptIsTerminating applies the given bool to the endpoint's terminating field.
84+
func EndpointInfoOptIsTerminating(b bool) EndpoiontInfoOpt {
85+
return func(ep *endpointInfo) {
86+
ep.terminating = b
87+
}
88+
}
89+
90+
// EndpointInfoOptZoneHints applies the given set to the endpoint's zoneHints field.
91+
func EndpointInfoOptZoneHints(b sets.Set[string]) EndpoiontInfoOpt {
92+
return func(ep *endpointInfo) {
93+
ep.zoneHints = b
94+
}
95+
}
96+
97+
// NewEndpointInfo creates a new endpointInfo, returning it as a k8s proxy Endpoint.
98+
func NewEndpointInfo(ip string, port int, opts ...EndpoiontInfoOpt) k8sp.Endpoint {
99+
ep := &endpointInfo{
100+
ip: ip,
101+
port: port,
102+
endpoint: net.JoinHostPort(ip, strconv.Itoa(port)),
103+
}
104+
105+
for _, opt := range opts {
106+
opt(ep)
107+
}
108+
109+
return ep
110+
}
111+
112+
// String is part of proxy.Endpoint interface.
113+
func (info *endpointInfo) String() string {
114+
return info.endpoint
115+
}
116+
117+
// IP returns just the IP part of the endpoint, it's a part of proxy.Endpoint interface.
118+
func (info *endpointInfo) IP() string {
119+
return info.ip
120+
}
121+
122+
// Port returns just the Port part of the endpoint.
123+
func (info *endpointInfo) Port() int {
124+
return info.port
125+
}
126+
127+
// IsLocal is part of proxy.Endpoint interface.
128+
func (info *endpointInfo) IsLocal() bool {
129+
return info.isLocal
130+
}
131+
132+
// IsReady returns true if an endpoint is ready and not terminating.
133+
func (info *endpointInfo) IsReady() bool {
134+
return info.ready
135+
}
136+
137+
// IsServing returns true if an endpoint is ready, regardless of if the
138+
// endpoint is terminating.
139+
func (info *endpointInfo) IsServing() bool {
140+
return info.serving
141+
}
142+
143+
// IsTerminating retruns true if an endpoint is terminating. For pods,
144+
// that is any pod with a deletion timestamp.
145+
func (info *endpointInfo) IsTerminating() bool {
146+
return info.terminating
147+
}
148+
149+
// ZoneHints returns the zone hint for the endpoint.
150+
func (info *endpointInfo) ZoneHints() sets.Set[string] {
151+
return info.zoneHints
152+
}

0 commit comments

Comments
 (0)