Skip to content

Commit 1101c1d

Browse files
Merge branch 'main' into client-wrr
2 parents dd5d285 + 4784e5a commit 1101c1d

File tree

198 files changed

+6351
-781
lines changed

Some content is hidden

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

198 files changed

+6351
-781
lines changed

.github/codecov.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,3 +16,4 @@ ignore:
1616
- "**/*.pb.go"
1717
- "**/zz_generated.*.go"
1818
- "api/**/*_types.go"
19+
- "pkg/client/**"

.github/workflows/release.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ jobs:
5454
contents: write
5555
steps:
5656
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
57+
- uses: ./tools/github-actions/reclaim-storage
5758

5859
- name: Extract Release Tag and Commit SHA
5960
id: vars

OWNERS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ reviewers:
3636
- tanujd11
3737
- liorokman
3838
- shahar-h
39+
- sudiptob2
3940

4041
emeritus-reviewers:
4142

api/v1alpha1/backend_types.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@ const (
2929
AppProtocolTypeWSS AppProtocolType = "gateway.envoyproxy.io/wss"
3030
)
3131

32+
// +genclient
33+
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
3234
// Backend allows the user to configure the endpoints of a backend and
3335
// the behavior of the connection from Envoy Proxy to the backend.
3436
//
@@ -281,6 +283,7 @@ type BackendStatus struct {
281283
Conditions []metav1.Condition `json:"conditions,omitempty"`
282284
}
283285

286+
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
284287
// BackendList contains a list of Backend resources.
285288
//
286289
// +kubebuilder:object:root=true
@@ -291,5 +294,5 @@ type BackendList struct {
291294
}
292295

293296
func init() {
294-
SchemeBuilder.Register(&Backend{}, &BackendList{})
297+
localSchemeBuilder.Register(&Backend{}, &BackendList{})
295298
}

