Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view

This file was deleted.

1 change: 0 additions & 1 deletion src/Pages-Devtron-2.0/SecurityCenter/Overview/index.ts

This file was deleted.

19 changes: 13 additions & 6 deletions src/components/Navigation/constants.ts
Original file line number Diff line number Diff line change
Expand Up @@ -359,10 +359,17 @@
icon: 'ic-chart-line-up',
},
{
title: 'Security Scans',
dataTestId: 'security-scans',
id: 'security-center-security-scans',
href: COMMON_URLS.SECURITY_CENTER_SCANS,
title: 'Vulnerabilities',
dataTestId: 'security-vulnerabilities',
id: 'security-center-security-vulnerabilities',

Check failure on line 364 in src/components/Navigation/constants.ts

View workflow job for this annotation

GitHub Actions / ci

Type '"security-center-security-vulnerabilities"' is not assignable to type 'NavigationItemID'. Did you mean '"security-center-security-scans"'?

Check failure on line 364 in src/components/Navigation/constants.ts

View workflow job for this annotation

GitHub Actions / ci

Type '"security-center-security-vulnerabilities"' is not assignable to type 'NavigationItemID'. Did you mean '"security-center-security-scans"'?
href: COMMON_URLS.SECURITY_CENTER_VULNERABILITIES,

Check failure on line 365 in src/components/Navigation/constants.ts

View workflow job for this annotation

GitHub Actions / ci

Property 'SECURITY_CENTER_VULNERABILITIES' does not exist on type '{ readonly LOGIN: "/login"; readonly LOGIN_SSO: "/login/sso"; readonly APP_LIST: "list"; readonly CREATE_JOB: "create-job"; readonly GETTING_STARTED: "getting-started"; readonly STACK_MANAGER_ABOUT: "/stack-manager/about"; ... 70 more ...; readonly EXTERNAL_APPS: "ea"; }'.

Check failure on line 365 in src/components/Navigation/constants.ts

View workflow job for this annotation

GitHub Actions / ci

Property 'SECURITY_CENTER_VULNERABILITIES' does not exist on type '{ readonly LOGIN: "/login"; readonly LOGIN_SSO: "/login/sso"; readonly APP_LIST: "list"; readonly CREATE_JOB: "create-job"; readonly GETTING_STARTED: "getting-started"; readonly STACK_MANAGER_ABOUT: "/stack-manager/about"; ... 70 more ...; readonly EXTERNAL_APPS: "ea"; }'.
icon: 'ic-bug',
},
{
title: 'Security Enablement',
dataTestId: 'security-enablement',
id: 'security-center-security-enablement',

Check failure on line 371 in src/components/Navigation/constants.ts

View workflow job for this annotation

GitHub Actions / ci

Type '"security-center-security-enablement"' is not assignable to type 'NavigationItemID'. Did you mean '"security-center-security-scans"'?

Check failure on line 371 in src/components/Navigation/constants.ts

View workflow job for this annotation

GitHub Actions / ci

Type '"security-center-security-enablement"' is not assignable to type 'NavigationItemID'. Did you mean '"security-center-security-scans"'?
href: COMMON_URLS.SECURITY_CENTER_SECURITY_ENABLEMENT,

Check failure on line 372 in src/components/Navigation/constants.ts

View workflow job for this annotation

GitHub Actions / ci

Property 'SECURITY_CENTER_SECURITY_ENABLEMENT' does not exist on type '{ readonly LOGIN: "/login"; readonly LOGIN_SSO: "/login/sso"; readonly APP_LIST: "list"; readonly CREATE_JOB: "create-job"; readonly GETTING_STARTED: "getting-started"; readonly STACK_MANAGER_ABOUT: "/stack-manager/about"; ... 70 more ...; readonly EXTERNAL_APPS: "ea"; }'.

Check failure on line 372 in src/components/Navigation/constants.ts

View workflow job for this annotation

GitHub Actions / ci

Property 'SECURITY_CENTER_SECURITY_ENABLEMENT' does not exist on type '{ readonly LOGIN: "/login"; readonly LOGIN_SSO: "/login/sso"; readonly APP_LIST: "list"; readonly CREATE_JOB: "create-job"; readonly GETTING_STARTED: "getting-started"; readonly STACK_MANAGER_ABOUT: "/stack-manager/about"; ... 70 more ...; readonly EXTERNAL_APPS: "ea"; }'.
icon: 'ic-security-scan',
},
{
Expand Down Expand Up @@ -486,8 +493,8 @@
href: `${URLS.GLOBAL_CONFIG_AUTH}/${Routes.SSO_LOGIN_SERVICES}`,
},
{
title: 'Host URLS',
dataTestId: 'host-urls',
title: 'Host URL',
dataTestId: 'host-url',
id: 'global-configuration-host-urls',
icon: 'ic-link',
href: URLS.GLOBAL_CONFIG_HOST_URL,
Expand Down
12 changes: 6 additions & 6 deletions src/components/security/AddCVEPolicy/VulnerabilityExposure.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -92,18 +92,18 @@ const ExposureListContainer = ({ urlFilters }: ExposureListContainerProps) => {
)
}

