Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

@backstage-community/plugin-tech-insights-node

backstage32.9kApache-2.02.5.1TypeScript support: included

null

backstage, tech-insights

readme

Backstage Community Plugins

License CNCF Status Discord

What is the community-plugins repository?

The community-plugins repository is a place where members of the community can collaborate to develop, maintain, and share plugins. This initiative was originally driven by the need to separate plugin maintenance from the backstage/backstage core repository.

This repository is designed to provide plugin maintainers with tools and workflows to efficiently manage and publish Backstage plugins.

Contributing a plugin

Plugins created by the wider Backstage community are welcome to be published in the community-plugins repository. When you contribute a plugin to this repository, you agree to follow specific guidelines, including a standardized release process. This allows plugin owners to leverage established processes and the collective knowledge of the Backstage community-plugins community.

For those seeking full autonomy over their plugin's development and release lifecycle, self-hosting remains a supported and valid option. The decision to either contribute to the community repository or self-host will depend on whether you prefer to manage the development of the plugin independently or develop the plugin as part of a community-driven process. Both approaches are valued within the Backstage ecosystem and contribute to its growth.

Plugins that are key to the functionality and operation of Backstage will continue to reside in the backstage/backstage repository - ensuring the central components that underpin the platform are centrally managed and maintained.

To get started with creating a new plugin, follow the guidance in CONTRIBUTING.md.

Community Plugins Workflow

The community-plugins repository is formed by a set of workspaces. A workspace holds a plugin or a set of plugins based on a specific topic. For example, catalog, kubernetes, and TechDocs can be referred to as workspaces.

Each plugin belongs to a workspace and workspaces are portable enough to be moved to its own repository if desired. Each plugin workspace has its own changesets and isolated releases.

Plugins depend on other plugins via regular npm dependencies, regardless of whether the other plugins are core plugins, other plugins within the repository, or external plugins.

Although the community repository isn't technically a yarn workspace", it functions as a repository with multiple yarn workspaces, with each workspace possessing its unique .changesets directory.

Whenever a new changeset is introduced, a fresh "Version packages ($workspace_name)" PR is produced. Merging a Version packages PR will trigger the release of all the plugins in the workspaces (provided changesets have been added), and also update the CHANGELOG files.

Plugins migrated from backstage/backstage

A number of plugins that originally resided in backstage/backstage monorepo have moved to this backstage/community-plugins repository.

<summary>List of migrated plugins</summary>
  • adr
  • airbreak
  • allure
  • analytics
  • apache-airflow
  • apollo-explorer
  • azure-devops
  • azure-sites
  • badges
  • bazaar
  • bitrise
  • cicd-statistics
  • cloudbuild
  • code-climate
  • code-coverage
  • codescene
  • cost-insights
  • dynatrace
  • entity-feedback
  • entity-validation
  • example-todo-list
  • explore
  • firehydrant
  • fossa
  • gcalendar
  • gcp-projects
  • git-release-manager
  • github-actions
  • github-deployments
  • github-issues
  • github-pull-requests-board
  • gitops-profiles
  • gocd
  • graphiql
  • graphql-voyager
  • ilert
  • jenkins
  • kafka
  • lighthouse
  • microsoft-calendar
  • newrelic
  • newrelic-dashboard
  • octopus-deploy
  • opencost
  • periskop
  • playlist
  • puppetdb
  • rollbar
  • sentry
  • shortcuts
  • sonarqube
  • splunk
  • stack-overflow
  • stackstorm
  • tech-insights
  • tech-radar
  • todo
  • vault
  • xcmetrics

changelog

@backstage-community/plugin-tech-insights-node

2.5.1

Patch Changes

2.5.0

Minor Changes

  • a01ae4e: Backstage version bump to v1.39.0

Patch Changes

2.4.0

Minor Changes

  • 375612d: Make FactRetrieverContext generic. This allows consumers to extend it with their own services while maintaining backwards compatibility.

Patch Changes

2.3.0

Minor Changes

  • e919e53: Backstage version bump to v1.35.1

Patch Changes

  • f015469: Introducing a new tech insights react plugin for reusuable frontend utilities. All migrated components and APIs have been marked as deprecated. Please update your imports to come from @backstage-community/plugin-tech-insights-react

    Package json files for each plugin have been updated to reflect the new plugin in the Backstage pluginPackages metadata.

  • c107e0f: Deprecates TechInsightCheck from the tech-insights-node library in favor of Check coming from the tech-insights-common library.

    With this change comes a refactor of Check from a type to an interface.

    The TechInsightCheck interface will be removed from the tech-insights-node plugin in it's next major release.

    Importing Check from @backstage-community/plugin-tech-insights-common/client has been deprecated in favor of importing directly from @backstage-community/plugin-tech-insights-common.

  • Updated dependencies [f015469]

  • Updated dependencies [e919e53]
  • Updated dependencies [c107e0f]

