Jirka Kremser
9047390737
migrate from v1.Endpoints to discoveryv1.EndpointSlices ( #1298 )
...
* Migration to EndpointSlices
Signed-off-by: Jirka Kremser <jiri.kremser@gmail.com>
* finish migration from v1.Endpoints to discoveryv1.EndpointSlices
Signed-off-by: Jan Wozniak <wozniak.jan@gmail.com>
* handle multiple EndpointSlices per service
Signed-off-by: Jan Wozniak <wozniak.jan@gmail.com>
* remove deletecollection rbac for endpoint slices
Signed-off-by: Jan Wozniak <wozniak.jan@gmail.com>
---------
Signed-off-by: Jirka Kremser <jiri.kremser@gmail.com>
Signed-off-by: Jan Wozniak <wozniak.jan@gmail.com>
Co-authored-by: Jan Wozniak <wozniak.jan@gmail.com>
2025-09-18 14:42:54 +02:00
bhussain91
d2bed33270
feat: Add support for tracing ( #1021 )
...
Signed-off-by: Bilal Hussain <bilal.hussain@10xbanking.com>
Signed-off-by: bhussain91 <161487948+bhussain91@users.noreply.github.com>
2025-05-19 10:51:45 +02:00
Jan Wozniak
f5ab058701
support portName in HTTPScaledObject service scaleTargetRef ( #1174 )
...
* support portName in HTTPScaledObject service scaleTargetRef
Signed-off-by: Jan Wozniak <wozniak.jan@gmail.com>
* mutually exclusive port and portName
Co-authored-by: Jirka Kremser <535866+jkremser@users.noreply.github.com>
Signed-off-by: Jan Wozniak <wozniak.jan@gmail.com>
* make manifests
Signed-off-by: Jan Wozniak <wozniak.jan@gmail.com>
* fix CEL syntax
Signed-off-by: Jan Wozniak <wozniak.jan@gmail.com>
* e2e test for portName
Signed-off-by: Jan Wozniak <wozniak.jan@gmail.com>
* use service lister instead of endpoints cache to get port from portName
Signed-off-by: Jan Wozniak <wozniak.jan@gmail.com>
* docs for v0.8.1 HTTPScaledObject
Signed-off-by: Jan Wozniak <wozniak.jan@gmail.com>
---------
Signed-off-by: Jan Wozniak <wozniak.jan@gmail.com>
Co-authored-by: Jirka Kremser <535866+jkremser@users.noreply.github.com>
2024-10-25 09:13:36 +02:00
zorocloud
38f50bfb0a
feat: Adding support to the interceptor proxy for TLS on the wire ( #928 )
...
* feat: Adding support to the interceptor proxy for TLS on the wire
Signed-off-by: Joe Wogan <joe.wogan@10xbanking.com>
* chore: adding e2e tests and tidying up changes
Signed-off-by: Joe Wogan <joe.wogan@10xbanking.com>
* chore: changing interceptor tls port for e2e tests
Signed-off-by: Joe Wogan <joe.wogan@10xbanking.com>
---------
Signed-off-by: Joe Wogan <joe.wogan@10xbanking.com>
2024-05-01 19:47:18 +02:00
Jorge Turrado Ferrero
214431250a
feat: Add support for any resource which implementes `/scale` subresource ( #852 )
2023-12-13 16:33:28 +01:00
Pedro Tôrres
a3039f6135
Fix Graceful Shutdown of Interceptor and Scaler ( #732 )
...
Co-authored-by: Tom Kerkhove <kerkhove.tom@gmail.com>
2023-07-14 10:36:29 +02:00
Pedro Tôrres
fb17e777c9
HTTPSO-based Routing Table ( #669 )
2023-06-15 00:33:59 +02:00
Jorge Turrado Ferrero
b5c41c8c2a
chore: add golangci-lint ( #584 )
2023-01-27 08:52:15 +01:00
Aaron Schlesinger
eb4e1e9f42
Allowing cluster-global operation ( #269 )
...
* Allowing cluster-global operation
Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>
* passing less unnecessary data in the operator
Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>
* setting namespace
Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>
* updating tests:
Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>
* Updating deployment cache interfaces
To accommodate multi-namespace gets and watches
Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>
* starting on deployment cache informer
Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>
* switching over to informer-based deployment cache
Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>
* fixing test compile errors and merging fake and in-memory deployment caches
Signed-off-by: Aaron <aaron@ecomaz.net>
* fixing tests
Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>
* fixing more compile errs
Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>
* improving logging, and several other small changes
Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>
* go mod tidy
Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>
* Adding config validation
Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>
* improving ns and svc name var names to indicate interceptor
Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>
* running go mod tidy
Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>
* removing unused code
Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>
* passing a function to transform target to in-cluster URL
Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>
* not requiring namespace for operator
Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>
* splitting namespace config for operator into watch and current
Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>
* removing appInfo, passing current namespace everywhere in its place
Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>
* using proper namespace when creating scaled object
Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>
* allowing xkcd chart to set ingress namespace
Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>
* printing namespace in error
Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>
* using proper fully-qualified hostname of external scaler in scaledobject
Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>
* adding note on cluster-global vs. namespaced mode
Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>
* adding note about installing the xkcd chart in cluster-global mode
Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>
* fixing hostname test
Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>
* merging scaler queue counts with routing table hosts. removing merge functionality from interceptors
Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>
* fix assumption in tests that queue has all hosts from routing table
Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>
* adding test for MergeCountsWithRoutingTable
Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>
* sleep for longer to wait for server to start
Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>
* adding handler test for merging hosts
Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>
* adding test to GetMetrics test cases for host not in queue pinger
Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>
2022-01-13 14:50:49 -08:00
Aaron Schlesinger
41e86c124a
Follow-up tests for multi-tenant work ( #279 )
...
* add test for addEvt in deployment cache
Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>
* Adding TestRunProxyServerCountMiddleware
Currently failing :)
Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>
* adding resize timeout to the queue fake
Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>
* StartTestServer => NewTestServer
Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>
* StartTestServer => NewTestServer
Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>
* Going back to StartTestServer
I forgot that it actually does start the test server in the background
Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>
* using targetFromURL
Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>
* more StartTestServer
Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>
* Keeping track of the running queue count in the fake
Also protecting that map with a mutex
Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>
* finishing the interceptor test
Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>
* adding test comment
Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>
* more movement over to targetFromURL
Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>
* additional checks
Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>
2021-10-25 12:33:02 -07:00
Aaron Schlesinger
f8d7c0bbe4
Adding configurability to the interceptor's HTTP round tripper ( #250 )
...
* multi-tenant interceptor and scaler
Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>
* specifying host in XKCD ingress
Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>
* routing the xkcd chart to the interceptor properly
Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>
* check host header first
Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>
* sending true active response in stream
Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>
* passing target pending requests through to the underlying ScaledObject (so the scaler can read it later)
Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>
* removing broken target pending requests
Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>
* using getHost in proxy handler
Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>
* adding integration test
Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>
* adding more tests to the integration test
Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>
* splitting up integration tests
Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>
* more checks
Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>
* mark new test TODO
Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>
* expanding interceptor integration tests
Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>
* error messages
Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>
* refactor test
Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>
* more test improvements
Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>
* rolling back target pending requests in ScaledObject
Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>
* removing target metric error. it's not used anymore
Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>
* improving waitFunc test
Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>
* Refactoring the deployment cache to add better error handing and resilience.
Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>
* adding doc comment
Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>
* refactoring deploy cache and adding tests
Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>
* Using interfaces for deployment watch & list
this makes tests easier
Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>
* adding more deploy cache tests
Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>
* Fixing up TestK8sDeploymentCacheRewatch
Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>
* shutting down everything else when one thing errors, and adding a deployments cache endpoint
Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>
* removing commented code
Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>
* clarifying deployment cache JSON output, and simplifying deployment watch function
Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>
* adding TODO tests
Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>
* error logs and restoring the count middleware
Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>
* using consistent net/http package name throughout main.go
Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>
* Refactoring deployment cache deployment storage
Also, running go mod tidy and adding new TODO (i.e. failing) tests
Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>
* using deployment.Status.ReadyReplicas, instead of just replicas
Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>
* integration_tets ==> proxy_handlers_integration_test
Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>
* adding some resilience to tests
Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>
* adding deployment cache endpoint documentation
Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>
* running the global test target with sh.RunV
Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>
* adding timeout to magefile test target
Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>
* finishing one TODO test and adding issue for the rest:
Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>
* Adding configurability to the interceptor's HTTP round tripper
Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>
* fixing compile errs in tests
Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>
2021-09-22 12:07:00 +05:30
Aaron Schlesinger
c211da9bd1
Multi-tenant interceptor and scaler ( #206 )
...
* multi-tenant interceptor and scaler
Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net>
* specifying host in XKCD ingress
Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>
* routing the xkcd chart to the interceptor properly
Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>
* check host header first
Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>
* sending true active response in stream
Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>
* passing target pending requests through to the underlying ScaledObject (so the scaler can read it later)
Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>
* removing broken target pending requests
Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>
* using getHost in proxy handler
Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>
* adding integration test
Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>
* adding more tests to the integration test
Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>
* splitting up integration tests
Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>
* more checks
Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>
* mark new test TODO
Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>
* expanding interceptor integration tests
Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>
* error messages
Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>
* refactor test
Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>
* more test improvements
Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>
* rolling back target pending requests in ScaledObject
Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>
* removing target metric error. it's not used anymore
Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>
* improving waitFunc test
Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>
* Refactoring the deployment cache to add better error handing and resilience.
Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>
* adding doc comment
Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>
* refactoring deploy cache and adding tests
Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>
* Using interfaces for deployment watch & list
this makes tests easier
Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>
* adding more deploy cache tests
Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>
* Fixing up TestK8sDeploymentCacheRewatch
Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>
* shutting down everything else when one thing errors, and adding a deployments cache endpoint
Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>
* removing commented code
Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>
* clarifying deployment cache JSON output, and simplifying deployment watch function
Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>
* adding TODO tests
Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>
* error logs and restoring the count middleware
Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>
* using consistent net/http package name throughout main.go
Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>
* Refactoring deployment cache deployment storage
Also, running go mod tidy and adding new TODO (i.e. failing) tests
Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>
* using deployment.Status.ReadyReplicas, instead of just replicas
Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>
* integration_tets ==> proxy_handlers_integration_test
Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>
* adding some resilience to tests
Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>
* adding deployment cache endpoint documentation
Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>
* running the global test target with sh.RunV
Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>
* adding timeout to magefile test target
Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>
* finishing one TODO test and adding issue for the rest:
Signed-off-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com>
2021-09-03 10:19:20 +02:00