npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@aljesusg/backstage-plugin-kiali

v1.8.5

Published

The Kiali Plugin This plugin exposes information about your entity-specific ServiceMesh objects.

Downloads

4

Readme

Kiali plugin for Backstage

The Kiali Plugin This plugin exposes information about your entity-specific ServiceMesh objects.

Capabilities

The Kiali plugin has the following capabilities:

  • Overview
    • Metrics by namespace
    • Health by namespace
    • Canary info
    • Istio Config warnings

For administrators

Setting up the Kiali plugin

Prerequisites

  • The following annotation is added to the entity's catalog-info.yaml file to identify whether an entity contains the Kubernetes resources:

    annotations:
      ...
    
      backstage.io/kubernetes-id: <BACKSTAGE_ENTITY_NAME>

    You can also add the backstage.io/kubernetes-namespace annotation to identify the Kubernetes resources using the defined namespace.

    annotations:
      ...
    
      backstage.io/kubernetes-namespace: <RESOURCE_NS>
  • 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:

    annotations:
      ...
    
      janus-idp.io/kiali-enabled : 'true'
  • A custom label selector can be added, which Backstage uses to find the Kubernetes resources. The label selector takes precedence over the ID annotations.

    annotations:
      ...
    
      backstage.io/kubernetes-label-selector: 'app=my-app,component=front-end'
  • The following label is added to the resources so that the Kubernetes plugin gets the Kubernetes resources from the requested entity:

    labels:
      ...
    
      backstage.io/kubernetes-id: <BACKSTAGE_ENTITY_NAME>`

    NOTE

    When using the label selector, the mentioned labels must be present on the resource.


Procedure

  1. Install the Kiali plugin using the following commands:

    yarn workspace app add @janus-idp/backstage-plugin-kiali
  2. Enable the Kiali tab on the entity view page using the packages/app/src/components/catalog/EntityPage.tsx file:

    /* highlight-add-next-line */
    import { EntityKialiContent } from '@janus-idp/backstage-plugin-kiali';
    
    const serviceEntityPage = (
      <EntityLayout>
        {/* ... */}
        {/* highlight-add-start */}
        <EntityLayout.Route path="/kiali" title="kiali">
          <EntityKialiContent />
        </EntityLayout.Route>
        {/* highlight-add-end */}
      </EntityLayout>
    );
  3. Configure you app-config.yaml with kiali configuration

catalog:
  providers:
    # highlight-add-start
    kiali:
      # Required. Kiali endpoint
      url: ${KIALI_ENDPOINT}
      # Optional. Required by token authentication
      serviceAccountToken: ${KIALI_SERVICE_ACCOUNT_TOKEN}
      # Optional. defaults false
      skipTLSVerify: true
      # Optional
      caData: ${KIALI_CONFIG_CA_DATA}
      # Optional. Local path to CA file
      caFile: ''
      # Optional. Time in seconds that session is enabled, defaults to 1 minute.
      sessionTime: 60
      # highlight-add-end

Authentication methods:

The 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:

| Name | Description | Default Value | Required | | --------------------- | -------------------------------------------------------------------------------------------------------------------- | ------------- | --------------------------------------- | --- | | url | Location of the kIALI server, such as https://localhost:4000 | "" | Yes | | | serviceAccountToken | Service Account Token which is used for querying data from Kiali | "" | Yes if using token based authentication | | skipTLSVerify | Skip TLS certificate verification presented by the API server | false | No | | caData | Base64-encoded certificate authority bundle in PEM format | "" | No | | caFile | Filesystem path (on the host where the Backstage process is running) to a certificate authority bundle in PEM format | "" | No | | sessionTime | Time in seconds that session is enabled | 60 | No |

For users

  1. Open your Backstage application and select a component from the Catalog page.

catalog-list

  1. Check that you entity has the annotations.

entity

  1. Go to the Kiali tab.

    The Kiali tab displays the Overview view associated to a Servicemesh.

    overview-tab

    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.

Development

To develop/contribute in kiali plugin follow these instructions