Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: initial impl of removing usage gloo proxy #10397

Merged
merged 51 commits into from
Dec 21, 2024
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
0f0e9af
translate without gloo proxy
yuval-k Dec 10, 2024
8b55e40
add plugins and example apis
yuval-k Dec 10, 2024
9da1386
some cleanup; trying to get happy path setup test running
yuval-k Dec 11, 2024
66c4ef2
cleanup; disable panics
yuval-k Dec 11, 2024
372b03b
use correct upstream key; fix some NPEs; remove some files added to t…
yuval-k Dec 11, 2024
bb2854c
plumb stop to collections for clean exist on tests
yuval-k Dec 11, 2024
b5dcb96
initialize eds for k8s; output snpashots on krt debug
yuval-k Dec 11, 2024
e4cff3b
minor fixes
yuval-k Dec 11, 2024
7c16d2f
allow policies that apply to every object
yuval-k Dec 12, 2024
4570891
add equals to attached policies on resources that are in krt
yuval-k Dec 12, 2024
e738b77
add dest rule to registry
yuval-k Dec 12, 2024
35fbb8d
plumb listener / gw attached policies
yuval-k Dec 12, 2024
180ff08
plumb backend ref plugin
yuval-k Dec 13, 2024
fbaf009
Update projects/gateway2/krtcollections/policy.go
yuval-k Dec 13, 2024
386cfe2
fix some tests and minor changes
yuval-k Dec 13, 2024
4cc8029
update tests
yuval-k Dec 14, 2024
05a0025
mirror built in plugin + stuff
yuval-k Dec 14, 2024
0c4de04
fix backend test
yuval-k Dec 14, 2024
20f048b
fix some NPEs
yuval-k Dec 15, 2024
ae50e96
translation tests - fix bugs
yuval-k Dec 15, 2024
e975116
fixing translation tests:
yuval-k Dec 16, 2024
918f511
don't use StripPodUnusedFields in a namespace client.
yuval-k Dec 16, 2024
64380ef
delegation: run route plugins also with delegate parent policies.
yuval-k Dec 16, 2024
538f1c6
propagate missing upstream error
yuval-k Dec 16, 2024
f6eb994
Update projects/gateway2/extensions2/plugins/upstream/plugin.go
yuval-k Dec 17, 2024
9082605
static code checks; other feedback
yuval-k Dec 16, 2024
508dcff
skip route options checks for now;
yuval-k Dec 17, 2024
be34294
add unit tests for route index
yuval-k Dec 17, 2024
7356e73
fix query unit tests
yuval-k Dec 18, 2024
4ac01f1
fix build deployer test
yuval-k Dec 18, 2024
fe4481d
`go test ./...` under projects/gateway2 passing
yuval-k Dec 18, 2024
a323527
cleanup
yuval-k Dec 19, 2024
6cdcde7
add rbac
yuval-k Dec 19, 2024
d42b7b0
binding
yuval-k Dec 19, 2024
1371659
direct response test + fix now that plugins run later
yuval-k Dec 19, 2024
e85388c
add labels to rbac
yuval-k Dec 19, 2024
2c6ba0d
Merge branch 'main' into no-proxy
yuval-k Dec 19, 2024
af219e8
remove extensions from test
yuval-k Dec 19, 2024
53e53b3
bring back the behavior where delegated route with no backends doesn'…
yuval-k Dec 19, 2024
122546d
plumb settings to istio plugin to make setup tests pass again
yuval-k Dec 19, 2024
ce683bd
doc
yuval-k Dec 19, 2024
2eb3b2e
codegen
yuval-k Dec 19, 2024
cf61f56
hopefully fix static checks
yuval-k Dec 19, 2024
d2de4eb
static code check / pr feedback
yuval-k Dec 19, 2024
b214226
code gen; basic version of builtin plugins to make conformance pass
yuval-k Dec 20, 2024
c3c76ae
make conformance tests pass by:
yuval-k Dec 20, 2024
c5c35ce
fix bug with multiple svc ports
yuval-k Dec 20, 2024
fb8e5d4
fix more bugs found in conformance
yuval-k Dec 20, 2024
0d79928
fix builtin redirect on delegate
yuval-k Dec 20, 2024
9da6de7
make a diff that can be applied
yuval-k Dec 20, 2024
5c0aa4c
apply code-gen diff
yuval-k Dec 20, 2024
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
8 changes: 4 additions & 4 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ require (
go.uber.org/zap v1.27.0
golang.org/x/crypto v0.28.0
golang.org/x/sync v0.8.0
golang.org/x/tools v0.24.0
golang.org/x/tools v0.26.0
google.golang.org/grpc v1.67.1
google.golang.org/protobuf v1.35.1
gopkg.in/AlecAivazis/survey.v1 v1.8.7
Expand Down Expand Up @@ -102,12 +102,13 @@ require (
github.com/stoewer/go-strcase v1.3.0
github.com/stretchr/testify v1.9.0
golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56
golang.org/x/net v0.30.0
google.golang.org/genproto/googleapis/api v0.0.0-20241021214115-324edc3d5d38
google.golang.org/genproto/googleapis/rpc v0.0.0-20241021214115-324edc3d5d38
istio.io/api v1.24.0-alpha.0.0.20241106042855-9e26cdd3450a
istio.io/client-go v1.24.0-alpha.0.0.20241106043554-b5828356941f
istio.io/istio v0.0.0-20241107203726-094b9e700412
sigs.k8s.io/controller-tools v0.16.3
sigs.k8s.io/controller-tools v0.16.5
sigs.k8s.io/structured-merge-diff/v4 v4.4.1
)

Expand Down Expand Up @@ -188,7 +189,7 @@ require (
github.com/go-stack/stack v1.8.0 // indirect
github.com/go-task/slim-sprig/v3 v3.0.0 // indirect
github.com/go-test/deep v1.0.8 // indirect
github.com/gobuffalo/flect v1.0.2 // indirect
github.com/gobuffalo/flect v1.0.3 // indirect
github.com/gobwas/glob v0.2.3 // indirect
github.com/goccy/go-json v0.10.3 // indirect
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
Expand Down Expand Up @@ -320,7 +321,6 @@ require (
go.starlark.net v0.0.0-20231121155337-90ade8b19d09 // indirect
go.uber.org/atomic v1.11.0 // indirect
golang.org/x/mod v0.21.0 // indirect
golang.org/x/net v0.30.0 // indirect
golang.org/x/oauth2 v0.23.0 // indirect
golang.org/x/sys v0.26.0 // indirect
golang.org/x/term v0.25.0 // indirect
Expand Down
11 changes: 6 additions & 5 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -1843,8 +1843,8 @@ github.com/go-test/deep v1.0.2/go.mod h1:wGDj63lr65AM2AQyKZd/NYHGb0R+1RLqB8NKt3a
github.com/go-test/deep v1.0.8 h1:TDsG77qcSprGbC6vTN8OuXp5g+J+b5Pcguhf7Zt61VM=
github.com/go-test/deep v1.0.8/go.mod h1:5C2ZWiW0ErCdrYzpqxLbTX7MG14M9iiw8DgHncVwcsE=
github.com/gobuffalo/flect v0.2.4/go.mod h1:1ZyCLIbg0YD7sDkzvFdPoOydPtD8y9JQnrOROolUcM8=
github.com/gobuffalo/flect v1.0.2 h1:eqjPGSo2WmjgY2XlpGwo2NXgL3RucAKo4k4qQMNA5sA=
github.com/gobuffalo/flect v1.0.2/go.mod h1:A5msMlrHtLqh9umBSnvabjsMrCcCpAyzglnDvkbYKHs=
github.com/gobuffalo/flect v1.0.3 h1:xeWBM2nui+qnVvNM4S3foBhCAL2XgPU+a7FdpelbTq4=
github.com/gobuffalo/flect v1.0.3/go.mod h1:A5msMlrHtLqh9umBSnvabjsMrCcCpAyzglnDvkbYKHs=
github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y=
github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8=
github.com/gobwas/httphead v0.1.0/go.mod h1:O/RXo79gxV8G+RqlR/otEwx4Q36zl9rqC5u12GKvMCM=
Expand Down Expand Up @@ -3532,8 +3532,9 @@ golang.org/x/tools v0.17.0/go.mod h1:xsh6VxdV005rRVaS6SSAf9oiAqljS7UZUacMZ8Bnsps
golang.org/x/tools v0.20.0/go.mod h1:WvitBU7JJf6A4jOdg4S1tviW9bhUxkgeCui/0JHctQg=
golang.org/x/tools v0.21.0/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk=
golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk=
golang.org/x/tools v0.24.0 h1:J1shsA93PJUEVaUSaay7UXAyE8aimq3GW0pjlolpa24=
golang.org/x/tools v0.24.0/go.mod h1:YhNqVBIfWHdzvTLs0d8LCuMhkKUgSUKldakyV7W/WDQ=
golang.org/x/tools v0.26.0 h1:v/60pFQmzmT9ExmjDv2gGIfi3OqfKoEP6I5+umXlbnQ=
golang.org/x/tools v0.26.0/go.mod h1:TPVVj70c7JJ3WCazhD8OdXcZg/og+b9+tH/KxylGwH0=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
Expand Down Expand Up @@ -4167,8 +4168,8 @@ sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.30.3 h1:2770sDpzrjjsA
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.30.3/go.mod h1:Ve9uj1L+deCXFrPOk1LpFXqTg7LCFzFso6PA48q/XZw=
sigs.k8s.io/controller-runtime v0.19.1 h1:Son+Q40+Be3QWb+niBXAg2vFiYWolDjjRfO8hn/cxOk=
sigs.k8s.io/controller-runtime v0.19.1/go.mod h1:iRmWllt8IlaLjvTTDLhRBXIEtkCK6hwVBJJsYS9Ajf4=
sigs.k8s.io/controller-tools v0.16.3 h1:z48C5/d4jCVQQvtiSBL5MYyZ3EO2eFIOXrIKMgHVhFY=
sigs.k8s.io/controller-tools v0.16.3/go.mod h1:AEj6k+w1kYpLZv2einOH3mj52ips4W/6FUjnB5tkJGs=
sigs.k8s.io/controller-tools v0.16.5 h1:5k9FNRqziBPwqr17AMEPPV/En39ZBplLAdOwwQHruP4=
sigs.k8s.io/controller-tools v0.16.5/go.mod h1:8vztuRVzs8IuuJqKqbXCSlXcw+lkAv/M2sTpg55qjMY=
sigs.k8s.io/gateway-api v1.2.0 h1:LrToiFwtqKTKZcZtoQPTuo3FxhrrhTgzQG0Te+YGSo8=
sigs.k8s.io/gateway-api v1.2.0/go.mod h1:EpNfEXNjiYfUJypf0eZ0P5iXA9ekSGWaS1WgPaM42X0=
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo=
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.16.3
controller-gen.kubebuilder.io/version: v0.16.5
labels:
app: gloo-gateway
app.kubernetes.io/name: gloo-gateway
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.16.3
controller-gen.kubebuilder.io/version: v0.16.5
labels:
app: gloo-gateway
app.kubernetes.io/name: gloo-gateway
Expand Down
176 changes: 176 additions & 0 deletions install/helm/gloo/crds/gateway.gloo.solo.io_httplistenerpolicies.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,176 @@
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.16.5
labels:
app: gateway
app.kubernetes.io/name: gateway
gateway.networking.k8s.io/policy: Direct
name: httplistenerpolicies.gateway.gloo.solo.io
spec:
group: gateway.gloo.solo.io
names:
categories:
- gateway
kind: HttpListenerPolicy
listKind: HttpListenerPolicyList
plural: httplistenerpolicies
shortNames:
- hlp
singular: httplistenerpolicy
scope: Namespaced
versions:
- name: v1alpha1
schema:
openAPIV3Schema:
properties:
apiVersion:
type: string
kind:
type: string
metadata:
type: object
spec:
properties:
compress:
type: boolean
type: object
status:
properties:
ancestors:
items:
properties:
ancestorRef:
properties:
group:
default: gateway.networking.k8s.io
maxLength: 253
pattern: ^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
type: string
kind:
default: Gateway
maxLength: 63
minLength: 1
pattern: ^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$
type: string
name:
maxLength: 253
minLength: 1
type: string
namespace:
maxLength: 63
minLength: 1
pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
type: string
port:
format: int32
maximum: 65535
minimum: 1
type: integer
sectionName:
maxLength: 253
minLength: 1
pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
type: string
required:
- name
type: object
conditions:
items:
properties:
lastTransitionTime:
format: date-time
type: string
message:
maxLength: 32768
type: string
observedGeneration:
format: int64
minimum: 0
type: integer
reason:
maxLength: 1024
minLength: 1
pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
type: string
status:
enum:
- "True"
- "False"
- Unknown
type: string
type:
maxLength: 316
pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
type: string
required:
- lastTransitionTime
- message
- reason
- status
- type
type: object
maxItems: 8
minItems: 1
type: array
x-kubernetes-list-map-keys:
- type
x-kubernetes-list-type: map
controllerName:
type: string
required:
- ancestorRef
- controllerName
type: object
maxItems: 16
type: array
conditions:
items:
properties:
lastTransitionTime:
format: date-time
type: string
message:
maxLength: 32768
type: string
observedGeneration:
format: int64
minimum: 0
type: integer
reason:
maxLength: 1024
minLength: 1
pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
type: string
status:
enum:
- "True"
- "False"
- Unknown
type: string
type:
maxLength: 316
pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
type: string
required:
- lastTransitionTime
- message
- reason
- status
- type
type: object
maxItems: 8
type: array
x-kubernetes-list-map-keys:
- type
x-kubernetes-list-type: map
required:
- ancestors
type: object
type: object
served: true
storage: true
subresources:
status: {}
Loading
Loading