Scorecards
What is a Scorecard?
Scorecards enable us to define and track metrics/standards for our Port entities, based on their properties. Each scorecard consists of a set of rules, where each rule defines one or more conditions that need to be met.
Each rule has a level property whose value can be defined per to the way you define standards in your organization, for example:
- Service maturity can be defined as
Basic
,Bronze
,Silver
,Gold
. - Security standards can be defined as
Low
,Medium
,High
,Critical
. - Production readiness can be defined as traffic light colors
Red
,Orange
,Yellow
,Green
. - Engineering quality can be defined as
Poor
,Fair
,Good
,Excellent
. - Service response time can be defined as
A
,B
,C
,D
,F
.
Scorecard use cases
Scorecards can be used to evaluate the maturity, production readiness and engineering quality of any entity in your software catalog, for example:
Does a service has an on-call defined? Does a README.md file exist in the repository? Is Grafana defined for the K8s cluster? Is the relation of a certain entity empty?
Building a Scorecard
The scorecard is built in Port, and then you can use it in your Backstage instance. Read more about how to build a scorecard here.
Scorecards Page
For example, let's add the Scorecard component to the NavBar:
in the file: packages/app/src/App.tsx
, add the route:
<Route path="/scorecards" element={<ScorecardsPage />} />
and then add the link to the NavBar, in the file: packages/app/src/components/Root/Root.tsx
:
<SidebarItem icon={DoneAllIcon} to="scorecards" text="Scorecards" />