Skip to content

Commit

Permalink
feat(configaudit): update severity enum (#81)
Browse files Browse the repository at this point in the history
Signed-off-by: Daniel Pacak <pacak.daniel@gmail.com>
  • Loading branch information
danielpacak authored Mar 28, 2022
1 parent 0933e79 commit 837d88d
Show file tree
Hide file tree
Showing 9 changed files with 84 additions and 64 deletions.
18 changes: 9 additions & 9 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@aquasecurity/starboard-lens-extension",
"publisher": "aquasecurity.github.io",
"version": "0.9.0",
"version": "0.10.0",
"description": "Lens extension for viewing Starboard security information",
"homepage": "https://github.com/aquasecurity/starboard-lens-extension",
"repository": {
Expand All @@ -26,7 +26,7 @@
"@emotion/css": "^11.0.0",
"@emotion/react": "^11.1.0",
"@emotion/styled": "^11.0.0",
"@k8slens/extensions": "^5.3.0",
"@k8slens/extensions": "^5.4.0",
"@types/node": "^14.17.0",
"@types/react": "^17.0.0",
"@types/webpack": "^4.41.0",
Expand Down
2 changes: 1 addition & 1 deletion renderer.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -249,7 +249,7 @@ export default class StarboardExtension extends Renderer.LensExtension {
Details: (props: KubeHunterReportDetailsProps) => <KubeHunterReportDetails
showObjectMeta {...props} />
}
}
},
]

}
2 changes: 1 addition & 1 deletion src/configauditreports/checks-list.scss
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
text-align: center;
flex-grow: 0.1;
}
&.message {
&.messages {
text-align: left;
flex-grow: 0.65;
}
Expand Down
9 changes: 5 additions & 4 deletions src/configauditreports/checks-list.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,8 @@ const BySeverity = (v1: Check, v2: Check) => {
export class ChecksList extends React.Component<Props> {

getMessage = (check: Check) => {
if (check.message !== undefined && check.message !== "") {
return check.message
if (check.messages !== undefined && check.messages.length > 0) {
return check.messages.join("\n")
}
return check.description
}
Expand All @@ -50,7 +50,8 @@ export class ChecksList extends React.Component<Props> {
return (
<TableRow key={check.checkID} nowrap>
<TableCell className="checkID">
<Badge flat expandable={false} label={check.checkID} tooltip={check.checkID}/>
<a target="_blank"
href={"https://avd.aquasec.com/misconfig/kubernetes/" + check.checkID.toLowerCase()}>{check.checkID}</a>
</TableCell>
<TableCell className="severity">
<Badge className={"Badge severity-" + check.severity} small label={check.severity}/>
Expand Down Expand Up @@ -86,7 +87,7 @@ export class ChecksList extends React.Component<Props> {
<TableHead>
<TableCell className="checkID">ID</TableCell>
<TableCell className="severity">Severity</TableCell>
<TableCell className="message">Message</TableCell>
<TableCell className="messages">Messages</TableCell>
<TableCell className="status">Status</TableCell>
</TableHead>
{
Expand Down
13 changes: 9 additions & 4 deletions src/configauditreports/details.scss
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,24 @@
.summary {
.Badge {

&.theme-danger {
&.severity-critical {
color: white;
background-color: #cc1814;
}

&.theme-warning {
&.severity-high {
color: white;
background-color: #ffa500;
}

&.theme-pass {
&.severity-medium {
color: white;
background-color: #00b09b;
background-color: #f0c20c;
}

&.severity-low {
color: white;
background-color: #096ab0;
}
}
}
Expand Down
42 changes: 24 additions & 18 deletions src/configauditreports/details.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -33,15 +33,18 @@ export class ClusterConfigAuditReportDetails extends React.Component<ClusterConf
object={report}
hideFields={["uid", "resourceVersion", "selfLink"]}/>}
<DrawerItem name="Summary" className="summary" labelsOnly>
<Badge className="Badge theme-danger"
label={summary.dangerCount}
tooltip="Danger"/>
<Badge className="Badge theme-warning"
label={summary.warningCount}
tooltip="Warning"/>
<Badge className="Badge theme-pass"
label={summary.passCount}
tooltip="Pass"/>
<Badge className="Badge severity-critical"
label={summary.criticalCount}
tooltip="Critical"/>
<Badge className="Badge severity-high"
label={summary.highCount}
tooltip="High"/>
<Badge className="Badge severity-medium"
label={summary.mediumCount}
tooltip="Medium"/>
<Badge className="Badge severity-low"
label={summary.lowCount}
tooltip="Low"/>
</DrawerItem>
<ChecksList checks={checks}/>
</div>
Expand Down Expand Up @@ -77,15 +80,18 @@ export class ConfigAuditReportDetails extends React.Component<ConfigAuditReportD
object={report}
hideFields={["uid", "resourceVersion", "selfLink"]}/>}
<DrawerItem name="Summary" className="summary" labelsOnly>
<Badge className="Badge theme-danger"
label={summary.dangerCount}
tooltip="Danger"/>
<Badge className="Badge theme-warning"
label={summary.warningCount}
tooltip="Warning"/>
<Badge className="Badge theme-pass"
label={summary.passCount}
tooltip="Pass"/>
<Badge className="Badge severity-critical"
label={summary.criticalCount}
tooltip="Critical"/>
<Badge className="Badge severity-high"
label={summary.highCount}
tooltip="High"/>
<Badge className="Badge severity-medium"
label={summary.mediumCount}
tooltip="Medium"/>
<Badge className="Badge severity-low"
label={summary.lowCount}
tooltip="Low"/>
</DrawerItem>
<ChecksList checks={checks}/>
</div>
Expand Down
49 changes: 28 additions & 21 deletions src/configauditreports/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,10 @@ const {
enum sortBy {
name = "name",
namespace = "namespace",
pass = "pass",
danger = "danger",
warning = "warning",
critical = "critical",
high = "high",
medium = "medium",
low = "low",
scanner = "scanner"
}

Expand All @@ -28,9 +29,10 @@ export class ClusterConfigAuditReportPage extends React.Component<{ extension: R
className="ConfigAuditReports" store={clusterStore}
sortingCallbacks={{
[sortBy.name]: (report: ClusterConfigAuditReport) => report.getName(),
[sortBy.danger]: (report: ClusterConfigAuditReport) => report.report.summary.dangerCount,
[sortBy.warning]: (report: ClusterConfigAuditReport) => report.report.summary.warningCount,
[sortBy.pass]: (report: ClusterConfigAuditReport) => report.report.summary.passCount,
[sortBy.critical]: (report: ClusterConfigAuditReport) => report.report.summary.criticalCount,
[sortBy.high]: (report: ClusterConfigAuditReport) => report.report.summary.highCount,
[sortBy.medium]: (report: ClusterConfigAuditReport) => report.report.summary.mediumCount,
[sortBy.low]: (report: ClusterConfigAuditReport) => report.report.summary.lowCount,
[sortBy.scanner]: (report: ClusterConfigAuditReport) => report.report.scanner.name + " " + report.report.scanner.version,
}}
searchFilters={[
Expand All @@ -39,17 +41,19 @@ export class ClusterConfigAuditReportPage extends React.Component<{ extension: R
renderHeaderTitle="ClusterConfigAuditReports"
renderTableHeader={[
{title: "Name", sortBy: sortBy.name},
{title: "Danger", sortBy: sortBy.danger},
{title: "Warning", sortBy: sortBy.warning},
{title: "Pass", sortBy: sortBy.pass},
{title: "Critical", sortBy: sortBy.critical},
{title: "High", sortBy: sortBy.high},
{title: "Medium", sortBy: sortBy.medium},
{title: "Low", sortBy: sortBy.low},
{title: "Scanner", sortBy: sortBy.scanner},
]}
renderTableContents={(report: ClusterConfigAuditReport) => [
<Badge flat expandable={false} key="name" label={report.getName()}
tooltip={report.getName()}/>,
report.report.summary.dangerCount,
report.report.summary.warningCount,
report.report.summary.passCount,
report.report.summary.criticalCount,
report.report.summary.highCount,
report.report.summary.mediumCount,
report.report.summary.lowCount,
report.report.scanner.name + " " + report.report.scanner.version,
]}
/>
Expand All @@ -67,9 +71,10 @@ export class ConfigAuditReportPage extends React.Component<{ extension: Renderer
sortingCallbacks={{
[sortBy.name]: (report: ConfigAuditReport) => report.getName(),
[sortBy.namespace]: (report: ConfigAuditReport) => report.metadata.namespace,
[sortBy.danger]: (report: ConfigAuditReport) => report.report.summary.dangerCount,
[sortBy.warning]: (report: ConfigAuditReport) => report.report.summary.warningCount,
[sortBy.pass]: (report: ConfigAuditReport) => report.report.summary.passCount,
[sortBy.critical]: (report: ConfigAuditReport) => report.report.summary.criticalCount,
[sortBy.high]: (report: ConfigAuditReport) => report.report.summary.highCount,
[sortBy.medium]: (report: ConfigAuditReport) => report.report.summary.mediumCount,
[sortBy.low]: (report: ConfigAuditReport) => report.report.summary.lowCount,
[sortBy.scanner]: (report: ClusterConfigAuditReport) => report.report.scanner.name + " " + report.report.scanner.version,
}}
searchFilters={[
Expand All @@ -79,19 +84,21 @@ export class ConfigAuditReportPage extends React.Component<{ extension: Renderer
renderTableHeader={[
{title: "Name", sortBy: sortBy.name},
{title: "Namespace", sortBy: sortBy.namespace},
{title: "Danger", sortBy: sortBy.danger},
{title: "Warning", sortBy: sortBy.warning},
{title: "Pass", sortBy: sortBy.pass},
{title: "Critical", sortBy: sortBy.critical},
{title: "High", sortBy: sortBy.high},
{title: "Medium", sortBy: sortBy.medium},
{title: "Low", sortBy: sortBy.low},
{title: "Scanner", sortBy: sortBy.scanner},

]}
renderTableContents={(report: ConfigAuditReport) => [
<Badge flat expandable={false} key="name" label={report.getName()}
tooltip={report.getName()}/>,
report.metadata.namespace,
report.report.summary.dangerCount,
report.report.summary.warningCount,
report.report.summary.passCount,
report.report.summary.criticalCount,
report.report.summary.highCount,
report.report.summary.mediumCount,
report.report.summary.lowCount,
report.report.scanner.name + " " + report.report.scanner.version,
]}
/>
Expand Down
9 changes: 5 additions & 4 deletions src/configauditreports/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,17 @@ import {Renderer} from "@k8slens/extensions";
import {Scanner} from "../starboard/types";

export type Summary = {
passCount?: number;
dangerCount: number;
warningCount: number;
criticalCount: number;
highCount: number;
mediumCount: number;
lowCount: number;
}

export class Check {
checkID: string;
title: string;
description: string;
message?: string;
messages: string[];
success: boolean;
severity: string;
category: string;
Expand Down

0 comments on commit 837d88d

Please sign in to comment.