{"_id":"@aljesusg/backstage-plugin-kiali","_rev":"1-e8960e09262e9a9b3c74326da94a1419","name":"@aljesusg/backstage-plugin-kiali","dist-tags":{"latest":"1.8.5"},"versions":{"1.8.4":{"name":"@aljesusg/backstage-plugin-kiali","version":"1.8.4","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"},"backstage":{"role":"frontend-plugin"},"scripts":{"build":"backstage-cli package build","clean":"backstage-cli package clean","export-dynamic":"janus-cli package export-dynamic-plugin","lint":"backstage-cli package lint","postpack":"backstage-cli package postpack","postversion":"yarn run export-dynamic","prepack":"backstage-cli package prepack","start":"backstage-cli package start","test":"backstage-cli package test --passWithNoTests --coverage","tsc":"tsc"},"dependencies":{"@backstage/catalog-model":"^1.4.3","@backstage/core-components":"^0.13.6","@backstage/core-plugin-api":"^1.7.0","@backstage/errors":"^1.2.3","@backstage/plugin-catalog-react":"^1.8.5","@backstage/theme":"^0.4.3","@material-ui/core":"^4.9.13","@material-ui/icons":"^4.11.3","@material-ui/lab":"^4.0.0-alpha.45","@patternfly/patternfly":"^5.1.0","@patternfly/react-charts":"^7.1.1","@patternfly/react-core":"^5.1.1","@patternfly/react-icons":"^5.1.1","axios":"^1.5.1","cytoscape":"3.15.5","deep-freeze":"0.0.1","history":"^5.3.0","json-beautify":"1.0.1","lodash":"^4.17.21","moment":"^2.29.4","react-ace":"9.1.3","react-copy-to-clipboard":"5.x","react-use":"^17.4.0","typesafe-actions":"^4.2.1","typestyle":"^2.4.0"},"peerDependencies":{"react":"^16.13.1 || ^17.0.0","react-router-dom":"^6.14.1"},"devDependencies":{"@backstage/cli":"0.23.0","@backstage/core-app-api":"1.11.0","@backstage/dev-utils":"1.0.22","@backstage/test-utils":"1.4.4","@janus-idp/cli":"1.7.0","@testing-library/jest-dom":"5.17.0","@testing-library/react":"12.1.5","@testing-library/user-event":"14.5.1","@types/node":"20.2.5","@types/react-copy-to-clipboard":"^5.0.6","@types/react-router-dom":"^5.2.0","cross-fetch":"4.0.0","jest-canvas-mock":"^2.5.2","msw":"1.3.2","react":"17.0.2","react-dom":"17.0.2","react-router-dom":"6.14.1"},"repository":{"type":"git","url":"git+https://github.com/janus-idp/backstage-plugins.git"},"keywords":["backstage","plugin"],"homepage":"https://janus-idp.io/","bugs":{"url":"https://github.com/janus-idp/backstage-plugins/issues"},"_id":"@aljesusg/backstage-plugin-kiali@1.8.4","gitHead":"8ee1c61ae8d62384fedd7ae076c41b557db75f72","description":"The Kiali Plugin This plugin exposes information about your entity-specific ServiceMesh objects.","_nodeVersion":"18.18.2","_npmVersion":"9.8.1","dist":{"integrity":"sha512-E9pUbm/yh93I9rKxElo50UQjvBKKZj+sA0NQ3+N7awpn99MneTwb6v9QlHhasoA3031f/TWchfYYhOQ6Nv/yGA==","shasum":"2bd04bceeafcb6f32e8f1a265e02a7dc989e16ef","tarball":"https://registry.npmjs.org/@aljesusg/backstage-plugin-kiali/-/backstage-plugin-kiali-1.8.4.tgz","fileCount":476,"unpackedSize":25287255,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCtyAbJOHmiEL/2DdcvJlgluaPbuB4Da07qU74kPtL7fQIhAOT6H64BR/FNbP4EjcaxYwOPHRLajeWxEgcFvHtUQRQY"}]},"_npmUser":{"name":"aljesusg","email":"agutierr@redhat.com"},"directories":{},"maintainers":[{"name":"aljesusg","email":"agutierr@redhat.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/backstage-plugin-kiali_1.8.4_1707296765755_0.11948238570679215"},"_hasShrinkwrap":false},"1.8.5":{"name":"@aljesusg/backstage-plugin-kiali","version":"1.8.5","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"},"backstage":{"role":"frontend-plugin"},"scripts":{"build":"backstage-cli package build","clean":"backstage-cli package clean","export-dynamic":"janus-cli package export-dynamic-plugin","lint":"backstage-cli package lint","postpack":"backstage-cli package postpack","postversion":"yarn run export-dynamic","prepack":"backstage-cli package prepack","start":"backstage-cli package start","test":"backstage-cli package test --passWithNoTests --coverage","tsc":"tsc"},"dependencies":{"@backstage/catalog-model":"^1.4.3","@backstage/core-components":"^0.13.6","@backstage/core-plugin-api":"^1.7.0","@backstage/errors":"^1.2.3","@backstage/plugin-catalog-react":"^1.8.5","@backstage/theme":"^0.4.3","@material-ui/core":"^4.9.13","@material-ui/icons":"^4.11.3","@material-ui/lab":"^4.0.0-alpha.45","@patternfly/patternfly":"^5.1.0","@patternfly/react-charts":"^7.1.1","@patternfly/react-core":"^5.1.1","@patternfly/react-icons":"^5.1.1","axios":"^1.5.1","cytoscape":"3.15.5","deep-freeze":"0.0.1","history":"^5.3.0","json-beautify":"1.0.1","lodash":"^4.17.21","moment":"^2.29.4","react-ace":"9.1.3","react-copy-to-clipboard":"5.x","react-use":"^17.4.0","typesafe-actions":"^4.2.1","typestyle":"^2.4.0"},"peerDependencies":{"react":"^16.13.1 || ^17.0.0","react-router-dom":"^6.14.1"},"devDependencies":{"@backstage/cli":"0.23.0","@backstage/core-app-api":"1.11.0","@backstage/dev-utils":"1.0.22","@backstage/test-utils":"1.4.4","@janus-idp/cli":"1.7.0","@testing-library/jest-dom":"5.17.0","@testing-library/react":"12.1.5","@testing-library/user-event":"14.5.1","@types/node":"20.2.5","@types/react-copy-to-clipboard":"^5.0.6","@types/react-router-dom":"^5.2.0","cross-fetch":"4.0.0","jest-canvas-mock":"^2.5.2","msw":"1.3.2","react":"17.0.2","react-dom":"17.0.2","react-router-dom":"6.14.1"},"repository":{"type":"git","url":"git+https://github.com/janus-idp/backstage-plugins.git"},"keywords":["backstage","plugin"],"homepage":"https://janus-idp.io/","bugs":{"url":"https://github.com/janus-idp/backstage-plugins/issues"},"_id":"@aljesusg/backstage-plugin-kiali@1.8.5","gitHead":"8ee1c61ae8d62384fedd7ae076c41b557db75f72","description":"The Kiali Plugin This plugin exposes information about your entity-specific ServiceMesh objects.","_nodeVersion":"18.18.2","_npmVersion":"9.8.1","dist":{"integrity":"sha512-jhareV2DWZI+Z4Gu5Jsv8AW6U5ECHE9uJ+2qiMiisbru8vKf7GxsgXHsQ6+N/vU5UmbHk7CqNNTRJJNpbV4LSA==","shasum":"2fc29835804f6b5f3cfde7dc677aab5a39417c96","tarball":"https://registry.npmjs.org/@aljesusg/backstage-plugin-kiali/-/backstage-plugin-kiali-1.8.5.tgz","fileCount":476,"unpackedSize":25284959,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAPujdp3PZMHSpOHS60PuveuZpQkn37f+OdOANHiJ8tMAiBR/MgDqqLpNOnlL1Wq8Mm0gwSQmDweZyjWbMh31Rd3Ww=="}]},"_npmUser":{"name":"aljesusg","email":"agutierr@redhat.com"},"directories":{},"maintainers":[{"name":"aljesusg","email":"agutierr@redhat.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/backstage-plugin-kiali_1.8.5_1707298651758_0.6960473977413206"},"_hasShrinkwrap":false}},"time":{"created":"2024-02-07T09:06:05.658Z","1.8.4":"2024-02-07T09:06:06.039Z","modified":"2024-02-07T09:37:32.200Z","1.8.5":"2024-02-07T09:37:32.041Z"},"maintainers":[{"name":"aljesusg","email":"agutierr@redhat.com"}],"description":"The Kiali Plugin This plugin exposes information about your entity-specific ServiceMesh objects.","homepage":"https://janus-idp.io/","keywords":["backstage","plugin"],"repository":{"type":"git","url":"git+https://github.com/janus-idp/backstage-plugins.git"},"bugs":{"url":"https://github.com/janus-idp/backstage-plugins/issues"},"license":"Apache-2.0","readme":"# Kiali plugin for Backstage\n\nThe Kiali Plugin\nThis plugin exposes information about your entity-specific ServiceMesh objects.\n\n## Capabilities\n\nThe Kiali plugin has the following capabilities:\n\n- Overview\n  - Metrics by namespace\n  - Health by namespace\n  - Canary info\n  - Istio Config warnings\n\n## For administrators\n\n### Setting up the Kiali plugin\n\n#### Prerequisites\n\n- The following annotation is added to the entity's `catalog-info.yaml` file to identify whether an entity contains the Kubernetes resources:\n\n  ```yaml\n  annotations:\n    ...\n\n    backstage.io/kubernetes-id: <BACKSTAGE_ENTITY_NAME>\n  ```\n\n  You can also add the `backstage.io/kubernetes-namespace` annotation to identify the Kubernetes resources using the defined namespace.\n\n  ```yaml\n  annotations:\n    ...\n\n    backstage.io/kubernetes-namespace: <RESOURCE_NS>\n  ```\n\n- The following annotation is added to the `catalog-info.yaml` file of entity to view the latest `PipelineRun` in the CI/CD tab of the application:\n\n  ```yaml\n  annotations:\n    ...\n\n    janus-idp.io/kiali-enabled : 'true'\n  ```\n\n- A custom label selector can be added, which Backstage uses to find the Kubernetes resources. The label selector takes precedence over the ID annotations.\n\n  ```yaml\n  annotations:\n    ...\n\n    backstage.io/kubernetes-label-selector: 'app=my-app,component=front-end'\n  ```\n\n- The following label is added to the resources so that the Kubernetes plugin gets the Kubernetes resources from the requested entity:\n\n  ```yaml\n  labels:\n    ...\n\n    backstage.io/kubernetes-id: <BACKSTAGE_ENTITY_NAME>`\n  ```\n\n  ***\n\n  **NOTE**\n\n  When using the label selector, the mentioned labels must be present on the resource.\n\n  ***\n\n#### Procedure\n\n1. Install the Kiali plugin using the following commands:\n\n   ```console\n   yarn workspace app add @janus-idp/backstage-plugin-kiali\n   ```\n\n2. Enable the **Kiali** tab on the entity view page using the `packages/app/src/components/catalog/EntityPage.tsx` file:\n\n   ```tsx title=\"packages/app/src/components/catalog/EntityPage.tsx\"\n   /* highlight-add-next-line */\n   import { EntityKialiContent } from '@janus-idp/backstage-plugin-kiali';\n\n   const serviceEntityPage = (\n     <EntityLayout>\n       {/* ... */}\n       {/* highlight-add-start */}\n       <EntityLayout.Route path=\"/kiali\" title=\"kiali\">\n         <EntityKialiContent />\n       </EntityLayout.Route>\n       {/* highlight-add-end */}\n     </EntityLayout>\n   );\n   ```\n\n3. Configure you `app-config.yaml` with kiali configuration\n\n```yaml\ncatalog:\n  providers:\n    # highlight-add-start\n    kiali:\n      # Required. Kiali endpoint\n      url: ${KIALI_ENDPOINT}\n      # Optional. Required by token authentication\n      serviceAccountToken: ${KIALI_SERVICE_ACCOUNT_TOKEN}\n      # Optional. defaults false\n      skipTLSVerify: true\n      # Optional\n      caData: ${KIALI_CONFIG_CA_DATA}\n      # Optional. Local path to CA file\n      caFile: ''\n      # Optional. Time in seconds that session is enabled, defaults to 1 minute.\n      sessionTime: 60\n      # highlight-add-end\n```\n\nAuthentication methods:\n\n- anonymous [Read docs about this authentication in kiali.io](https://kiali.io/docs/configuration/authentication/anonymous/)\n- token [Read docs about this authentication in kiali.io](https://kiali.io/docs/configuration/authentication/token/)\n\nThe following table describes the parameters that you can configure to enable the plugin under `catalog.providers.keycloakOrg.<ENVIRONMENT_NAME>` object in the `app-config.yaml` file:\n\n| Name                  | Description                                                                                                          | Default Value | Required                                |\n| --------------------- | -------------------------------------------------------------------------------------------------------------------- | ------------- | --------------------------------------- | --- |\n| `url`                 | Location of the kIALI server, such as `https://localhost:4000`                                                       | \"\"            | Yes                                     |     |\n| `serviceAccountToken` | Service Account Token which is used for querying data from Kiali                                                     | \"\"            | Yes if using token based authentication |\n| `skipTLSVerify`       | Skip TLS certificate verification presented by the API server                                                        | false         | No                                      |\n| `caData`              | Base64-encoded certificate authority bundle in PEM format                                                            | \"\"            | No                                      |\n| `caFile`              | Filesystem path (on the host where the Backstage process is running) to a certificate authority bundle in PEM format | \"\"            | No                                      |\n| `sessionTime`         | Time in seconds that session is enabled                                                                              | 60            | No                                      |\n\n## For users\n\n1. Open your Backstage application and select a component from the **Catalog** page.\n\n![catalog-list](./images/catalog-list.png)\n\n2. Check that you entity has the annotations.\n\n![entity](./images/entity.png)\n\n3. Go to the **Kiali** tab.\n\n   The **Kiali** tab displays the Overview view associated to a Servicemesh.\n\n   ![overview-tab](./images/overview_tab.png)\n\n   There is also a **Go To Kiali Graph** option at the bottom of each card, which redirects you to the **Graph in the Kiali Standalone**.\n\n## Development\n\nTo develop/contribute in kiali plugin follow [these instructions](./DEVELOPMENT.md)\n","readmeFilename":"README.md"}