Commit Graph

285 Commits

Author SHA1 Message Date
Carlos Esteban Lopez 1199394270 chore: Remove logs & fix type dep issue
Signed-off-by: Carlos Esteban Lopez <lcarlosesteb@vmware.com>
2023-09-18 12:45:59 -05:00
Carlos Esteban Lopez 50f8786089 chore: Update API Reports
Signed-off-by: Carlos Esteban Lopez <lcarlosesteb@vmware.com>
2023-09-17 19:24:06 -05:00
Carlos Esteban Lopez bbb750442a refactor: Refactor simplify types for proxy upgrade call
Signed-off-by: Carlos Esteban Lopez <lcarlosesteb@vmware.com>
2023-09-16 12:37:46 -05:00
Carlos Esteban Lopez 69dee739be fix: Remove unused dependency
Signed-off-by: Carlos Esteban Lopez <lcarlosesteb@vmware.com>
2023-09-16 12:37:46 -05:00
Carlos Esteban Lopez 72390ab267 fix: Handle Proxy WS upgrade manually for WS handshakes
Signed-off-by: Carlos Esteban Lopez <lcarlosesteb@vmware.com>
2023-09-16 12:37:46 -05:00
Jamie Klassen 9212955b35 better name + signature for validation method
Signed-off-by: Jamie Klassen <jklassen@vmware.com>
2023-09-14 18:21:56 -04:00
Jamie Klassen 5d377c9b39 integrators can add strategies
Due to the loosened wire format, now integrators have the opportunity to define
arbitrary contracts between the front- and back-end when dealing with customized
Kubernetes auth setups.

Signed-off-by: Jamie Klassen <jklassen@vmware.com>
2023-09-14 17:54:30 -04:00
Jamie Klassen e30bd8709d move in-cluster token handling to strategy
Signed-off-by: Jamie Klassen <jklassen@vmware.com>
2023-09-14 17:54:30 -04:00
Jamie Klassen 1df3afb21e make KubernetesCredential a tagged union
This is easier to read than using primitives like `undefined` and `string` to
represent these states.

Signed-off-by: Jamie Klassen <jklassen@vmware.com>
2023-09-14 17:54:30 -04:00
Jamie Klassen 31dc20dbe7 replace noop with distinct strategies
one for serviceaccount and one for anonymous (used by localKubectlProxy)

Signed-off-by: Jamie Klassen <jklassen@vmware.com>
2023-09-14 17:54:30 -04:00
Jamie Klassen d21796ce54 strategies get creds instead of decorating cluster
the fetcher now accept these creds, and the fanouthandler passes them along.

Signed-off-by: Jamie Klassen <jklassen@vmware.com>
2023-09-14 17:54:28 -04:00
Jamie Klassen 279adfc6fd use annotation key authProvider in metadata
This allows the nice simplification of the catalog clusterLocator -- just read
the entire annotations block as auth metadata.

Signed-off-by: Jamie Klassen <jklassen@vmware.com>
2023-09-14 17:52:09 -04:00
Jamie Klassen efc0d893cd rearrange clusterlocator tests
and remove default authStrategy parameter

Signed-off-by: Jamie Klassen <jklassen@vmware.com>
2023-09-14 17:52:09 -04:00
Jamie Klassen ce6905f86d strategies validate metadata
And migrate authProvider into metadata. Also thread a DispatchStrategy into
ConfigClusterLocator instead of a map of validator functions.

Signed-off-by: Jamie Klassen <jklassen@vmware.com>
2023-09-14 17:52:09 -04:00
Jamie Klassen 54c957c1bc rename translators to strategies
to encompass their upcoming new responsibilities

Signed-off-by: Jamie Klassen <jklassen@vmware.com>
2023-09-14 17:52:09 -04:00
Jamie Klassen d930afdb43 decouple auth validation from config parsing
Eventually this map can be injected the same way the authTranslatorMap is.

Signed-off-by: Jamie Klassen <jklassen@vmware.com>
2023-09-14 17:52:09 -04:00
Jamie Klassen 9327871142 parse auth metadata in a single pass
validate the resulting metadata object instead of the config directly.

