108ce37949
* Allow for Kubernetes cluster authentication via google auth
- For the kubernetes and kubernetes-backend plugins
- The kubernetes (front-end) plugin uses the googleAuthApi and goes
through oauth flow to fetch a Google auth token for the current user
and pass that in a request to the kubernetes-backend plugin, which
uses this token as the service account token (and hence as the
authentication token for making K8s API requests).
- Related to https://github.com/spotify/backstage/issues/2552
* Use KubernetesAuthProvider and KubernetesAuthTranslator interfaces for K8s auth
- Implementations of KubernetesAuthProvider decorate the bodies of requests (for
Kubernetes resources) sent from the kubernetes plugin (frontend) to the
kubernetes-backend plugin (backend) with whatever information is
needed for K8s authentication
- Implementations of KubernetesAuthTranslator take the contents of these request
bodies sent from the kubernetes plugin (frontend) to the kubernetes-backend plugin
(backend) and use specific values in the bodies to properly set up tokens for K8s auth
- Start with KubernetesAuthProvider + KubernetesAuthTranslator
implementations for 'serviceAccount' and 'google' as auth providers
- Implementation of what was proposed at https://github.com/spotify/backstage/issues/2552#issuecomment-702545382
- Load in and prepare KubernetesAuthProvider implementations at plugin
startup time via KubernetesAuthProviders API (that essentially stores
or wraps these KubernetesAuthProvider instances)
- Related to https://github.com/spotify/backstage/issues/2552
54 lines
1.6 KiB
JSON
54 lines
1.6 KiB
JSON
{
|
|
"name": "@backstage/plugin-kubernetes",
|
|
"version": "0.1.1-alpha.24",
|
|
"main": "src/index.ts",
|
|
"types": "src/index.ts",
|
|
"license": "Apache-2.0",
|
|
"publishConfig": {
|
|
"access": "public",
|
|
"main": "dist/index.esm.js",
|
|
"types": "dist/index.d.ts"
|
|
},
|
|
"scripts": {
|
|
"build": "backstage-cli plugin:build",
|
|
"start": "backstage-cli plugin:serve",
|
|
"lint": "backstage-cli lint",
|
|
"test": "backstage-cli test",
|
|
"diff": "backstage-cli plugin:diff",
|
|
"prepack": "backstage-cli prepack",
|
|
"postpack": "backstage-cli postpack",
|
|
"clean": "backstage-cli clean"
|
|
},
|
|
"dependencies": {
|
|
"@backstage/catalog-model": "^0.1.1-alpha.24",
|
|
"@backstage/config": "^0.1.1-alpha.24",
|
|
"@backstage/core": "^0.1.1-alpha.24",
|
|
"@backstage/plugin-kubernetes-backend": "^0.1.1-alpha.24",
|
|
"@backstage/theme": "^0.1.1-alpha.24",
|
|
"@kubernetes/client-node": "^0.12.1",
|
|
"@material-ui/core": "^4.11.0",
|
|
"@material-ui/icons": "^4.9.1",
|
|
"@material-ui/lab": "4.0.0-alpha.45",
|
|
"react": "^16.13.1",
|
|
"react-dom": "^16.13.1",
|
|
"react-router-dom": "6.0.0-beta.0",
|
|
"react-use": "^15.3.3"
|
|
},
|
|
"devDependencies": {
|
|
"@backstage/cli": "^0.1.1-alpha.24",
|
|
"@backstage/dev-utils": "^0.1.1-alpha.24",
|
|
"@backstage/test-utils": "^0.1.1-alpha.24",
|
|
"@testing-library/jest-dom": "^5.10.1",
|
|
"@testing-library/react": "^10.4.1",
|
|
"@testing-library/user-event": "^12.0.7",
|
|
"@types/jest": "^26.0.7",
|
|
"@types/node": "^12.0.0",
|
|
"jest-fetch-mock": "^3.0.3",
|
|
"msw": "^0.20.5",
|
|
"node-fetch": "^2.6.1"
|
|
},
|
|
"files": [
|
|
"dist"
|
|
]
|
|
}
|