const clusterListOptions: SelectPickerOptionType[] = filtersResponse?.filters.clusters || []
const environmentListOptions: SelectPickerOptionType[] = filtersResponse?.filters.environments || []
const clusterListOptions: SelectPickerOptionType[] = filtersResponse?.cluster || []
const environmentListOptions: SelectPickerOptionType[] = filtersResponse?.environment || []

const getFilterLabelFromValue = (filterKey: string, filterValue: string) => {
if (filterKey === VulnerabilityExposureFilterKeys.cluster) {
return (
filtersResponse?.filters.clusters.find((clusterOption) => clusterOption.value === filterValue)?.label ??
filterValue
(filtersResponse?.cluster.find((clusterOption) => clusterOption.value === filterValue)
?.label as string) ?? filterValue
)
}
return (
filtersResponse?.filters.environments.find((envOption) => envOption.value === filterValue)?.label ??
(filtersResponse?.environment.find((envOption) => envOption.value === filterValue)?.label as string) ??
filterValue
)
}
Expand All @@ -114,7 +114,7 @@ const ExposureListContainer = ({ urlFilters }: ExposureListContainerProps) => {
}))

const selectedEnvironments: SelectPickerOptionType[] = environment.map((envId) => ({
label: getFilterLabelFromValue(VulnerabilityExposureFilterKeys.cluster, envId),
label: getFilterLabelFromValue(VulnerabilityExposureFilterKeys.environment, envId),
value: envId,
}))

Expand Down
17 changes: 0 additions & 17 deletions src/components/security/AddCveModal.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@

import React, { Component } from 'react'
import { Progressing, VisibleModal, CustomInput } from '@devtron-labs/devtron-fe-common-lib'
import { getCVEPolicies } from './security.service'
import { CVE_ID_NOT_FOUND, ViewType } from '../../config'
import { AddCveModalProps, AddCveModalState, ClusterEnvironment, VulnerabilityAction } from './security.types'
import { ReactComponent as Close } from '../../assets/icons/ic-close.svg'
Expand All @@ -33,7 +32,6 @@ export class AddCveModal extends Component<AddCveModalProps, AddCveModalState> {
}
this.handleCveChange = this.handleCveChange.bind(this)
this.handlePolicyChange = this.handlePolicyChange.bind(this)
this.searchCVE = this.searchCVE.bind(this)
}

handleCveChange(event: React.ChangeEvent<HTMLInputElement>): void {
Expand All @@ -54,21 +52,6 @@ export class AddCveModal extends Component<AddCveModalProps, AddCveModalState> {
}
}

searchCVE(event): void {
this.setState({ view: ViewType.LOADING })
getCVEPolicies(this.state.cve)
.then((response) => {
this.setState({
cve: this.state.cve,
clusters: response.result.clusters,
view: ViewType.FORM,
})
})
.catch((error) => {
this.setState({ view: ViewType.FORM, isCveError: true })
})
}