api/v1alpha1/backendtrafficpolicy_types.go

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@ const (
2323
// +kubebuilder:resource:categories=envoy-gateway,shortName=btp
2424
// +kubebuilder:subresource:status
2525
// +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp`
26+
// +genclient
27+
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
2628
type BackendTrafficPolicy struct {
2729
metav1.TypeMeta `json:",inline"`
2830
metav1.ObjectMeta `json:"metadata,omitempty"`
@@ -82,6 +84,7 @@ type BackendTrafficPolicySpec struct {
8284

8385
// The compressor config for the http streams.
8486
// This provides more granular control over compression configuration.
87+
// Order matters: The first compressor in the list is preferred when q-values in Accept-Encoding are equal.
8588
//
8689
// +patchMergeKey=type
8790
// +patchStrategy=merge
@@ -126,6 +129,24 @@ type BackendTelemetry struct {
126129
//
127130
// +optional
128131
Tracing *Tracing `json:"tracing,omitempty"`
132+
// Metrics defines metrics configuration for the backend or Route.
133+
//
134+
// +optional
135+
Metrics *BackendMetrics `json:"metrics,omitempty"`
136+
}
137+
138+
type BackendMetrics struct {
139+
// RouteStatName defines the value of the Route stat_prefix, determining how the route stats are named.
140+
// For more details, see envoy docs: https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/route/v3/route_components.proto#config-route-v3-route
141+
// The supported operators for this pattern are:
142+
// %ROUTE_NAME%: name of Gateway API xRoute resource
143+
// %ROUTE_NAMESPACE%: namespace of Gateway API xRoute resource
144+
// %ROUTE_KIND%: kind of Gateway API xRoute resource
145+
// Example: %ROUTE_KIND%/%ROUTE_NAMESPACE%/%ROUTE_NAME% => httproute/my-ns/my-route
146+
// Disabled by default.
147+
//
148+
// +optional
149+
RouteStatName *string `json:"routeStatName,omitempty"`
129150
}
130151

131152
// ProtocolUpgradeConfig specifies the configuration for protocol upgrades.
@@ -165,12 +186,13 @@ type RequestBuffer struct {
165186
// BackendTrafficPolicyList contains a list of BackendTrafficPolicy resources.
166187
//
167188
// +kubebuilder:object:root=true
189+
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
168190
type BackendTrafficPolicyList struct {
169191
metav1.TypeMeta `json:",inline"`
170192
metav1.ListMeta `json:"metadata,omitempty"`
171193
Items []BackendTrafficPolicy `json:"items"`
172194
}
173195

174196
func init() {
175-
SchemeBuilder.Register(&BackendTrafficPolicy{}, &BackendTrafficPolicyList{})
197+
localSchemeBuilder.Register(&BackendTrafficPolicy{}, &BackendTrafficPolicyList{})
176198
}

api/v1alpha1/clienttrafficpolicy_types.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@ const (
2222

2323
// ClientTrafficPolicy allows the user to configure the behavior of the connection
2424
// between the downstream client and Envoy Proxy listener.
25+
// +genclient
26+
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
2527
type ClientTrafficPolicy struct {
2628
metav1.TypeMeta `json:",inline"`
2729
metav1.ObjectMeta `json:"metadata,omitempty"`
@@ -404,12 +406,13 @@ type ProxyProtocolSettings struct {
404406
//+kubebuilder:object:root=true
405407

406408
// ClientTrafficPolicyList contains a list of ClientTrafficPolicy resources.
409+
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
407410
type ClientTrafficPolicyList struct {
408411
metav1.TypeMeta `json:",inline"`
409412
metav1.ListMeta `json:"metadata,omitempty"`
410413
Items []ClientTrafficPolicy `json:"items"`
411414
}
412415

413416
func init() {
414-
SchemeBuilder.Register(&ClientTrafficPolicy{}, &ClientTrafficPolicyList{})
417+
localSchemeBuilder.Register(&ClientTrafficPolicy{}, &ClientTrafficPolicyList{})
415418
}

api/v1alpha1/doc.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
// Package v1alpha1 contains API schema definitions for the gateway.envoyproxy.io
77
// API group.
88
//
9-
// +kubebuilder:object:generate=true
9+
// +k8s:deepcopy-gen=package
1010
// +groupName=gateway.envoyproxy.io
11+
// +kubebuilder:object:generate=true
1112
package v1alpha1

api/v1alpha1/envoyextensionypolicy_types.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ const (
2121
// +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp`
2222

2323
// EnvoyExtensionPolicy allows the user to configure various envoy extensibility options for the Gateway.
24+
// +genclient
25+
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
2426
type EnvoyExtensionPolicy struct {
2527
metav1.TypeMeta `json:",inline"`
2628
metav1.ObjectMeta `json:"metadata,omitempty"`
@@ -68,12 +70,13 @@ type EnvoyExtensionPolicySpec struct {
6870
//+kubebuilder:object:root=true
6971

7072
// EnvoyExtensionPolicyList contains a list of EnvoyExtensionPolicy resources.
73+
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
7174
type EnvoyExtensionPolicyList struct {
7275
metav1.TypeMeta `json:",inline"`
7376
metav1.ListMeta `json:"metadata,omitempty"`
7477
Items []EnvoyExtensionPolicy `json:"items"`
7578
}
7679

7780
func init() {
78-
SchemeBuilder.Register(&EnvoyExtensionPolicy{}, &EnvoyExtensionPolicyList{})
81+
localSchemeBuilder.Register(&EnvoyExtensionPolicy{}, &EnvoyExtensionPolicyList{})
7982
}

api/v1alpha1/envoygateway_types.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -866,5 +866,5 @@ type EnvoyGatewayTopologyInjector struct {
866866
}
867867

868868
func init() {
869-
SchemeBuilder.Register(&EnvoyGateway{})
869+
localSchemeBuilder.Register(&EnvoyGateway{})
870870
}

api/v1alpha1/envoypatchpolicy_types.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@ const (
2424

2525
// EnvoyPatchPolicy allows the user to modify the generated Envoy xDS
2626
// resources by Envoy Gateway using this patch API
27+
// +genclient
28+
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
2729
type EnvoyPatchPolicy struct {
2830
metav1.TypeMeta `json:",inline"`
2931
metav1.ObjectMeta `json:"metadata,omitempty"`
@@ -169,12 +171,13 @@ const (
169171
//+kubebuilder:object:root=true
170172

171173
// EnvoyPatchPolicyList contains a list of EnvoyPatchPolicy resources.
174+
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
172175
type EnvoyPatchPolicyList struct {
173176
metav1.TypeMeta `json:",inline"`
174177
metav1.ListMeta `json:"metadata,omitempty"`
175178
Items []EnvoyPatchPolicy `json:"items"`
176179
}
177180

178181
func init() {
179-
SchemeBuilder.Register(&EnvoyPatchPolicy{}, &EnvoyPatchPolicyList{})
182+
localSchemeBuilder.Register(&EnvoyPatchPolicy{}, &EnvoyPatchPolicyList{})
180183
}

0 commit comments

Comments
 (0)