2.2.0

Minor Changes

  • 5abfb11: Backstage version bump to v1.34.2

Patch Changes

2.1.1

Patch Changes

  • d9d9039: Adds a new techInsightsServiceRef that provides a default tech insights client.

    Users can now use the techInsightsServiceRef to get a default tech insights client as follows:

    import { techInsightsServiceRef } from '@backstage-community/plugin-tech-insights-node';
    
    export const examplePlugin = createBackendPlugin({
      pluginId: 'example',
      register(env) {
        env.registerInit({
          deps: {
            logger: coreServices.logger,
            httpRouter: coreServices.httpRouter,
            ..., // other dependencies
            techInsights: techInsightsServiceRef,
          },
          async init({
            logger,
            httpRouter,
            techInsights,
          }) {
            httpRouter.use(
              await createRouter({
                logger,
                techInsights,
              }),
            );
          },
        });
      },
    });

2.1.0

Minor Changes

  • 5289c38: Add metadata to TechInsightCheck

Patch Changes

2.0.0

Major Changes

  • c3bbe0f: In order to use UrlReaderService in fact retrievers, UrlReaderService has been added to FactRetrieverContext.

1.0.3

Patch Changes

1.0.2

Patch Changes

1.0.1

Patch Changes

1.0.0

Major Changes

  • 9871d0b: BREAKING: FactRetrieverContext no longer includes the deprecated tokenManager. Please use the auth field instead if you need to make backend requests.

0.6.7

Patch Changes

  • 1d33996: Added links property for checks, to allow the UI to render links for users to click and get more information about individual checks, what they mean, how to adhere to them, etc.
  • Updated dependencies [1d33996]

0.6.6

Patch Changes

0.6.5

Patch Changes

0.6.4

Patch Changes

  • 7ac338c: Update Backstage to 1.29.1 Remove usage of deprecated API endpoints except tokenManager
  • 794cc8b: Fix api reports generated with the wrong name Update @backstage/cli to 0.26.11 Add missing Backstage fields in package.json
  • Updated dependencies [794cc8b]

0.6.3

Patch Changes

0.6.2

Patch Changes

  • d4a8be1: Provide an overview page about checks for entities.

0.6.1

Patch Changes

0.6.0

Minor Changes

  • 5dd8177: BREAKING Winston logger has been replaced with LoggerService

Patch Changes

0.5.3-next.1

Patch Changes

0.5.3-next.0

Patch Changes

0.5.2

Patch Changes

0.5.1

Patch Changes

0.5.0

Minor Changes

  • d621468: BREAKING: The FactRetrieverContext type now contains an additional auth field.

Patch Changes

0.5.0-next.2

Patch Changes

0.5.0-next.1

Patch Changes

0.5.0-next.0

Minor Changes

  • d621468: BREAKING: The FactRetrieverContext type now contains an additional auth field.

Patch Changes

0.4.16

Patch Changes

  • 7201af3: Add support for the new backend system.

    A new backend plugin for the tech-insights backend was added and exported as default.

    You can use it with the new backend system like

    ts title="packages/backend/src/index.ts" backend.add(import('@backstage-community/plugin-tech-insights-backend'));

  • 341c2a2: Move FactRetrieverRegistry and PersistenceContext to @backstage-community/plugin-tech-insights-node.

    Original exports are marked as deprecated and re-export the moved types.

    Please replace uses like

    import {
      FactRetrieverRegistry,
      PersistenceContext,
    } from '@backstage-community/plugin-tech-insights-backend';

    with

    import {
      FactRetrieverRegistry,
      PersistenceContext,
    } from '@backstage-community/plugin-tech-insights-node';
  • Updated dependencies

0.4.16-next.3

Patch Changes

0.4.16-next.2

Patch Changes

  • 7201af3: Add support for the new backend system.

    A new backend plugin for the tech-insights backend was added and exported as default.

    You can use it with the new backend system like

    ts title="packages/backend/src/index.ts" backend.add(import('@backstage-community/plugin-tech-insights-backend'));

  • 341c2a2: Move FactRetrieverRegistry and PersistenceContext to @backstage-community/plugin-tech-insights-node.

    Original exports are marked as deprecated and re-export the moved types.

    Please replace uses like

    import {
      FactRetrieverRegistry,
      PersistenceContext,
    } from '@backstage-community/plugin-tech-insights-backend';

    with

    import {
      FactRetrieverRegistry,
      PersistenceContext,
    } from '@backstage-community/plugin-tech-insights-node';
  • Updated dependencies

