diff --git a/package-lock.json b/package-lock.json
index 4f0a647d1..cec315d15 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "@devtron-labs/devtron-fe-common-lib",
- "version": "1.20.6-pre-27",
+ "version": "1.20.6-pre-28",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@devtron-labs/devtron-fe-common-lib",
- "version": "1.20.6-pre-27",
+ "version": "1.20.6-pre-28",
"hasInstallScript": true,
"license": "ISC",
"dependencies": {
diff --git a/package.json b/package.json
index c3d8d9361..90bdf1c35 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "@devtron-labs/devtron-fe-common-lib",
- "version": "1.20.6-pre-27",
+ "version": "1.20.6-pre-28",
"description": "Supporting common component library",
"type": "module",
"main": "dist/index.js",
diff --git a/src/Assets/IconV2/ic-book-gear.svg b/src/Assets/IconV2/ic-book-gear.svg
new file mode 100644
index 000000000..aad326fba
--- /dev/null
+++ b/src/Assets/IconV2/ic-book-gear.svg
@@ -0,0 +1,9 @@
+
diff --git a/src/Assets/IconV2/ic-check-green.svg b/src/Assets/IconV2/ic-check-green.svg
new file mode 100644
index 000000000..3d2537bba
--- /dev/null
+++ b/src/Assets/IconV2/ic-check-green.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Assets/IconV2/ic-close-circle-red.svg b/src/Assets/IconV2/ic-close-circle-red.svg
new file mode 100644
index 000000000..39eb6570a
--- /dev/null
+++ b/src/Assets/IconV2/ic-close-circle-red.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Assets/IconV2/ic-close-circle.svg b/src/Assets/IconV2/ic-close-circle.svg
new file mode 100644
index 000000000..5c48b3451
--- /dev/null
+++ b/src/Assets/IconV2/ic-close-circle.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Assets/IconV2/ic-confirm.svg b/src/Assets/IconV2/ic-confirm.svg
new file mode 100644
index 000000000..33f68aeed
--- /dev/null
+++ b/src/Assets/IconV2/ic-confirm.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Assets/IconV2/ic-info-filled-new.svg b/src/Assets/IconV2/ic-info-filled-new.svg
new file mode 100644
index 000000000..121dc6fc3
--- /dev/null
+++ b/src/Assets/IconV2/ic-info-filled-new.svg
@@ -0,0 +1,8 @@
+
+
+
\ No newline at end of file
diff --git a/src/Assets/IconV2/ic-pencil-white.svg b/src/Assets/IconV2/ic-pencil-white.svg
new file mode 100644
index 000000000..85f43a527
--- /dev/null
+++ b/src/Assets/IconV2/ic-pencil-white.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Assets/IconV2/ic-timer-green.svg b/src/Assets/IconV2/ic-timer-green.svg
new file mode 100644
index 000000000..da7308969
--- /dev/null
+++ b/src/Assets/IconV2/ic-timer-green.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Assets/IconV2/ic-timer-red.svg b/src/Assets/IconV2/ic-timer-red.svg
new file mode 100644
index 000000000..fd3f830d4
--- /dev/null
+++ b/src/Assets/IconV2/ic-timer-red.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Common/Constants.ts b/src/Common/Constants.ts
index f695527af..58dc559d2 100644
--- a/src/Common/Constants.ts
+++ b/src/Common/Constants.ts
@@ -144,6 +144,7 @@ export const URLS = {
AI_RECOMMENDATIONS: AI_RECOMMENDATIONS_ROOT,
AI_RECOMMENDATIONS_NOTIFICATIONS: `${AI_RECOMMENDATIONS_ROOT}/notifications`,
EXTERNAL_APPS: 'ea',
+ AI_RECOMMENDATIONS_RUNBOOKS: `${AI_RECOMMENDATIONS_ROOT}/runbooks`,
} as const
export const ROUTES = {
diff --git a/src/Shared/Components/DocLink/constants.ts b/src/Shared/Components/DocLink/constants.ts
index a8dbe184b..988793b59 100644
--- a/src/Shared/Components/DocLink/constants.ts
+++ b/src/Shared/Components/DocLink/constants.ts
@@ -90,7 +90,8 @@ export const DOCUMENTATION = {
SECURITY: 'usage/security-features',
SPECIFY_IMAGE_PULL_SECRET: 'getting-started/global-configurations/container-registries#specify-image-pull-secret',
TENANT_INSTALLATION: 'usage/software-distribution-hub/tenants',
-
+ // Todo: Replace with correct Url
+ SAMPLE_RUNBOOK_LINK: 'https://github.com/devtron-labs/athena-be/wiki/Runbook-Actions',
// ENTERPRISE
CEL: 'https://github.com/google/cel-spec/blob/master/doc/langdef.md',
KUBERNETES_LABELS: 'https://kubernetes.io/docs/concepts/overview/working-with-objects/labels',
diff --git a/src/Shared/Components/Icon/Icon.tsx b/src/Shared/Components/Icon/Icon.tsx
index c6d790773..9dd61269e 100644
--- a/src/Shared/Components/Icon/Icon.tsx
+++ b/src/Shared/Components/Icon/Icon.tsx
@@ -34,6 +34,7 @@ import { ReactComponent as ICBgScan } from '@IconsV2/ic-bg-scan.svg'
import { ReactComponent as ICBgWebhook } from '@IconsV2/ic-bg-webhook.svg'
import { ReactComponent as ICBharatpe } from '@IconsV2/ic-bharatpe.svg'
import { ReactComponent as ICBitbucket } from '@IconsV2/ic-bitbucket.svg'
+import { ReactComponent as ICBookGear } from '@IconsV2/ic-book-gear.svg'
import { ReactComponent as ICBookOpen } from '@IconsV2/ic-book-open.svg'
import { ReactComponent as ICBot } from '@IconsV2/ic-bot.svg'
import { ReactComponent as ICBrain } from '@IconsV2/ic-brain.svg'
@@ -54,6 +55,7 @@ import { ReactComponent as ICChatCircleOnline } from '@IconsV2/ic-chat-circle-on
import { ReactComponent as ICCheck } from '@IconsV2/ic-check.svg'
import { ReactComponent as ICCheckAll } from '@IconsV2/ic-check-all.svg'
import { ReactComponent as ICCheckCircle } from '@IconsV2/ic-check-circle.svg'
+import { ReactComponent as ICCheckGreen } from '@IconsV2/ic-check-green.svg'
import { ReactComponent as ICCheckSquare } from '@IconsV2/ic-check-square.svg'
import { ReactComponent as ICChecks } from '@IconsV2/ic-checks.svg'
import { ReactComponent as ICCiLinked } from '@IconsV2/ic-ci-linked.svg'
@@ -64,6 +66,8 @@ import { ReactComponent as ICCleanBrush } from '@IconsV2/ic-clean-brush.svg'
import { ReactComponent as ICClipboard } from '@IconsV2/ic-clipboard.svg'
import { ReactComponent as ICClock } from '@IconsV2/ic-clock.svg'
import { ReactComponent as ICClockCounterclockwise } from '@IconsV2/ic-clock-counterclockwise.svg'
+import { ReactComponent as ICCloseCircle } from '@IconsV2/ic-close-circle.svg'
+import { ReactComponent as ICCloseCircleRed } from '@IconsV2/ic-close-circle-red.svg'
import { ReactComponent as ICCloseLarge } from '@IconsV2/ic-close-large.svg'
import { ReactComponent as ICCloseSmall } from '@IconsV2/ic-close-small.svg'
import { ReactComponent as ICCloud } from '@IconsV2/ic-cloud.svg'
@@ -72,6 +76,7 @@ import { ReactComponent as ICCluster } from '@IconsV2/ic-cluster.svg'
import { ReactComponent as ICClusterIsolated } from '@IconsV2/ic-cluster-isolated.svg'
import { ReactComponent as ICCode } from '@IconsV2/ic-code.svg'
import { ReactComponent as ICCoins } from '@IconsV2/ic-coins.svg'
+import { ReactComponent as ICConfirm } from '@IconsV2/ic-confirm.svg'
import { ReactComponent as ICContainer } from '@IconsV2/ic-container.svg'
import { ReactComponent as ICContainerRegistry } from '@IconsV2/ic-container-registry.svg'
import { ReactComponent as ICCookr } from '@IconsV2/ic-cookr.svg'
@@ -161,6 +166,7 @@ import { ReactComponent as ICHibernateCircle } from '@IconsV2/ic-hibernate-circl
import { ReactComponent as ICInProgress } from '@IconsV2/ic-in-progress.svg'
import { ReactComponent as ICInfoFilled } from '@IconsV2/ic-info-filled.svg'
import { ReactComponent as ICInfoFilledColor } from '@IconsV2/ic-info-filled-color.svg'
+import { ReactComponent as ICInfoFilledNew } from '@IconsV2/ic-info-filled-new.svg'
import { ReactComponent as ICInfoOutline } from '@IconsV2/ic-info-outline.svg'
import { ReactComponent as ICInput } from '@IconsV2/ic-input.svg'
import { ReactComponent as ICInstall } from '@IconsV2/ic-install.svg'
@@ -216,6 +222,7 @@ import { ReactComponent as ICParty } from '@IconsV2/ic-party.svg'
import { ReactComponent as ICPath } from '@IconsV2/ic-path.svg'
import { ReactComponent as ICPauseCircle } from '@IconsV2/ic-pause-circle.svg'
import { ReactComponent as ICPencil } from '@IconsV2/ic-pencil.svg'
+import { ReactComponent as ICPencilWhite } from '@IconsV2/ic-pencil-white.svg'
import { ReactComponent as ICPiggybank } from '@IconsV2/ic-piggybank.svg'
import { ReactComponent as ICPlayOutline } from '@IconsV2/ic-play-outline.svg'
import { ReactComponent as ICPriorityHighFill } from '@IconsV2/ic-priority-high-fill.svg'
@@ -269,6 +276,8 @@ import { ReactComponent as ICThumbDown } from '@IconsV2/ic-thumb-down.svg'
import { ReactComponent as ICThumbUp } from '@IconsV2/ic-thumb-up.svg'
import { ReactComponent as ICTimeoutDash } from '@IconsV2/ic-timeout-dash.svg'
import { ReactComponent as ICTimer } from '@IconsV2/ic-timer.svg'
+import { ReactComponent as ICTimerGreen } from '@IconsV2/ic-timer-green.svg'
+import { ReactComponent as ICTimerRed } from '@IconsV2/ic-timer-red.svg'
import { ReactComponent as ICTrafficSignal } from '@IconsV2/ic-traffic-signal.svg'
import { ReactComponent as ICTravclan } from '@IconsV2/ic-travclan.svg'
import { ReactComponent as ICTrendUp } from '@IconsV2/ic-trend-up.svg'
@@ -328,6 +337,7 @@ export const iconMap = {
'ic-bg-webhook': ICBgWebhook,
'ic-bharatpe': ICBharatpe,
'ic-bitbucket': ICBitbucket,
+ 'ic-book-gear': ICBookGear,
'ic-book-open': ICBookOpen,
'ic-bot': ICBot,
'ic-brain': ICBrain,
@@ -347,6 +357,7 @@ export const iconMap = {
'ic-chat-circle-online': ICChatCircleOnline,
'ic-check-all': ICCheckAll,
'ic-check-circle': ICCheckCircle,
+ 'ic-check-green': ICCheckGreen,
'ic-check-square': ICCheckSquare,
'ic-check': ICCheck,
'ic-checks': ICChecks,
@@ -358,6 +369,8 @@ export const iconMap = {
'ic-clipboard': ICClipboard,
'ic-clock-counterclockwise': ICClockCounterclockwise,
'ic-clock': ICClock,
+ 'ic-close-circle-red': ICCloseCircleRed,
+ 'ic-close-circle': ICCloseCircle,
'ic-close-large': ICCloseLarge,
'ic-close-small': ICCloseSmall,
'ic-cloud-vms': ICCloudVms,
@@ -366,6 +379,7 @@ export const iconMap = {
'ic-cluster': ICCluster,
'ic-code': ICCode,
'ic-coins': ICCoins,
+ 'ic-confirm': ICConfirm,
'ic-container-registry': ICContainerRegistry,
'ic-container': ICContainer,
'ic-cookr': ICCookr,
@@ -454,6 +468,7 @@ export const iconMap = {
'ic-hibernate': ICHibernate,
'ic-in-progress': ICInProgress,
'ic-info-filled-color': ICInfoFilledColor,
+ 'ic-info-filled-new': ICInfoFilledNew,
'ic-info-filled': ICInfoFilled,
'ic-info-outline': ICInfoOutline,
'ic-input': ICInput,
@@ -509,6 +524,7 @@ export const iconMap = {
'ic-party': ICParty,
'ic-path': ICPath,
'ic-pause-circle': ICPauseCircle,
+ 'ic-pencil-white': ICPencilWhite,
'ic-pencil': ICPencil,
'ic-piggybank': ICPiggybank,
'ic-play-outline': ICPlayOutline,
@@ -562,6 +578,8 @@ export const iconMap = {
'ic-thumb-down': ICThumbDown,
'ic-thumb-up': ICThumbUp,
'ic-timeout-dash': ICTimeoutDash,
+ 'ic-timer-green': ICTimerGreen,
+ 'ic-timer-red': ICTimerRed,
'ic-timer': ICTimer,
'ic-traffic-signal': ICTrafficSignal,
'ic-travclan': ICTravclan,
diff --git a/src/Shared/Hooks/useUserPreferences/types.ts b/src/Shared/Hooks/useUserPreferences/types.ts
index e0b280ad0..db29cabdd 100644
--- a/src/Shared/Hooks/useUserPreferences/types.ts
+++ b/src/Shared/Hooks/useUserPreferences/types.ts
@@ -57,6 +57,8 @@ export type NavigationItemID =
| 'data-protection-backup-repositories'
| 'data-protection-backup-locations'
| 'data-protection-history-and-logs'
+ | 'ai-recommendations-overview'
+ | 'ai-recommendations-runbooks'
| 'ai-recommendations-notifications'
export type NavigationSubMenuItemID =
@@ -66,6 +68,7 @@ export type NavigationSubMenuItemID =
| 'application-management-configurations-chart-repository'
| 'application-management-configurations-deployment-charts'
| 'application-management-configurations-notifications'
+ | 'application-management-configurations-runbook'
| 'application-management-configurations-catalog-frameworks'
| 'application-management-configurations-scoped-variables'
| 'application-management-configurations-build-infra'