Signed-off-by: Jamie Klassen <jklassen@vmware.com>
2023-09-14 17:52:09 -04:00
Jamie Klassen 7a914fcff1 use existing annotations as metadata keys
Signed-off-by: Jamie Klassen <jklassen@vmware.com>
2023-09-14 17:52:09 -04:00
Jamie Klassen 1449a035ce migrate oidcTokenProvider to authMetadata
Signed-off-by: Jamie Klassen <jklassen@vmware.com>
2023-09-14 17:52:09 -04:00
Jamie Klassen 8dd179ac2f refactor: remove redundant ClusterDetails subtypes
Signed-off-by: Jamie Klassen <jklassen@vmware.com>
2023-09-14 17:52:08 -04:00
Jamie Klassen 7982094539 migrate AWS config to authMetadata
and remove specialized AWSClusterDetails type accordingly

Signed-off-by: Jamie Klassen <jklassen@vmware.com>
2023-09-14 17:52:08 -04:00
Jamie Klassen 094b12b59e refactor: migrate token field to authMetadata
and remove the special ServiceAccountClusterDetails accordingly.

Signed-off-by: Jamie Klassen <jklassen@vmware.com>
2023-09-14 17:52:08 -04:00
Jamie Klassen e7b4146df8 typecheck expected value
Signed-off-by: Jamie Klassen <jklassen@vmware.com>
2023-09-14 17:52:08 -04:00
Jamie Klassen f4eeac20cc typecheck servicelocator mock
Signed-off-by: Jamie Klassen <jklassen@vmware.com>
2023-09-14 17:52:08 -04:00
Patrik Oldsberg c8029af89c kubernetes-backend: avoid mock-fs
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2023-09-14 11:49:35 +02:00
Andres Mauricio Gomez P 024b2b66a3 caFile configuration is used when the Middleware is created on KubernetesProxy
Signed-off-by: Andres Mauricio Gomez P <andmagom@outlook.com>
2023-09-11 12:36:16 -05:00
Patrik Oldsberg 71114ac50e plugins: refactory to use default export for new backend system
Co-authored-by: Fredrik Adelöw <freben@gmail.com>
Co-authored-by: Camila Belo <camilaibs@gmail.com>
Co-authored-by: Johan Haals <johan.haals@gmail.com>
Co-authored-by: Philipp Hugenroth <philipph@spotify.com>
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2023-09-07 18:53:48 +02:00
Eric Yang 47ea122590 [kubernetes-backend plugin] fix undefined kind for custom resources (#19421)
* [kubernetes-backend plugin] fix undefined kind for custom resources

Signed-off-by: Eric Yang <weityang@ebay.com>

* [kubernetes-backend plugin] fix typescript typing

Signed-off-by: Eric Yang <weityang@ebay.com>

* [kubernetes-backend plugin] update package.json

Signed-off-by: Eric Yang <weityang@ebay.com>

---------

Signed-off-by: Eric Yang <weityang@ebay.com>
2023-08-25 16:45:33 +02:00
Clément Blaise ccf00accb4 Add kubernetes-plugin aws annotations
Signed-off-by: Clément Blaise <clementblaise@me.com>
2023-08-09 20:59:28 +02:00
Patrik Oldsberg 5f83133dd3 Merge pull request #18838 from backstage/vinzscam/root-config-service
Rename ConfigService to RootConfigService
2023-08-01 13:59:11 +02:00
Carlos Esteban Lopez Jaramillo a33eed09a0 Update plugins/kubernetes-backend/src/service/KubernetesProxy.test.ts
Co-authored-by: Jamie Klassen <jklassen@vmware.com>
Signed-off-by: Carlos Esteban Lopez Jaramillo <luchillo17@gmail.com>
2023-07-31 10:53:17 -05:00
Carlos Esteban Lopez Jaramillo 48f1811691 Update plugins/kubernetes-backend/src/service/KubernetesProxy.test.ts
Co-authored-by: Jamie Klassen <jklassen@vmware.com>
Signed-off-by: Carlos Esteban Lopez Jaramillo <luchillo17@gmail.com>
2023-07-31 10:53:17 -05:00
Carlos Esteban Lopez f6fe178c99 test: Address PR comments on random port for WS and Express
Signed-off-by: Carlos Esteban Lopez <lcarlosesteb@vmware.com>
2023-07-31 10:53:17 -05:00
Carlos Esteban Lopez Jaramillo c1d645a487 Update plugins/kubernetes-backend/src/service/KubernetesProxy.test.ts
Co-authored-by: Jamie Klassen <jklassen@vmware.com>
Signed-off-by: Carlos Esteban Lopez Jaramillo <luchillo17@gmail.com>
2023-07-31 10:53:17 -05:00
Carlos Esteban Lopez Jaramillo 79519e31fe Update plugins/kubernetes-backend/src/service/KubernetesProxy.test.ts
Co-authored-by: Jamie Klassen <jklassen@vmware.com>
Signed-off-by: Carlos Esteban Lopez Jaramillo <luchillo17@gmail.com>
2023-07-31 10:53:17 -05:00
Carlos Esteban Lopez Jaramillo 438bf1dfdb Update plugins/kubernetes-backend/src/service/KubernetesProxy.test.ts
Co-authored-by: Jamie Klassen <jklassen@vmware.com>
Signed-off-by: Carlos Esteban Lopez Jaramillo <luchillo17@gmail.com>
2023-07-31 10:53:17 -05:00
Carlos Esteban Lopez Jaramillo f6b6344e7e Update plugins/kubernetes-backend/src/service/KubernetesProxy.test.ts
Co-authored-by: Jamie Klassen <jklassen@vmware.com>
Signed-off-by: Carlos Esteban Lopez Jaramillo <luchillo17@gmail.com>
2023-07-31 10:53:17 -05:00
Carlos Esteban Lopez bbf4e9c894 fix: Fix pathRewrite in k8s Proxy for WebSocket requests
Signed-off-by: Carlos Esteban Lopez <lcarlosesteb@vmware.com>
2023-07-31 10:53:17 -05:00
Vincenzo Scamporlino 2cccf58ef1 chore: config to rootConfig
Signed-off-by: Vincenzo Scamporlino <vincenzos@spotify.com>
2023-07-31 17:11:00 +02:00
Jamie Klassen 26125da35e Merge pull request #18559 from jamieklassen/proxy-kubectl-token
kubernetes-backend proxy endpoint only adds auth header with nonempty token
2023-07-06 10:01:45 -04:00
Jamie Klassen 47154c8ddb proxy only adds auth header with nonempty token
Signed-off-by: Jamie Klassen <jklassen@vmware.com>
2023-07-05 11:35:20 -04:00
mario_ma 0bbf26da60 Update plugins/kubernetes-backend/src/service/KubernetesProxy.ts
Co-authored-by: Jamie Klassen <jklassen@vmware.com>
Signed-off-by: mario_ma <mario.ma.node@gmail.com>
2023-07-05 22:18:05 +08:00
rui ma be6395601d feat: support k8s proxy working fine with cluster url has subpath
Signed-off-by: rui ma <ruima@alauda.io>
2023-07-05 21:52:05 +08:00
Adam Harvey 28ce7aef22 chore: Remove deprecated reference
Signed-off-by: Adam Harvey <adaharve@cisco.com>
2023-07-01 10:08:35 -04:00
Carlos Esteban Lopez b7267331b9 test(kubernetes-backend): Fix test mocking for headers
Signed-off-by: Carlos Esteban Lopez <lcarlosesteb@vmware.com>
2023-06-26 11:48:26 -05:00
Carlos Esteban Lopez 11fad09c74 fix(kubernetes-backend): Swap .header() for .headers[]
Signed-off-by: Carlos Esteban Lopez <lcarlosesteb@vmware.com>
2023-06-26 11:48:26 -05:00
Carlos Esteban Lopez c2e5306535 feat(kubernetes-backend): Add WebSocket support to kubernetes-backend proxy.
Signed-off-by: Carlos Esteban Lopez <lcarlosesteb@vmware.com>
2023-06-26 11:48:26 -05:00
Jamie Klassen 2a624c82fc Merge pull request #18183 from RubenV-dev/config-custom-resources
Fix: Allow ConfigClusterLocator to load cluster specific customResources
2023-06-13 13:02:08 -04:00
Ruben Vallejo eac59a3d0b chore: add changeset
Signed-off-by: Ruben Vallejo <rvallejo@vmware.com>
2023-06-09 15:10:21 -04:00
Carlos Esteban Lopez 91f39df52d feat(kubernetes-backend): HEADER_KUBERNETES_CLUSTER optional in single cluster setup
Signed-off-by: Carlos Esteban Lopez <lcarlosesteb@vmware.com>
2023-06-07 16:02:59 -05:00