Skip to content

Commit cb78ab4

Browse files
committed
Merge remote-tracking branch 'upstream/master'
2 parents 49fea8e + defe53f commit cb78ab4

File tree

234 files changed

+48875
-1675
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

234 files changed

+48875
-1675
lines changed

.ci-operator.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
build_root_image:
22
name: release
33
namespace: openshift
4-
tag: rhel-9-release-golang-1.21-openshift-4.16
4+
tag: rhel-9-release-golang-1.22-openshift-4.17

Dockerfile

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
FROM registry.ci.openshift.org/ocp/builder:rhel-9-golang-1.21-openshift-4.16 AS builder
1+
FROM registry.ci.openshift.org/ocp/builder:rhel-9-golang-1.22-openshift-4.17 AS builder
22
WORKDIR /ingress-operator
33
COPY . .
44
RUN make build
55

6-
FROM registry.ci.openshift.org/ocp/4.16:base-rhel9
6+
FROM registry.ci.openshift.org/ocp/4.17:base-rhel9
77
COPY --from=builder /ingress-operator/ingress-operator /usr/bin/
88
COPY manifests /manifests
99
ENTRYPOINT ["/usr/bin/ingress-operator"]

Makefile

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ endif
1212
GO=GO111MODULE=on GOFLAGS=-mod=vendor go
1313
GO_BUILD_RECIPE=CGO_ENABLED=1 $(GO) build -o $(BIN) $(GO_GCFLAGS) $(MAIN_PACKAGE)
1414

15-
TEST ?= TestAll
15+
TEST ?= ^TestAll$
1616

1717
.PHONY: build
1818
build: generate

OWNERS

+4
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ approvers:
77
- alebedev87
88
- miheer
99
- gcs278
10+
- Thealisyed
11+
- grzpiotrowski
1012
reviewers:
1113
- knobunc
1214
- Miciah
@@ -16,6 +18,8 @@ reviewers:
1618
- alebedev87
1719
- miheer
1820
- gcs278
21+
- Thealisyed
22+
- grzpiotrowski
1923
emeritus_approvers:
2024
- ironcladlou
2125
- pravisankar

cmd/ingress-operator/main.go

+1
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ func main() {
3636
},
3737
})
3838
rootCmd.AddCommand(h2specclient.NewClientCommand())
39+
rootCmd.AddCommand(httphealthcheck.NewServeDelayConnectCommand())
3940

