From fc1ef459c7cc611bb5fbd6124b3f05485fbc4bda Mon Sep 17 00:00:00 2001 From: khushisharmaharness Date: Tue, 4 Mar 2025 21:30:50 +0530 Subject: [PATCH 1/7] [CDE] Add CDE Product Roadmap --- src/components/Roadmap/data/cdeData.ts | 281 +++++++++++++++++++++ src/components/Roadmap/data/roadmapData.ts | 7 + src/components/Roadmap/index.tsx | 1 + 3 files changed, 289 insertions(+) create mode 100644 src/components/Roadmap/data/cdeData.ts diff --git a/src/components/Roadmap/data/cdeData.ts b/src/components/Roadmap/data/cdeData.ts new file mode 100644 index 00000000000..58ebcbc2913 --- /dev/null +++ b/src/components/Roadmap/data/cdeData.ts @@ -0,0 +1,281 @@ +import { Horizon } from "./roadmapData"; + +/** Copy this for a new item +{ + tag: [{ value: "" }], + title: "", + description: "", +}, + */ + +/* +Tags +Customization +IDE +Scalability +Usability +*/ + + + +export const CdeData: Horizon = { + /** + * NOW + */ + + Now: { + description: "Q1 2025, Feb 2025 - Apr 2025", + feature: [ + { + tag: [ + { value: "Usability" }, { value: "Core Feature" } + ], + title: "Self Hosted CDE Infrastructure (GCP)", + description: + "Enable users to self-host Harness Cloud Development Environments (CDE) in their private infrastructure (currently supporting GCP), while the CDE control plane remains hosted in the Harness Cloud for centralized management. ", + }, + { + tag: [ + { value: "Usability" }, { value: "Core Feature" } + ], + title: "GitHub Enterprise On-prem Support", + description: + "Allow users to integrate their GitHub Enterprise on-prem instances with Harness Gitspaces, enabling seamless access to their self-hosted repositories while ensuring full control over source code security without relying on GitHub Cloud.", + }, + { + tag: [ + { value: "Usability" }, { value: "Core Feature" } + ], + title: "Bitbucket Server On-prem Support", + description: + "Allow users to integrate Bitbucket Server on-prem instances with Harness Gitspaces, enabling seamless access to their self-hosted repositories while ensuring full control over source code security without relying on Bitbucket Cloud.", + }, + { + tag: [ + { value: "Usability" }, { value: "Core Feature" } + ], + title: "RBAC and Admin Functionality", + description: + "Introduce RBAC and Admin functionality to ensure centralized control and maintain security and governance in Harness cloud development environments. ", + }, + { + tag: [ + { value: "Usability" }, { value: "Core Feature" } + ], + title: + "DevContainer Templates", + description: + "Add support for DevContainer Templates i.e. predefined configurations that enable users to setup standardized development environments. ", + }, + { + tag: [ + { value: "Usability" }, { value: "Core Feature" } + ], + title: + "Gitspace Rebuilds", + description: + "Allow users to rebuild their development container for an active Gitspace after applying configuration changes, ensuring the environment is updated with the latest settings and dependencies without requiring a fresh setup.", + }, + ], + }, + /** + * + * NEXT + * + */ + + Next: { + description: "Q2 2025, May 2025 - July 2025", + feature: [ + { + tag: [ + { value: "Core Feature" } + ], + title: "Support Additional Clouds for Self Hosted CDE Infrastructure", + description: + "Expand supported cloud providers (AWS, Azure) for users to self-host cloud development environments (CDE) in their private infrastructure.", + }, + { + tag: [{ value: "Usability" }, { value: "DevContainer" }], + title: "Local DevContainers", + description: + "Allow users to spin up containerized development environments on their local machines.", + }, + { + tag: [{ value: "Core Feature" }], + title: "Pre-builds in Gitspaces", + description: + "Add support for pre-initialized development environments to reduce setup time for users.", + }, + { + tag: [{ value: "Integration" }], + title: "Integration with Security Scanning Tools", + description: + "Integrate with security scanning tools to automatically detect, assess and manage vulnerabilities in development container base images.", + }, + { + tag: [{ value: "Integration" }], + title: "Integration with Harness IDP", + description: + "Enable users to seamlessly create, manage, and configure their Gitspaces directly from Harness IDP, streamlining the development workflow within a unified platform.", + }, + { + tag: [{ value: "Usability" }], + title: "Shared Gitspaces", + description: + "Introduce shared development environments, allowing users to collaborate in real-time on Gitspaces, ensuring seamless teamwork, consistency, and shared access to resources.", + }, + { + tag: [{ value: "Usability" }], + title: "Policies & Governance Features", + description: + ".", + }, + ], + }, + + /** + * + * LATER + * + */ + + Later: { + description: "Q3 2025+, Aug 2025 & beyond", + feature: [ + { + tag: [{ value: "Core Feature" }], + title: "Self Managed Solution", + description: + "Introduce Self-Managed Hosting model for Harness Gitspaces, allowing users to self-host and self-manage their Harness cloud development infrastructure while ensuring security, compliance, and flexibility.", + }, + ], + }, + + /** + * + * RELEASED + * + */ + Released: { + description: "What has been released recently", + feature: [ + { + tag: [{ value: "IDE" }], + title: "JetBrains Gateway Plugin", + description: + "Introducing the Harness Gitspaces JetBrains Gateway Plugin—enabling seamless remote development by connecting and managing Gitspaces within JetBrains IDEs.", + }, + { + tag: [{ value: "IDE" }], + title: "JetBrains IDEs", + description: + "Enable users to leverage remote development in PyCharm, GoLand, PhpStorm, Rider, RubyMine, WebStorm, and CLion—empowering developers across multiple tech stacks.", + }, + { + tag: [{ value: "IDE" }], + title: "IntelliJ IDEA Support", + description: + "Add support for remote development in IntelliJ IDEA.", + }, + { + tag: [ + { value: "Usability" }, + { value: "DevContainer" } + ], + title: "DevContainer Features", + description: + "Add support for DevContainer Features, enabling users to easily add and automate the installation of additional tools, runtimes, and libraries in their Gitspace.", + },{ + tag: [ + { value: "Customization" }, + { value: "DevContainer" } + ], + title: "Expanded DevContainer Property Support", + description: + "Introduced support for various new DevContainer properties such as 'mounts', 'privileged', 'overrideFeatureInstallationOrder' providing users with greater flexibility in configuring their development environment.", + }, + { + tag: [ + { value: "Usability" }, + { value: "Core Feature" } + ], + title: "Private Docker Images", + description: + "Add support to pull private Docker images from Docker Registry, JFrog Artifactory and Amazon ECR, enabling greater flexibility and customization options for users.", + }, + { + tag: [ + { value: "Usability" }, + { value: "Core Feature" } + ], + title: "Secure Connect Integration", + description: + "Introduce Secure Connect Integration to allow users to connect Harness with their on-premises, privately-hosted assets such as Docker Registries and Artifact Repositories.", + }, + { + tag: [ + { value: "Customization" }, + { value: "DevContainer" } + ], + title: "User Configuration Support", + description: + "Enable users with “containerUser” and “remoteUser” settings in 'devcontainer', allowing precise control over container operations..", + }, + { + tag: [ + { value: "Customization" }, + { value: "DevContainer" } + ], + title: "runArgs Configuration Support ", + description: + "Add support for the 'runArgs' property in 'devcontainer'.", + }, + { + tag: [ + { value: "Customization" }, + { value: "DevContainer" } + ], + title: "Pre-installed Extensions", + description: + "Enable users to configure Gitspaces to automatically install extensions during setup using the “extensions” property in 'devcontainer'.", + }, + { + tag: [{ value: "Usability" }, { value: "Core Feature" }], + title: "Auto-Stopping", + description: + "Add support to automatically stop inactive Gitspaces after 60 minutes of inactivity to conserve cloud resources and reduce costs.", + }, + { + tag: [ + { value: "Customization" }, + { value: "DevContainer" } + ], + title: "Port Forwarding", + description: "Enable users to access services running inside Gitspaces as if they were running locally using Port Forwarding.", + }, + { + tag: [ + { value: "Customization" }, + { value: "DevContainer" } + ], + title: "Environment Variables Configuration", + description: "Allow users to define and manage environment variables within containers for better application management and customization.", + }, + { + tag: [{ value: "Automation" } ], + title: "Auto-Repair for Gitspaces", + description: + "Set up automated background jobs to repair Gitspaces in the error state, reducing manual intervention..", + }, + { + tag: [ + { value: "Customization" } + ], + title: "Tracking Gitspace Changes", + description: + "Enable users to track and monitor any changes in their Gitspaces directly from the Harness UI.", + }, + ], + }, +}; diff --git a/src/components/Roadmap/data/roadmapData.ts b/src/components/Roadmap/data/roadmapData.ts index d1b76e38b03..ffea32c9597 100644 --- a/src/components/Roadmap/data/roadmapData.ts +++ b/src/components/Roadmap/data/roadmapData.ts @@ -14,6 +14,7 @@ import { IacmData } from "./iacmData"; import { platformData } from "./platformData"; import { aidaData } from "./aidaData"; import { codeData } from "./codeData"; +import { CdeData } from "./cdeData"; export interface ModuleData { @@ -138,6 +139,12 @@ const ModuleData: ModuleData[] = [ module: MODULES.aida, horizon: aidaData, }, + { + title: "Cloud Development Environments", + description: "SaaS release status: GA, SMP release status: On Roadmap", + module: MODULES.cde, + horizon: CdeData, + }, ]; diff --git a/src/components/Roadmap/index.tsx b/src/components/Roadmap/index.tsx index c1d322e3271..0b82bfa9035 100644 --- a/src/components/Roadmap/index.tsx +++ b/src/components/Roadmap/index.tsx @@ -24,6 +24,7 @@ const Roadmap = () => { { value: "srm", name: "Service Reliability Management" }, { value: "idp", name: "Internal Developer Portal" }, { value: "sei", name: "Software Engineering Insights" }, + { value: "cde", name: "Cloud Development Environments" }, ]; const [isDropdownOpen, setIsDropdownOpen] = useState(false); From cc1a6b2aa96823917e6a22a2c2a29919afc6d93f Mon Sep 17 00:00:00 2001 From: khushisharmaharness Date: Tue, 4 Mar 2025 22:35:36 +0530 Subject: [PATCH 2/7] Updated the product roadmap --- .../Roadmap/HorizonCard/styles.module.scss | 6 ++ src/components/Roadmap/data/cdeData.ts | 62 +++++++++---------- src/constants.ts | 2 +- 3 files changed, 35 insertions(+), 35 deletions(-) diff --git a/src/components/Roadmap/HorizonCard/styles.module.scss b/src/components/Roadmap/HorizonCard/styles.module.scss index 0cbba358cd3..48459ff71c5 100644 --- a/src/components/Roadmap/HorizonCard/styles.module.scss +++ b/src/components/Roadmap/HorizonCard/styles.module.scss @@ -136,5 +136,11 @@ .gitness:hover { border-color: var(--mod-gitness-200); } +.cde:focus { + border-color: var(--mod-cde-200) +} +.cde:hover { + border-color: vae(--mod-cde-200) +} diff --git a/src/components/Roadmap/data/cdeData.ts b/src/components/Roadmap/data/cdeData.ts index 58ebcbc2913..83f4486e7cf 100644 --- a/src/components/Roadmap/data/cdeData.ts +++ b/src/components/Roadmap/data/cdeData.ts @@ -56,7 +56,7 @@ export const CdeData: Horizon = { ], title: "RBAC and Admin Functionality", description: - "Introduce RBAC and Admin functionality to ensure centralized control and maintain security and governance in Harness cloud development environments. ", + "Introduce RBAC and Admin functionality to ensure centralized control in Harness cloud development environments. ", }, { tag: [ @@ -67,15 +67,6 @@ export const CdeData: Horizon = { description: "Add support for DevContainer Templates i.e. predefined configurations that enable users to setup standardized development environments. ", }, - { - tag: [ - { value: "Usability" }, { value: "Core Feature" } - ], - title: - "Gitspace Rebuilds", - description: - "Allow users to rebuild their development container for an active Gitspace after applying configuration changes, ensuring the environment is updated with the latest settings and dependencies without requiring a fresh setup.", - }, ], }, /** @@ -93,7 +84,7 @@ export const CdeData: Horizon = { ], title: "Support Additional Clouds for Self Hosted CDE Infrastructure", description: - "Expand supported cloud providers (AWS, Azure) for users to self-host cloud development environments (CDE) in their private infrastructure.", + "Expand supported cloud providers (AWS) for users to self-host cloud development environments (CDE) in their private infrastructure.", }, { tag: [{ value: "Usability" }, { value: "DevContainer" }], @@ -101,35 +92,20 @@ export const CdeData: Horizon = { description: "Allow users to spin up containerized development environments on their local machines.", }, - { - tag: [{ value: "Core Feature" }], - title: "Pre-builds in Gitspaces", - description: - "Add support for pre-initialized development environments to reduce setup time for users.", - }, - { - tag: [{ value: "Integration" }], - title: "Integration with Security Scanning Tools", - description: - "Integrate with security scanning tools to automatically detect, assess and manage vulnerabilities in development container base images.", - }, - { - tag: [{ value: "Integration" }], - title: "Integration with Harness IDP", - description: - "Enable users to seamlessly create, manage, and configure their Gitspaces directly from Harness IDP, streamlining the development workflow within a unified platform.", - }, { tag: [{ value: "Usability" }], - title: "Shared Gitspaces", + title: "Policies & Governance Features", description: - "Introduce shared development environments, allowing users to collaborate in real-time on Gitspaces, ensuring seamless teamwork, consistency, and shared access to resources.", + "Enable users to block DevContainer images and(or) features based on security policies. ", }, { - tag: [{ value: "Usability" }], - title: "Policies & Governance Features", + tag: [ + { value: "Usability" }, { value: "Core Feature" } + ], + title: + "Gitspace Rebuilds", description: - ".", + "Allow users to rebuild their development container for an active Gitspace after applying configuration changes, ensuring the environment is updated with the latest settings and dependencies without requiring a fresh setup.", }, ], }, @@ -149,6 +125,24 @@ export const CdeData: Horizon = { description: "Introduce Self-Managed Hosting model for Harness Gitspaces, allowing users to self-host and self-manage their Harness cloud development infrastructure while ensuring security, compliance, and flexibility.", }, + { + tag: [{ value: "Core Feature" }], + title: "Pre-builds in Gitspaces", + description: + "Add support for pre-initialized development environments to reduce setup time for users.", + }, + { + tag: [{ value: "Integration" }], + title: "Integration with Harness IDP", + description: + "Enable users to seamlessly create, manage, and configure their Gitspaces directly from Harness IDP, streamlining the development workflow within a unified platform.", + }, + { + tag: [{ value: "Usability" }], + title: "Shared Gitspaces", + description: + "Introduce shared development environments, allowing users to collaborate in real-time on Gitspaces, ensuring seamless teamwork, consistency, and shared access to resources.", + }, ], }, diff --git a/src/constants.ts b/src/constants.ts index 7c2366e22a7..4ce0e3f060d 100644 --- a/src/constants.ts +++ b/src/constants.ts @@ -76,7 +76,7 @@ export const MODULE_ICON = { [MODULES.aida]: 'img/icon_aida.svg', [MODULES.dbdevops]: 'img/icon_dbdevops.svg', [MODULES.ar]: 'img/icon_artifact_registry.svg', - [MODULES.cde]: 'img/cde_icon.svg', + [MODULES.cde]: 'img/icon_cloud_development_environments.svg', [MODULES.armory]: 'img/icon_armory.svg', [MODULES.opensource]: 'img/icon_opensource.svg', [MODULES.fme]: 'img/icon_fme.svg' From bd71317dcaa08a07f6e9e1319b6a0b21af09aefb Mon Sep 17 00:00:00 2001 From: khushisharmaharness Date: Wed, 5 Mar 2025 10:47:41 +0530 Subject: [PATCH 3/7] Updated the roadmap icon --- src/constants.ts | 2 +- static/img/icon_cde.svg | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 static/img/icon_cde.svg diff --git a/src/constants.ts b/src/constants.ts index 4ce0e3f060d..583cb482d8e 100644 --- a/src/constants.ts +++ b/src/constants.ts @@ -76,7 +76,7 @@ export const MODULE_ICON = { [MODULES.aida]: 'img/icon_aida.svg', [MODULES.dbdevops]: 'img/icon_dbdevops.svg', [MODULES.ar]: 'img/icon_artifact_registry.svg', - [MODULES.cde]: 'img/icon_cloud_development_environments.svg', + [MODULES.cde]: 'img/icon_cde.svg', [MODULES.armory]: 'img/icon_armory.svg', [MODULES.opensource]: 'img/icon_opensource.svg', [MODULES.fme]: 'img/icon_fme.svg' diff --git a/static/img/icon_cde.svg b/static/img/icon_cde.svg new file mode 100644 index 00000000000..0be3ab6db8e --- /dev/null +++ b/static/img/icon_cde.svg @@ -0,0 +1,9 @@ + + + + + + + + + From 7b0f52ce0e37ee638bca55c7f88ca0ddc7891a2b Mon Sep 17 00:00:00 2001 From: khushisharmaharness Date: Wed, 5 Mar 2025 11:09:43 +0530 Subject: [PATCH 4/7] Fixed kebab case --- src/constants.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/constants.ts b/src/constants.ts index 583cb482d8e..4d012d22d41 100644 --- a/src/constants.ts +++ b/src/constants.ts @@ -76,7 +76,7 @@ export const MODULE_ICON = { [MODULES.aida]: 'img/icon_aida.svg', [MODULES.dbdevops]: 'img/icon_dbdevops.svg', [MODULES.ar]: 'img/icon_artifact_registry.svg', - [MODULES.cde]: 'img/icon_cde.svg', + [MODULES.cde]: 'img/icon-cde.svg', [MODULES.armory]: 'img/icon_armory.svg', [MODULES.opensource]: 'img/icon_opensource.svg', [MODULES.fme]: 'img/icon_fme.svg' From 3271008f44eb6aeb0686cd2aee79f51e153a9230 Mon Sep 17 00:00:00 2001 From: khushisharmaharness Date: Wed, 5 Mar 2025 11:16:27 +0530 Subject: [PATCH 5/7] Fixed kebab case --- static/img/{icon_cde.svg => icon-cde.svg} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename static/img/{icon_cde.svg => icon-cde.svg} (100%) diff --git a/static/img/icon_cde.svg b/static/img/icon-cde.svg similarity index 100% rename from static/img/icon_cde.svg rename to static/img/icon-cde.svg From 57c5c56e02e5057137fd122c665ab5fa9e0e9dae Mon Sep 17 00:00:00 2001 From: khushisharmaharness Date: Wed, 5 Mar 2025 11:51:39 +0530 Subject: [PATCH 6/7] Update devcontainer definition --- src/components/Roadmap/data/cdeData.ts | 32 +++++++++++++------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/src/components/Roadmap/data/cdeData.ts b/src/components/Roadmap/data/cdeData.ts index 83f4486e7cf..a6f91178ad7 100644 --- a/src/components/Roadmap/data/cdeData.ts +++ b/src/components/Roadmap/data/cdeData.ts @@ -63,9 +63,9 @@ export const CdeData: Horizon = { { value: "Usability" }, { value: "Core Feature" } ], title: - "DevContainer Templates", + "CDE Templates", description: - "Add support for DevContainer Templates i.e. predefined configurations that enable users to setup standardized development environments. ", + "Add support for CDE Templates i.e. predefined configurations that enable users to setup standardized development environments. ", }, ], }, @@ -87,8 +87,8 @@ export const CdeData: Horizon = { "Expand supported cloud providers (AWS) for users to self-host cloud development environments (CDE) in their private infrastructure.", }, { - tag: [{ value: "Usability" }, { value: "DevContainer" }], - title: "Local DevContainers", + tag: [{ value: "Usability" }, { value: "Devcontainer" }], + title: "Local Devcontainers", description: "Allow users to spin up containerized development environments on their local machines.", }, @@ -96,7 +96,7 @@ export const CdeData: Horizon = { tag: [{ value: "Usability" }], title: "Policies & Governance Features", description: - "Enable users to block DevContainer images and(or) features based on security policies. ", + "Enable users to block Devcontainer images and(or) features based on security policies. ", }, { tag: [ @@ -175,19 +175,19 @@ export const CdeData: Horizon = { { tag: [ { value: "Usability" }, - { value: "DevContainer" } + { value: "Devcontainer" } ], - title: "DevContainer Features", + title: "Devcontainer Features", description: - "Add support for DevContainer Features, enabling users to easily add and automate the installation of additional tools, runtimes, and libraries in their Gitspace.", + "Add support for Devcontainer Features, enabling users to easily add and automate the installation of additional tools, runtimes, and libraries in their Gitspace.", },{ tag: [ { value: "Customization" }, - { value: "DevContainer" } + { value: "Devcontainer" } ], - title: "Expanded DevContainer Property Support", + title: "Expanded Devcontainer Property Support", description: - "Introduced support for various new DevContainer properties such as 'mounts', 'privileged', 'overrideFeatureInstallationOrder' providing users with greater flexibility in configuring their development environment.", + "Introduced support for various new Devcontainer properties such as 'mounts', 'privileged', 'overrideFeatureInstallationOrder' providing users with greater flexibility in configuring their development environment.", }, { tag: [ @@ -210,7 +210,7 @@ export const CdeData: Horizon = { { tag: [ { value: "Customization" }, - { value: "DevContainer" } + { value: "Devcontainer" } ], title: "User Configuration Support", description: @@ -219,7 +219,7 @@ export const CdeData: Horizon = { { tag: [ { value: "Customization" }, - { value: "DevContainer" } + { value: "Devcontainer" } ], title: "runArgs Configuration Support ", description: @@ -228,7 +228,7 @@ export const CdeData: Horizon = { { tag: [ { value: "Customization" }, - { value: "DevContainer" } + { value: "Devcontainer" } ], title: "Pre-installed Extensions", description: @@ -243,7 +243,7 @@ export const CdeData: Horizon = { { tag: [ { value: "Customization" }, - { value: "DevContainer" } + { value: "Devcontainer" } ], title: "Port Forwarding", description: "Enable users to access services running inside Gitspaces as if they were running locally using Port Forwarding.", @@ -251,7 +251,7 @@ export const CdeData: Horizon = { { tag: [ { value: "Customization" }, - { value: "DevContainer" } + { value: "Devcontainer" } ], title: "Environment Variables Configuration", description: "Allow users to define and manage environment variables within containers for better application management and customization.", From 3a536c8a154239f47bd39781aac8c34fbb20e49c Mon Sep 17 00:00:00 2001 From: khushisharmaharness Date: Mon, 10 Mar 2025 10:55:53 +0530 Subject: [PATCH 7/7] added rohan's fix on module icons --- src/components/Roadmap/index.tsx | 63 ++++++++++++++++++++++---------- 1 file changed, 44 insertions(+), 19 deletions(-) diff --git a/src/components/Roadmap/index.tsx b/src/components/Roadmap/index.tsx index 0b82bfa9035..775982c521c 100644 --- a/src/components/Roadmap/index.tsx +++ b/src/components/Roadmap/index.tsx @@ -9,22 +9,46 @@ import Link from "@docusaurus/Link"; const Roadmap = () => { const { siteConfig: { baseUrl = "/" } = {} } = useDocusaurusContext(); const modules = [ - { value: "platform", name: "Platform" }, - { value: "aida", name: "Harness AI" }, - { value: "code", name: "Code Repository" }, - { value: "ci", name: "Continuous Integration" }, - { value: "cd", name: "Continuous Delivery & GitOps" }, - { value: "iacm", name: "Infrastructure as Code Management" }, - { value: "ff", name: "Feature Flags" }, - { value: "fme", name: "Feature Mgmt & Experimentation" }, - { value: "ccm", name: "Cloud Cost Management" }, - { value: "sto", name: "Security Testing Orchestration" }, - { value: "ssca", name: "Supply Chain Security" }, - { value: "ce", name: "Chaos Engineering" }, - { value: "srm", name: "Service Reliability Management" }, - { value: "idp", name: "Internal Developer Portal" }, - { value: "sei", name: "Software Engineering Insights" }, - { value: "cde", name: "Cloud Development Environments" }, + { value: 'platform', name: 'Platform', icon: 'icon_platform.svg' }, + { value: 'aida', name: 'Harness AI', icon: 'icon_aida.svg' }, + { value: 'code', name: 'Code Repository', icon: 'icon_code.svg' }, + { value: 'ci', name: 'Continuous Integration', icon: 'icon_ci.svg' }, + { value: 'cd', name: 'Continuous Delivery & GitOps', icon: 'icon_cd.svg' }, + { + value: 'iacm', + name: 'Infrastructure as Code Management', + icon: 'icon_iacm.svg', + }, + { value: 'ff', name: 'Feature Flags', icon: 'icon_ff.svg' }, + { + value: 'fme', + name: 'Feature Mgmt & Experimentation', + icon: 'icon_fme.svg', + }, + { value: 'ccm', name: 'Cloud Cost Management', icon: 'icon_ccm.svg' }, + { + value: 'sto', + name: 'Security Testing Orchestration', + icon: 'icon_sto.svg', + }, + { value: 'ssca', name: 'Supply Chain Security', icon: 'icon_ssca.svg' }, + { value: 'ce', name: 'Chaos Engineering', icon: 'icon_ce.svg' }, + { + value: 'srm', + name: 'Service Reliability Management', + icon: 'icon_srm.svg', + }, + { value: 'idp', name: 'Internal Developer Portal', icon: 'icon_idp.svg' }, + { + value: 'sei', + name: 'Software Engineering Insights', + icon: 'icon_sei.svg', + }, + { + value: 'cde', + name: 'Cloud Development Environments', + icon: 'icon-cde.svg', + }, ]; const [isDropdownOpen, setIsDropdownOpen] = useState(false); @@ -74,6 +98,7 @@ const Roadmap = () => { const handleModuleSelect = (module: { value: string; + icon: string; name: string; }) => { roadmap.map((mod) => { @@ -92,7 +117,7 @@ const Roadmap = () => { {selectedDropdownModule && (
{selectedDropdownModule.name}

{selectedDropdownModule.name}

@@ -109,7 +134,7 @@ const Roadmap = () => { onClick={() => handleModuleSelect(module)} > {module.name}

{module.name}

@@ -191,4 +216,4 @@ const Roadmap = () => { ); }; -export default Roadmap; +export default Roadmap; \ No newline at end of file