0.4.16-next.1

Patch Changes

0.4.16-next.0

Patch Changes

0.4.15

Patch Changes

0.4.15-next.2

Patch Changes

0.4.15-next.1

Patch Changes

0.4.15-next.0

Patch Changes

0.4.14

Patch Changes

0.4.14-next.3

Patch Changes

0.4.14-next.2

Patch Changes

0.4.14-next.1

Patch Changes

0.4.14-next.0

Patch Changes

0.4.13

Patch Changes

0.4.13-next.2

Patch Changes

0.4.13-next.1

Patch Changes

0.4.13-next.0

Patch Changes

0.4.12

Patch Changes

0.4.12-next.2

Patch Changes

0.4.11-next.1

Patch Changes

0.4.11-next.0

Patch Changes

0.4.9

Patch Changes

0.4.9-next.3

Patch Changes

0.4.9-next.2

Patch Changes

0.4.9-next.1

Patch Changes

0.4.8-next.0

Patch Changes

0.4.6

Patch Changes

0.4.6-next.2

Patch Changes

0.4.6-next.1

Patch Changes

0.4.6-next.0

Patch Changes

0.4.5

Patch Changes

0.4.5-next.0

Patch Changes

0.4.4

Patch Changes

0.4.4-next.2

Patch Changes

0.4.4-next.1

Patch Changes

0.4.4-next.0

Patch Changes

0.4.3

Patch Changes

0.4.3-next.1

Patch Changes

0.4.3-next.0

Patch Changes

0.4.2

Patch Changes

0.4.2-next.2

Patch Changes

0.4.2-next.1

Patch Changes

0.4.2-next.0

Patch Changes

0.4.1

Patch Changes

0.4.1-next.2

Patch Changes

0.4.1-next.1

Patch Changes

0.4.1-next.0

Patch Changes

0.4.0

Minor Changes

  • 4024b37449: TechInsightsApi interface now has getFactSchemas() method. TechInsightsClient now implements method getFactSchemas().

    BREAKING FactSchema type moved from @backstage-community/plugin-tech-insights-node into @backstage-community/plugin-tech-insights-common

    These changes are required if you were importing this type directly.

    - import { FactSchema } from '@backstage-community/plugin-tech-insights-node';
    + import { FactSchema } from '@backstage-community/plugin-tech-insights-common';

Patch Changes

0.4.0-next.2

Patch Changes

0.4.0-next.1

Minor Changes

  • 4024b37449: TechInsightsApi interface now has getFactSchemas() method. TechInsightsClient now implements method getFactSchemas().

    BREAKING FactSchema type moved from @backstage-community/plugin-tech-insights-node into @backstage-community/plugin-tech-insights-common

    These changes are required if you were importing this type directly.

    - import { FactSchema } from '@backstage-community/plugin-tech-insights-node';
    + import { FactSchema } from '@backstage-community/plugin-tech-insights-common';

Patch Changes

0.3.10-next.0

Patch Changes

0.3.8

Patch Changes

0.3.8-next.1

Patch Changes

0.3.8-next.0

Patch Changes

0.3.7

Patch Changes

0.3.7-next.3

Patch Changes

0.3.7-next.2

Patch Changes

0.3.7-next.1

Patch Changes

0.3.7-next.0

Patch Changes

0.3.6

Patch Changes

0.3.6-next.1

Patch Changes

0.3.6-next.0

Patch Changes

0.3.5

Patch Changes

0.3.5-next.2

Patch Changes

0.3.5-next.1

Patch Changes

0.3.5-next.0

Patch Changes

0.3.4

Patch Changes

0.3.4-next.1

Patch Changes

0.3.4-next.0

Patch Changes

0.3.3

Patch Changes

0.3.3-next.0

Patch Changes

0.3.2

Patch Changes

0.3.2-next.1

Patch Changes

0.3.2-next.0

Patch Changes

0.3.1

Patch Changes

  • aa15229ec3: Introduce additional JsonValue types to be storable as facts. This enables the possibility to store more complex objects for fact checking purposes. The rules engine supports walking keyed object values directly to create rules and checks

    Modify facts database table to have a more restricted timestamp precision for cases where the postgres server isn't configured to contain such value. This fixes the issue where in some cases maxItems lifecycle condition didn't work as expected.

  • Updated dependencies

0.3.1-next.1

Patch Changes

0.3.1-next.0

Patch Changes

0.3.0

Minor Changes

  • 58e2c46151: BREAKING: The FactRetrieverContext type now contains an additional field: tokenManager.