4041
if err := rootCmd.Execute(); err != nil {
4142
log.Error(err, "error")

go.mod

+8-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
module github.com/openshift/cluster-ingress-operator
22

3-
go 1.21
3+
go 1.22
44

5-
toolchain go1.21.7
5+
toolchain go1.22.1
66

77
require (
88
github.com/Azure/azure-sdk-for-go v46.0.0+incompatible
@@ -15,9 +15,11 @@ require (
1515
github.com/aliyun/alibaba-cloud-sdk-go v1.61.1286
1616
github.com/aws/aws-sdk-go v1.38.49
1717
github.com/davecgh/go-spew v1.1.1
18+
github.com/florianl/go-nfqueue v1.3.2
1819
github.com/go-logr/logr v1.4.1
1920
github.com/go-logr/zapr v1.3.0
2021
github.com/google/go-cmp v0.6.0
22+
github.com/google/gopacket v1.1.19
2123
github.com/jongio/azidext/go/azidext v0.4.0
2224
github.com/maistra/istio-operator v0.0.0-20230322122339-793794762e67
2325
github.com/openshift/api v3.9.1-0.20190924102528-32369d4db2ad+incompatible
@@ -95,13 +97,16 @@ require (
9597
github.com/inconshreveable/mousetrap v1.1.0 // indirect
9698
github.com/jmespath/go-jmespath v0.4.0 // indirect
9799
github.com/josharian/intern v1.0.0 // indirect
100+
github.com/josharian/native v1.0.0 // indirect
98101
github.com/json-iterator/go v1.1.12 // indirect
99102
github.com/kylelemons/godebug v1.1.0 // indirect
100103
github.com/leodido/go-urn v1.2.0 // indirect
101104
github.com/mailru/easyjson v0.7.7 // indirect
102105
github.com/mattn/go-colorable v0.1.8 // indirect
103106
github.com/mattn/go-isatty v0.0.16 // indirect
104107
github.com/matttproud/golang_protobuf_extensions/v2 v2.0.0 // indirect
108+
github.com/mdlayher/netlink v1.6.0 // indirect
109+
github.com/mdlayher/socket v0.1.1 // indirect
105110
github.com/mitchellh/mapstructure v1.4.1 // indirect
106111
github.com/moby/spdystream v0.2.0 // indirect
107112
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
@@ -124,6 +129,7 @@ require (
124129
golang.org/x/crypto v0.16.0 // indirect
125130
golang.org/x/net v0.19.0 // indirect
126131
golang.org/x/oauth2 v0.12.0 // indirect
132+
golang.org/x/sync v0.5.0 // indirect
127133
golang.org/x/sys v0.16.0 // indirect
128134
golang.org/x/term v0.15.0 // indirect
129135
golang.org/x/text v0.14.0 // indirect

go.sum

+12
Original file line numberDiff line numberDiff line change
@@ -944,6 +944,8 @@ github.com/fatih/color v1.10.0/go.mod h1:ELkj/draVOlAH/xkhN6mQ50Qd0MPOk5AAr3maGE
944944
github.com/fatih/color v1.12.0 h1:mRhaKNwANqRgUBGKmnI5ZxEk7QXmjQeCcuYFMX2bfcc=
945945
github.com/fatih/color v1.12.0/go.mod h1:ELkj/draVOlAH/xkhN6mQ50Qd0MPOk5AAr3maGEBuJM=
946946
github.com/fatih/structtag v1.1.0/go.mod h1:mBJUNpUnHmRKrKlQQlmCrh5PuhftFbNv8Ys4/aAZl94=
947+
github.com/florianl/go-nfqueue v1.3.2 h1:8DPzhKJHywpHJAE/4ktgcqveCL7qmMLsEsVD68C4x4I=
948+
github.com/florianl/go-nfqueue v1.3.2/go.mod h1:eSnAor2YCfMCVYrVNEhkLGN/r1L+J4uDjc0EUy0tfq4=
947949
github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k=
948950
github.com/fogleman/gg v1.3.0/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k=
949951
github.com/fortytw2/leaktest v1.3.0/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHquHwclZch5g=
@@ -1213,6 +1215,8 @@ github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/
12131215
github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
12141216
github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0=
12151217
github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
1218+
github.com/google/gopacket v1.1.19 h1:ves8RnFZPGiFnTS0uPQStjwru6uO6h+nlr9j6fL7kF8=
1219+
github.com/google/gopacket v1.1.19/go.mod h1:iJ8V8n6KS+z2U1A8pUwu8bW5SyEMkXJB8Yo/Vo+TKTo=
12161220
github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs=
12171221
github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0=
12181222
github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0=
@@ -1396,6 +1400,8 @@ github.com/jongio/azidext/go/azidext v0.4.0 h1:TOYyVFMeWGgXNhURSgrEtUCu7JAAKgsy+
13961400
github.com/jongio/azidext/go/azidext v0.4.0/go.mod h1:VrlpGde5B+pPbTUxnThE5UIQQkcebdr3jrC2MmlMVSI=
13971401
github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY=
13981402
github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y=
1403+
github.com/josharian/native v1.0.0 h1:Ts/E8zCSEsG17dUqv7joXJFybuMLjQfWE04tsBODTxk=
1404+
github.com/josharian/native v1.0.0/go.mod h1:7X/raswPFr05uY3HiLlYeyQntB6OO7E/d2Cu7qoaN2w=
13991405
github.com/jpillora/backoff v1.0.0 h1:uvFg412JmmHBHw7iwprIxkPMI+sGQ4kzOWsMeHnm2EA=
14001406
github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4=
14011407
github.com/json-iterator/go v0.0.0-20180612202835-f2b4162afba3/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
@@ -1511,6 +1517,10 @@ github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5
15111517
github.com/matttproud/golang_protobuf_extensions/v2 v2.0.0 h1:jWpvCLoY8Z/e3VKvlsiIGKtc+UG6U5vzxaoagmhXfyg=
15121518
github.com/matttproud/golang_protobuf_extensions/v2 v2.0.0/go.mod h1:QUyp042oQthUoa9bqDv0ER0wrtXnBruoNd7aNjkbP+k=
15131519
github.com/maxbrunsfeld/counterfeiter/v6 v6.2.2/go.mod h1:eD9eIE7cdwcMi9rYluz88Jz2VyhSmden33/aXg4oVIY=
1520+
github.com/mdlayher/netlink v1.6.0 h1:rOHX5yl7qnlpiVkFWoqccueppMtXzeziFjWAjLg6sz0=
1521+
github.com/mdlayher/netlink v1.6.0/go.mod h1:0o3PlBmGst1xve7wQ7j/hwpNaFaH4qCRyWCdcZk8/vA=
1522+
github.com/mdlayher/socket v0.1.1 h1:q3uOGirUPfAV2MUoaC7BavjQ154J7+JOkTWyiV+intI=
1523+
github.com/mdlayher/socket v0.1.1/go.mod h1:mYV5YIZAfHh4dzDVzI8x8tWLWCliuX8Mon5Awbj+qDs=
15141524
github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg=
15151525
github.com/miekg/dns v1.1.15/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg=
15161526
github.com/miekg/dns v1.1.22/go.mod h1:bPDLeHnStXmXAq1m/Ch/hvfNHr14JKNPMBo3VZKjuso=
@@ -2132,6 +2142,7 @@ golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96b
21322142
golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk=
21332143
golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
21342144
golang.org/x/net v0.0.0-20210813160813-60bc85c4be6d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
2145+
golang.org/x/net v0.0.0-20210928044308-7d9f5e0b762b/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
21352146
golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
21362147
golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
21372148
golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk=
@@ -2314,6 +2325,7 @@ golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBc
23142325
golang.org/x/sys v0.0.0-20210816183151-1e6c022a8912/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
23152326
golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
23162327
golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
2328+
golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
23172329
golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
23182330
golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
23192331
golang.org/x/sys v0.0.0-20211124211545-fe61309f8881/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=

pkg/manifests/assets/canary/daemonset.yaml

+14-1
Original file line numberDiff line numberDiff line change
@@ -25,19 +25,32 @@ spec:
2525
imagePullPolicy: IfNotPresent
2626
terminationMessagePolicy: FallbackToLogsOnError
2727
ports:
28-
- containerPort: 8080
28+
- containerPort: 8443
2929
protocol: TCP
3030
- containerPort: 8888
3131
protocol: TCP
3232
resources:
3333
requests:
3434
cpu: 10m
3535
memory: 20Mi
36+
volumeMounts:
37+
- name: cert
38+
mountPath: /etc/tls-cert
39+
env:
40+
- name: TLS_CERT
41+
value: /etc/tls-cert/tls.crt
42+
- name: TLS_KEY
43+
value: /etc/tls-cert/tls.key
3644
nodeSelector:
3745
kubernetes.io/os: linux
3846
tolerations:
3947
- key: node-role.kubernetes.io/infra
4048
operator: Exists
49+
volumes:
50+
- name: cert
51+
secret:
52+
secretName: canary-serving-cert
53+
defaultMode: 0420
4154
updateStrategy:
4255
type: RollingUpdate
4356
rollingUpdate:

pkg/manifests/assets/canary/route.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,12 @@ metadata:
88
haproxy.router.openshift.io/balance: "roundrobin"
99
spec:
1010
port:
11-
targetPort: 8080-tcp
11+
targetPort: 8443-tcp
1212
to:
1313
kind: Service
1414
# Service name set at run time
1515
weight: 100
1616
tls:
17-
termination: edge
17+
termination: passthrough
1818
insecureEdgeTerminationPolicy: Redirect
1919
wildcardPolicy: None

pkg/manifests/assets/canary/service.yaml

+7-4
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,17 @@
22
# Specific values are applied at runtime
33
kind: Service
44
apiVersion: v1
5-
# name and namespace are set at runtime.
5+
metadata:
6+
# name and namespace are set at runtime.
7+
annotations:
8+
service.beta.openshift.io/serving-cert-secret-name: canary-serving-cert
69
spec:
710
type: ClusterIP
811
ports:
9-
- name: 8080-tcp
10-
port: 8080
12+
- name: 8443-tcp
13+
port: 8443
1114
protocol: TCP
12-
targetPort: 8080
15+
targetPort: 8443
1316
- name: 8888-tcp
1417
port: 8888
1518
protocol: TCP

pkg/manifests/assets/gateway-api/gateway.networking.k8s.io_gatewayclasses.yaml

+27-22
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@ apiVersion: apiextensions.k8s.io/v1
22
kind: CustomResourceDefinition
33
metadata:
44
annotations:
5-
api-approved.kubernetes.io: https://github.com/kubernetes-sigs/gateway-api/pull/1086
6-
gateway.networking.k8s.io/bundle-version: v0.6.0-dev
7-
gateway.networking.k8s.io/channel: experimental
5+
api-approved.kubernetes.io: https://github.com/kubernetes-sigs/gateway-api/pull/1538
6+
gateway.networking.k8s.io/bundle-version: v0.6.2
7+
gateway.networking.k8s.io/channel: standard
88
creationTimestamp: null
99
name: gatewayclasses.gateway.networking.k8s.io
1010
spec:
@@ -34,6 +34,9 @@ spec:
3434
name: Description
3535
priority: 1
3636
type: string
37+
deprecated: true
38+
deprecationWarning: The v1alpha2 version of GatewayClass has been deprecated and
39+
will be removed in a future release of the API. Please upgrade to v1beta1.
3740
name: v1alpha2
3841
schema:
3942
openAPIV3Schema:
@@ -87,7 +90,7 @@ spec:
8790
resource, i.e. ConfigMap, or an implementation-specific custom resource.
8891
The resource can be cluster-scoped or namespace-scoped. \n If the
8992
referent cannot be found, the GatewayClass's \"InvalidParameters\"
90-
status condition will be true. \n Support: Custom"
93+
status condition will be true. \n Support: Implementation-specific"
9194
properties:
9295
group:
9396
description: Group is the group of the referent.
@@ -135,7 +138,7 @@ spec:
135138
default:
136139
- lastTransitionTime: "1970-01-01T00:00:00Z"
137140
message: Waiting for controller
138-
reason: Waiting
141+
reason: Pending
139142
status: Unknown
140143
type: Accepted
141144
description: "Conditions is the current status from the controller
@@ -145,13 +148,14 @@ spec:
145148
description: "Condition contains details for one aspect of the current
146149
state of this API Resource. --- This struct is intended for direct
147150
use as an array at the field path .status.conditions. For example,
148-
type FooStatus struct{ // Represents the observations of a
149-
foo's current state. // Known .status.conditions.type are:
150-
\"Available\", \"Progressing\", and \"Degraded\" // +patchMergeKey=type
151-
\ // +patchStrategy=merge // +listType=map // +listMapKey=type
152-
\ Conditions []metav1.Condition `json:\"conditions,omitempty\"
153-
patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`
154-
\n // other fields }"
151+
\n \ttype FooStatus struct{ \t // Represents the observations
152+
of a foo's current state. \t // Known .status.conditions.type
153+
are: \"Available\", \"Progressing\", and \"Degraded\" \t //
154+
+patchMergeKey=type \t // +patchStrategy=merge \t // +listType=map
155+
\t // +listMapKey=type \t Conditions []metav1.Condition
156+
`json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\"
157+
protobuf:\"bytes,1,rep,name=conditions\"` \n \t // other fields
158+
\t}"
155159
properties:
156160
lastTransitionTime:
157161
description: lastTransitionTime is the last time the condition
@@ -217,7 +221,7 @@ spec:
217221
required:
218222
- spec
219223
type: object
220-
served: false
224+
served: true
221225
storage: false
222226
subresources:
223227
status: {}
@@ -288,7 +292,7 @@ spec:
288292
resource, i.e. ConfigMap, or an implementation-specific custom resource.
289293
The resource can be cluster-scoped or namespace-scoped. \n If the
290294
referent cannot be found, the GatewayClass's \"InvalidParameters\"
291-
status condition will be true. \n Support: Custom"
295+
status condition will be true. \n Support: Implementation-specific"
292296
properties:
293297
group:
294298
description: Group is the group of the referent.
@@ -336,7 +340,7 @@ spec:
336340
default:
337341
- lastTransitionTime: "1970-01-01T00:00:00Z"
338342
message: Waiting for controller
339-
reason: Waiting
343+
reason: Pending
340344
status: Unknown
341345
type: Accepted
342346
description: "Conditions is the current status from the controller
@@ -346,13 +350,14 @@ spec:
346350
description: "Condition contains details for one aspect of the current
347351
state of this API Resource. --- This struct is intended for direct
348352
use as an array at the field path .status.conditions. For example,
349-
type FooStatus struct{ // Represents the observations of a
350-
foo's current state. // Known .status.conditions.type are:
351-
\"Available\", \"Progressing\", and \"Degraded\" // +patchMergeKey=type
352-
\ // +patchStrategy=merge // +listType=map // +listMapKey=type
353-
\ Conditions []metav1.Condition `json:\"conditions,omitempty\"
354-
patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`
355-
\n // other fields }"
353+
\n \ttype FooStatus struct{ \t // Represents the observations
354+
of a foo's current state. \t // Known .status.conditions.type
355+
are: \"Available\", \"Progressing\", and \"Degraded\" \t //
356+
+patchMergeKey=type \t // +patchStrategy=merge \t // +listType=map
357+
\t // +listMapKey=type \t Conditions []metav1.Condition
358+
`json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\"
359+
protobuf:\"bytes,1,rep,name=conditions\"` \n \t // other fields
360+
\t}"
356361
properties:
357362
lastTransitionTime:
358363
description: lastTransitionTime is the last time the condition

0 commit comments

Comments
 (0)