renderHeader() {
return (
<div className="modal__header ml-24 mr-24">
Expand Down
14 changes: 10 additions & 4 deletions src/components/security/Security.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -20,12 +20,13 @@

import { importComponentFromFELibrary } from '@Components/common'

import { SecurityScansTab } from './SecurityScansTab/SecurityScansTab'
import { SecurityPoliciesTab } from './SecurityPoliciesTab'
import { VulnerabilitiesRouter } from './Vulnerabilities'

import './security.scss'

const SecurityCenterOverview = importComponentFromFELibrary('SecurityCenterOverview', null, 'function')
const SecurityEnablement = importComponentFromFELibrary('SecurityEnablement', null, 'function')

export const Security = () => (
<Switch>
Expand All @@ -34,12 +35,17 @@
<SecurityCenterOverview />
</Route>
)}
<Route exact path={URLS.SECURITY_CENTER_SCANS}>
<SecurityScansTab />
<Route path={URLS.SECURITY_CENTER_VULNERABILITIES}>

Check failure on line 38 in src/components/security/Security.tsx

View workflow job for this annotation

GitHub Actions / ci

Property 'SECURITY_CENTER_VULNERABILITIES' does not exist on type '{ readonly LOGIN: "/login"; readonly LOGIN_SSO: "/login/sso"; readonly APP_LIST: "list"; readonly CREATE_JOB: "create-job"; readonly GETTING_STARTED: "getting-started"; readonly STACK_MANAGER_ABOUT: "/stack-manager/about"; ... 70 more ...; readonly EXTERNAL_APPS: "ea"; }'.

Check failure on line 38 in src/components/security/Security.tsx

View workflow job for this annotation

GitHub Actions / ci

Property 'SECURITY_CENTER_VULNERABILITIES' does not exist on type '{ readonly LOGIN: "/login"; readonly LOGIN_SSO: "/login/sso"; readonly APP_LIST: "list"; readonly CREATE_JOB: "create-job"; readonly GETTING_STARTED: "getting-started"; readonly STACK_MANAGER_ABOUT: "/stack-manager/about"; ... 70 more ...; readonly EXTERNAL_APPS: "ea"; }'.
<VulnerabilitiesRouter />
</Route>
{SecurityEnablement && (
<Route path={URLS.SECURITY_CENTER_SECURITY_ENABLEMENT}>

Check failure on line 42 in src/components/security/Security.tsx

View workflow job for this annotation

GitHub Actions / ci

Property 'SECURITY_CENTER_SECURITY_ENABLEMENT' does not exist on type '{ readonly LOGIN: "/login"; readonly LOGIN_SSO: "/login/sso"; readonly APP_LIST: "list"; readonly CREATE_JOB: "create-job"; readonly GETTING_STARTED: "getting-started"; readonly STACK_MANAGER_ABOUT: "/stack-manager/about"; ... 70 more ...; readonly EXTERNAL_APPS: "ea"; }'.

Check failure on line 42 in src/components/security/Security.tsx

View workflow job for this annotation

GitHub Actions / ci

Property 'SECURITY_CENTER_SECURITY_ENABLEMENT' does not exist on type '{ readonly LOGIN: "/login"; readonly LOGIN_SSO: "/login/sso"; readonly APP_LIST: "list"; readonly CREATE_JOB: "create-job"; readonly GETTING_STARTED: "getting-started"; readonly STACK_MANAGER_ABOUT: "/stack-manager/about"; ... 70 more ...; readonly EXTERNAL_APPS: "ea"; }'.
<SecurityEnablement />
</Route>
)}
<Route path={URLS.SECURITY_CENTER_POLICIES}>
<SecurityPoliciesTab />
</Route>
<Redirect to={SecurityCenterOverview ? URLS.SECURITY_CENTER_OVERVIEW : URLS.SECURITY_CENTER_SCANS} />
<Redirect to={SecurityCenterOverview ? URLS.SECURITY_CENTER_OVERVIEW : URLS.SECURITY_CENTER_VULNERABILITIES} />

Check failure on line 49 in src/components/security/Security.tsx

View workflow job for this annotation

GitHub Actions / ci

Property 'SECURITY_CENTER_VULNERABILITIES' does not exist on type '{ readonly LOGIN: "/login"; readonly LOGIN_SSO: "/login/sso"; readonly APP_LIST: "list"; readonly CREATE_JOB: "create-job"; readonly GETTING_STARTED: "getting-started"; readonly STACK_MANAGER_ABOUT: "/stack-manager/about"; ... 70 more ...; readonly EXTERNAL_APPS: "ea"; }'.

Check failure on line 49 in src/components/security/Security.tsx

View workflow job for this annotation

GitHub Actions / ci

Property 'SECURITY_CENTER_VULNERABILITIES' does not exist on type '{ readonly LOGIN: "/login"; readonly LOGIN_SSO: "/login/sso"; readonly APP_LIST: "list"; readonly CREATE_JOB: "create-job"; readonly GETTING_STARTED: "getting-started"; readonly STACK_MANAGER_ABOUT: "/stack-manager/about"; ... 70 more ...; readonly EXTERNAL_APPS: "ea"; }'.
</Switch>
)
25 changes: 0 additions & 25 deletions src/components/security/SecurityPageHeader.tsx

This file was deleted.

25 changes: 23 additions & 2 deletions src/components/security/SecurityPoliciesTab.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -15,15 +15,35 @@
*/

import { Switch, Route, Redirect, NavLink, useRouteMatch } from 'react-router-dom'

import {
BreadCrumb,
BreadcrumbText,
getSecurityCenterBreadcrumb,
PageHeader,
useBreadcrumb,
} from '@devtron-labs/devtron-fe-common-lib'

import { SecurityPolicyGlobal } from './SecurityPolicyGlobal'
import { SecurityPolicyCluster } from './SecurityPolicyCluster'
import { SecurityPolicyApp } from './SecurityPolicyApp'
import { SecurityPolicyEnvironment } from './SecurityPolicyEnvironment'
import { VulnerabilityExposure } from './AddCVEPolicy'
import { SecurityPageHeader } from './SecurityPageHeader'

export const SecurityPoliciesTab = () => {
const { path } = useRouteMatch()

const { breadcrumbs } = useBreadcrumb({
alias: {
...getSecurityCenterBreadcrumb(),
policies: {
component: <BreadcrumbText heading="Security Policies" isActive />,
},
},
})

const renderBreadcrumbs = () => <BreadCrumb breadcrumbs={breadcrumbs} />

const renderRouter = () => {
return (
<Switch>
Expand All @@ -39,7 +59,8 @@ export const SecurityPoliciesTab = () => {

return (
<div className="security-scan-container bg__primary flexbox-col min-h-100">
<SecurityPageHeader />
<PageHeader isBreadcrumbs breadCrumbs={renderBreadcrumbs} />

<div className="security-policy flex-grow-1">
<div className="dc__secondary-nav">
<NavLink
Expand Down
Loading
Loading