Patch Changes

0.3.0-next.2

Patch Changes

0.3.0-next.1

Minor Changes

  • 58e2c46151: BREAKING: The FactRetrieverContext type now contains an additional field: tokenManager.

Patch Changes

0.2.10-next.0

Patch Changes

0.2.9

Patch Changes

  • 231fee736b: Adds an optional timeout to fact retriever registrations to stop a task if it runs too long.
  • Updated dependencies

0.2.9-next.1

Patch Changes

0.2.9-next.0

Patch Changes

0.2.8

Patch Changes

0.2.7

Patch Changes

0.2.7-next.0

Patch Changes

0.2.6

Patch Changes

0.2.5

Patch Changes

0.2.4

Patch Changes

0.2.3

Patch Changes

0.2.2

Patch Changes

0.2.2-next.0

Patch Changes

0.2.1

Patch Changes

0.2.1-next.0

Patch Changes

0.2.0

Minor Changes

  • dfd5e81721: BREAKING CHANGES:

    • The helper function to create a fact retriever registration is now expecting an object of configuration items instead of individual arguments. Modify your techInsights.ts plugin configuration in packages/backend/src/plugins/techInsights.ts (or equivalent) the following way:
    -createFactRetrieverRegistration(
    -  '1 1 1 * *', // Example cron, At 01:01 on day-of-month 1.
    -  entityOwnershipFactRetriever,
    -),
    +createFactRetrieverRegistration({
    +  cadende: '1 1 1 * *', // Example cron, At 01:01 on day-of-month 1.
    +  factRetriever: entityOwnershipFactRetriever,
    +}),
    
    • TechInsightsStore interface has changed its signature of insertFacts method. If you have created your own implementation of either TechInsightsDatabase or FactRetrieverEngine you need to modify the implementation/call to this method to accept/pass-in an object instead if individual arguments. The interface now accepts an additional lifecycle argument which is optional (defined below). An example modification to fact retriever engine:
    -await this.repository.insertFacts(factRetriever.id, facts);
    +await this.repository.insertFacts({
    + id: factRetriever.id,
    + facts,
    + lifecycle,
    +});

    Adds a configuration option to fact retrievers to define lifecycle for facts the retriever persists. Possible values are either 'max items' or 'time-to-live'. The former will keep only n number of items in the database for each fact per entity. The latter will remove all facts that are older than the TTL value.

    Possible values:

    • { maxItems: 5 } // Deletes all facts for the retriever/entity pair, apart from the last five
    • { ttl: 1209600000 } // (2 weeks) Deletes all facts older than 2 weeks for the retriever/entity pair
    • { ttl: { weeks: 2 } } // Deletes all facts older than 2 weeks for the retriever/entity pair

Patch Changes

0.2.0-next.0

Minor Changes

  • dfd5e81721: BREAKING CHANGES:

    • The helper function to create a fact retriever registration is now expecting an object of configuration items instead of individual arguments. Modify your techInsights.ts plugin configuration in packages/backend/src/plugins/techInsights.ts (or equivalent) the following way:
    -createFactRetrieverRegistration(
    -  '1 1 1 * *', // Example cron, At 01:01 on day-of-month 1.
    -  entityOwnershipFactRetriever,
    -),
    +createFactRetrieverRegistration({
    +  cadende: '1 1 1 * *', // Example cron, At 01:01 on day-of-month 1.
    +  factRetriever: entityOwnershipFactRetriever,
    +}),
    
    • TechInsightsStore interface has changed its signature of insertFacts method. If you have created your own implementation of either TechInsightsDatabase or FactRetrieverEngine you need to modify the implementation/call to this method to accept/pass-in an object instead if individual arguments. The interface now accepts an additional lifecycle argument which is optional (defined below). An example modification to fact retriever engine:
    -await this.repository.insertFacts(factRetriever.id, facts);
    +await this.repository.insertFacts({
    + id: factRetriever.id,
    + facts,
    + lifecycle,
    +});

    Adds a configuration option to fact retrievers to define lifecycle for facts the retriever persists. Possible values are either 'max items' or 'time-to-live'. The former will keep only n number of items in the database for each fact per entity. The latter will remove all facts that are older than the TTL value.

    Possible values:

    • { maxItems: 5 } // Deletes all facts for the retriever/entity pair, apart from the last five
    • { ttl: 1209600000 } // (2 weeks) Deletes all facts older than 2 weeks for the retriever/entity pair
    • { ttl: { weeks: 2 } } // Deletes all facts older than 2 weeks for the retriever/entity pair

Patch Changes

0.1.2

Patch Changes

0.1.1

Patch Changes