
Research
Two Malicious Rust Crates Impersonate Popular Logger to Steal Wallet Keys
Socket uncovers malicious Rust crates impersonating fast_log to steal Solana and Ethereum wallet keys from source code.
@backstage-community/plugin-tech-insights
Advanced tools
This plugin provides the UI for the @backstage/tech-insights-backend
plugin, in order to display results of the checks running following the rules and the logic defined in the @backstage/tech-insights-backend
plugin itself.
Main areas covered by this plugin currently are:
# From your Backstage root directory
yarn --cwd packages/app add @backstage-community/plugin-tech-insights
// packages/app/src/components/catalog/EntityPage.tsx
import { EntityTechInsightsScorecardContent } from '@backstage-community/plugin-tech-insights';
const serviceEntityPage = (
<EntityLayoutWrapper>
<EntityLayout.Route path="/" title="Overview">
{overviewContent}
</EntityLayout.Route>
<EntityLayout.Route path="/ci-cd" title="CI/CD">
{cicdContent}
</EntityLayout.Route>
...
<EntityLayout.Route path="/tech-insights" title="Scorecards">
<EntityTechInsightsScorecardContent
title="Customized title for the scorecard"
description="Small description about scorecards"
/>
</EntityLayout.Route>
...
</EntityLayoutWrapper>
);
It is obligatory to pass title
prop to EntityTechInsightsScorecardContent
, description
prop is optional.
If you like to display multiple cards in a EntityLayout.Route
use EntityTechInsightsScorecardCard
.
You can pass an array checksId
as a prop with the Fact Retrievers ids to limit which checks you want to show in this card. If you don't pass, the default value is show all checks.
<EntityTechInsightsScorecardContent
title="Show only simpleTestCheck in this card"
checksId={['simpleTestCheck']}
/>
You can also pass a filter
function to both EntityTechInsightsScorecardContent
and EntityTechInsightsScorecardCard
which filters in/out check result after they have been fetched. This can be useful to filter by more logical conditions on fields like id
or name
, e.g. the first characters in a name.
To only show failed checks, you can pass the boolean onlyFailed
to these components.
If you prefer a condensed list (with smaller text size and less padding) in EntityTechInsightsScorecardContent
, you can pass the boolean dense
.
If you want to show checks in the overview of an entity use EntityTechInsightsScorecardCard
.
// packages/app/src/components/catalog/EntityPage.tsx
import { EntityTechInsightsScorecardCard } from '@backstage-community/plugin-tech-insights';
const overviewContent = (
<Grid container spacing={3} alignItems="stretch">
{entityWarningContent}
<Grid item md={6} xs={12}>
<EntityAboutCard variant="gridItem" />
</Grid>
<Grid item md={6} xs={12}>
<EntityCatalogGraphCard variant="gridItem" height={400} />
</Grid>
...
<Grid item md={8} xs={12}>
<EntityTechInsightsScorecardCard
title="Customized title for the scorecard"
description="Small description about scorecards"
checksId={['simpleTestCheck']}
/>
</Grid>
</Grid>
);
If you want to display checks as a gauge visualization, pass the boolean gauge
to EntityTechInsightsScorecardCard
.
// packages/app/src/components/catalog/EntityPage.tsx
import { EntityTechInsightsScorecardCard } from '@backstage-community/plugin-tech-insights';
const overviewContent = (
<Grid container spacing={3} alignItems="stretch">
...
<Grid item md={4}>
<EntityTechInsightsScorecardCard
title="Customized title for the scorecard"
description="Small description about scorecards"
gauge
/>
</Grid>
</Grid>
);
If you follow the Backend Example, once the needed facts have been generated the default boolean scorecard will look like this:
First make the Scorecard page available as route
// packages/app/src/App.tsx
import { TechInsightsScorecardPage } from '@backstage-community/plugin-tech-insights';
const routes = (
<FlatRoutes>
...
<Route path="/tech-insights" element={<TechInsightsScorecardPage />} />
</FlatRoutes>
);
To show a condensed list (with smaller text size and less padding), you can pass the boolean dense
.
If you want to display checks as a badge visualization, pass the boolean badge
to TechInsightsScorecardPage
.
Then add it to the navigation menu
// packages/app/src/components/Root/Root.tsx
import EmojiObjectsIcon from '@material-ui/icons/EmojiObjects';
export const Root = ({ children }: PropsWithChildren<{}>) => (
...
<SidebarItem icon={EmojiObjectsIcon} to="tech-insights" text="Tech insight" />
...
);
The @backstage-community/plugin-tech-insights-react
package contains reusable frontend components for rendering tech-insights results, along with a reference implementation (techInsightsApiRef) for the tech-insights api. See the README for more information.
FAQs
Unknown package
The npm package @backstage-community/plugin-tech-insights receives a total of 2,598 weekly downloads. As such, @backstage-community/plugin-tech-insights popularity was classified as popular.
We found that @backstage-community/plugin-tech-insights demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Socket uncovers malicious Rust crates impersonating fast_log to steal Solana and Ethereum wallet keys from source code.
Research
A malicious package uses a QR code as steganography in an innovative technique.
Research
/Security News
Socket identified 80 fake candidates targeting engineering roles, including suspected North Korean operators, exposing the new reality of hiring as a security function.