Repository: stolostron/rhacm-docs
Pull request #7757: https://issues.redhat.com/browse/ACM-19804--creating virt and search
Author: login: swopebe
Labels: name: lgtm
Created: 2025-04-24T23:29:55Z | Merged: 2025-04-29T17:30:49Z



Diff:
diff --git a/about/.gitkeep b/about/.gitkeep
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/applications/app_console.adoc b/applications/app_console.adoc
index f36f02d022..a17238ff84 100644
--- a/applications/app_console.adoc
+++ b/applications/app_console.adoc
@@ -61,4 +61,4 @@ See some of the console capability in the following list and see the console for
 
 |===
 
-You can also search by other fields, including name, namespace, cluster, label, and more. For more information about using search, see link:../console/search_console.adoc#search-console-intro[Search in the console].
\ No newline at end of file
+You can also search by other fields, including name, namespace, cluster, label, and more. For more information about using search, see link:../search/search_console.adoc#search-service[Search in the console].
\ No newline at end of file
diff --git a/console/console.adoc b/console/console.adoc
index daae7821c6..8273ac8735 100644
--- a/console/console.adoc
+++ b/console/console.adoc
@@ -59,7 +59,7 @@ The following information from Red Hat Insights is displayed:
 
 If observability is enabled, alert and failing operator metrics from across your fleet are also displayed.
 
-To learn about Search, see xref:../console/search_console.adoc#search-console-intro[Search in the console].
+To learn about Search, see link:../search/search_intro.adoc#acm-search[Search].
 
 [#command-line-tools]
 === Command line tools
diff --git a/console/console_intro.adoc b/console/console_intro.adoc
index d02c753c47..662ff539cb 100644
--- a/console/console_intro.adoc
+++ b/console/console_intro.adoc
@@ -4,8 +4,5 @@
 Learn how to access and use components of the {acm} console from the following documentation:
 
 * xref:../console/console.adoc#console-overview[Console overview]
-* xref:../console/search_console.adoc#search-console-intro[Search in the console]
 * xref:../console/console_access.adoc#accessing-your-console[Accessing your console]
-* xref:../console/enable_vm_actions.adoc#enable-vm-actions[Enabling virtual machine actions (Technology Preview)]
-* xref:../console/view_vm_metrics_observability.adoc#view-vm-metrics-observability[Viewing virtual machine metrics through observability fields]
 
diff --git a/console/main.adoc b/console/main.adoc
index f72a0ba2a0..06aa8f0c7c 100644
--- a/console/main.adoc
+++ b/console/main.adoc
@@ -4,8 +4,4 @@ include::modules/common-attributes.adoc[]
 
 include::console_intro.adoc[leveloffset=+1]
 include::console.adoc[leveloffset=+2]
-include::search_console.adoc[leveloffset=+2]
-include::manage_search.adoc[leveloffset=+3]
 include::console_access.adoc[leveloffset=+2]
-include::enable_vm_actions.adoc[leveloffset=+2]
-include::view_vm_metrics_observability.adoc[leveloffset=+2]
diff --git a/console/manage_search.adoc b/console/manage_search.adoc
deleted file mode 100644
index 51db2ea1d2..0000000000
--- a/console/manage_search.adoc
+++ /dev/null
@@ -1,202 +0,0 @@
-[#managing-search]
-= Managing search
-
-Use search to query resource data from your clusters. 
-
-*Required access:* Cluster administrator
-
-Continue reading the following topics:
-
-- <<creating-search-configurable-collection,Creating search configurable collection>>
-- <<customizing-search-console,Customizing the search console>>
-- <<querying-in-the-console,Querying in the console>>
-- <<updating-klusterlet-addons-managed,Updating klusterlet-addon-search deployments on managed clusters>>
-
-[#creating-search-configurable-collection]
-== Creating search configurable collection
-
-Define which Kubernetes resources are collected from the cluster by creating a `search-collector-config` config map for each managed cluster where you want to customize the resources that search collects.
-
-Place the config map in the same namespace where the search add-on is deployed. The default namespace is `open-cluster-management-agent-addon`.
-
-Complete the following steps:
-
-. Run the following command to create the `search-collector-config` config map: 
-
-+
-[source,bash]
-----
-oc apply -f <your-search-collector-config>.yaml
-----
-
-. List the resources in the allow (`data.AllowedResources`) and deny list (`data.DeniedResources`) sections within the config map. Your config map might resemble the following YAML file: 
-
-+
-[source,yaml]
-----
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: search-collector-config
- namespace: <namespace where search-collector add-on is deployed>
-data:
- AllowedResources: |- <1>
-   - apiGroups:
-       - "*"
-     resources: 
-       - services
-       - pods
-   - apiGroups:
-       - admission.k8s.io
-       - authentication.k8s.io
-     resources:
-       - "*"
- DeniedResources: |- <2>
-   - apiGroups:
-       - "*"
-     resources:
-       - secrets
-   - apiGroups:
-       - admission.k8s.io
-     resources:
-       - policies
-       - iampolicies
-       - certificatepolicies
-----
-+
-<1> The previous config map example displays `services` and `pods` to be collected from all `apiGroups`, while allowing all resources to be collected from the `admission.k8s.io` and `authentication.k8s.io` `apiGroups`. 
-<2> The config map example also prevents the central collection of `secrets` from all `apiGroups` while preventing the collection of `policies`, `iampolicies`, and `certificatepolicies` from the `apiGroup` `admission.k8s.io`.
-+
-*Note:* If you do not provide a config map, all resources are collected by default. If you only provide `AllowedResources`, all resources not listed in `AllowedResources` are automatically excluded. Resources listed in `AllowedResources` and `DeniedResources` at the same time are also  excluded. 
-
-[#customizing-search-console]
-== Customizing the search console
-
-Customize your search results and limits. Complete the following tasks to perform the customization:
-
-. Customize the search result limit from the {ocp-short} console.
-.. Update the `console-mce-config` in the `multicluster-engine` namespace. These settings apply to all users and might affect performance. View the following performance parameter descriptions:
-+
-- `SAVED_SEARCH_LIMIT` - The maximum amount of saved searches for each user. By default, there is a limit of ten saved searches for each user. The default value is `10`. To update the limit, add the following key value to the `console-config` config map: `SAVED_SEARCH_LIMIT: x`.
-- `SEARCH_RESULT_LIMIT` - The maximum amount of search results displayed in the console. Default value is `1000`. To remove this limit set to `-1`.
-- `SEARCH_AUTOCOMPLETE_LIMIT` - The maximum number of suggestions retrieved for the search bar typeahead. Default value is `10,000`. To remove this limit set to `-1`.
-
-.. Run the following `patch` command from the {ocp-short} console to change the search result to 100 items:
-
-+
-[source,bash]
-----
-oc patch configmap console-mce-config -n multicluster-engine --type merge -p '{"data":{"SEARCH_RESULT_LIMIT":"100"}}'
-----
-
-. To add, edit, or remove suggested searches, create a config map named `console-search-config` and configure the `suggestedSearches` section. Suggested searches that are listed are also displayed from the console. It is required to have an `id, name, and searchText` for each search object. View the following config map example:
-
-+
-[source,yaml]
-----
-kind: ConfigMap
-apiVersion: v1
-metadata:
-  name: console-search-config
-  namespace: <acm-namespace> <1>
-data:
-  suggestedSearches: |-
-    [
-      {
-        "id": "search.suggested.workloads.name",
-        "name": "Workloads",
-        "description": "Show workloads running on your fleet",
-        "searchText": "kind:DaemonSet,Deployment,Job,StatefulSet,ReplicaSet"
-      },
-      {
-        "id": "search.suggested.unhealthy.name",
-        "name": "Unhealthy pods",
-        "description": "Show pods with unhealthy status",
-        "searchText": "kind:Pod status:Pending,Error,Failed,Terminating,ImagePullBackOff,CrashLoopBackOff,RunContainerError,ContainerCreating"
-      },
-      {
-        "id": "search.suggested.createdLastHour.name",
-        "name": "Created last hour",
-        "description": "Show resources created within the last hour",
-        "searchText": "created:hour"
-      },
-      {
-        "id": "search.suggested.virtualmachines.name",
-        "name": "Virtual Machines",
-        "description": "Show virtual machine resources",
-        "searchText": "kind:VirtualMachine"
-      }
-    ] 
-----
-+
-<1> Add the namespace where search is enabled.
-
-[#querying-in-the-console]
-== Querying in the console
-
-You can type any text value in the _Search box_ and results include anything with that value from any property, such as a name or namespace. Queries that contain an empty space are not supported.
-
-For more specific search results, include the property selector in your search. You can combine related values for the property for a more precise scope of your search. For example, search for `cluster:dev red` to receive results that match the string "red" in the `dev` cluster. 
-
-Complete the following steps to make queries with search:
-
-. Click *Search* in the navigation menu.
-. Type a word in the _Search box_, then Search finds your resources that contain that value.
-- As you search for resources, you receive other resources that are related to your original search result, which help you visualize how the resources interact with other resources in the system.
-- Search returns and lists each cluster with the resource that you search.
-For resources in the _hub_ cluster, the cluster name is displayed as _local-cluster_.
-- Your search results are grouped by `kind`, and each resource `kind` is grouped in a table.
-- Your search options depend on your cluster objects.
-- You can refine your results with specific labels.
-Search is case-sensitive when you query labels.
-See the following examples that you can select for filtering: `name`, `namespace`, `status`, and other resource fields. Auto-complete provides suggestions to refine your search. See the following example:
-+
-- Search for a single field, such as `kind:pod` to find all pod resources.
-- Search for multiple fields, such as `kind:pod namespace:default` to find the pods in the default namespace.
-+
-*Notes:*
-+
-** When you search for more than one property selector with multiple values, the search returns either of the values that were queried. View the following examples:
-** When you search for `kind:Pod name:a`, any pod named `a` is returned.
-** When you search for `kind:Pod name:a,b`, any pod named `a` or `b` are returned.
-** Search for `kind:pod status:!Running` to find all pod resources where the status is not `Running`.
-** Search for `kind:pod restarts:>1` to find all pods that restarted at least twice.
-. If you want to save your search, click the *Save search* icon.
-. To download your search results, select the *Export as CSV* button.
-
-[#updating-klusterlet-addons-managed]
-== Updating klusterlet-addon-search deployments on managed clusters
-
-To collect the Kubernetes objects from the managed clusters, the `klusterlet-addon-search` pod is run on all the managed clusters where search is enabled. This deployment is run in the `open-cluster-management-agent-addon` namespace. A managed cluster with a high number of resources might require more memory for the `klusterlet-addon-search` deployment to function.
-
-Resource requirements for the `klusterlet-addon-search` pod in a managed cluster can be specified in the `ManagedClusterAddon` custom resource in your {acm-short} hub cluster. There is a namespace for each managed cluster with the managed cluster name. Complete the following steps:
-
-. Edit the `ManagedClusterAddon` custom resource from the namespace matching the managed cluster name. Run the following command to update the resource requirement in `xyz` managed cluster:
-
-+
-[source,bash]
-----
-oc edit managedclusteraddon search-collector -n xyz
-----
-
-. Append the resource requirements as annotations. View the following example:
-
-+
-[source,yaml]
-----
-apiVersion: addon.open-cluster-management.io/v1alpha1
-kind: ManagedClusterAddOn
-metadata:
-  annotations: addon.open-cluster-management.io/search_memory_limit: 2048Mi
-  addon.open-cluster-management.io/search_memory_request: 512Mi
-----
-
-The annotation overrides the resource requirements on the managed clusters and automatically restarts the pod with new resource requirements.
-
-*Note:* You can discover all resources defined in your managed cluster by using the API Explorer in the console. Alternatively, you can discover all resources by running the following command: `oc api-resources`
-
-[#add-resources-search]
-== Additional resources
-
-- See link:../global_hub/global_hub_overview.adoc#multicluster-global-hub[{global-hub}] for more details.
-- See link:../observability/observe_environments_intro.adoc#observing-environments-intro[Observing environments introduction].
diff --git a/gitops/gitops_console.adoc b/gitops/gitops_console.adoc
index 3340a744ff..70f5227f8a 100644
--- a/gitops/gitops_console.adoc
+++ b/gitops/gitops_console.adoc
@@ -33,4 +33,4 @@ When you search for an Argo CD application, you are directed to the _Application
 . Filter your query with the following values: `kind:application` and `apigroup:argoproj.io`.
 . Select an application to view. The _Application_ page displays an overview of information for the application.
 
-For more information about search, see link:../console/search_console.adoc#search-console-intro[Search in the console].
+For more information about search, see link:../search/search_console.adoc#search-service[Search in the console].
diff --git a/global_hub/global_search.adoc b/global_hub/global_search.adoc
index 7256db499a..29e913b7b7 100644
--- a/global_hub/global_search.adoc
+++ b/global_hub/global_search.adoc
@@ -36,4 +36,4 @@ status:
 
 - See xref:../global_hub/global_hub_overview#multicluster-global-hub[{global-hub} overview].
 
-- See link:../console/search_console.adoc#search-console-intro[Search in the console].
+- See link:../search/search_console.adoc#search-service[Search in the console].
diff --git a/governance/.gitkeep b/governance/.gitkeep
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/modules/common-attributes.adoc b/modules/common-attributes.adoc
index 40ea52c1ba..d9aa27f6ad 100644
--- a/modules/common-attributes.adoc
+++ b/modules/common-attributes.adoc
@@ -28,4 +28,6 @@
 :gitops-short: OpenShift GitOps
 :cim: central infrastructure management
 :infra: infrastructure operator for Red Hat OpenShift
-:rhem: Red Hat Edge Manager
\ No newline at end of file
+:rhem: Red Hat Edge Manager
+:rhocpv-short: OpenShift Virtualization
+:rhocpv: Red Hat OpenShift Virtualization
diff --git a/release_notes/acm_whats_new.adoc b/release_notes/acm_whats_new.adoc
index a4af3ff255..8cf04a958e 100644
--- a/release_notes/acm_whats_new.adoc
+++ b/release_notes/acm_whats_new.adoc
@@ -44,7 +44,7 @@ Some features and components are identified and released as link:https://access.
 
 Learn about what is new in the {acm-short} integrated console, which includes Search capability.
 
-* If you have {acm-short} Observability installed on your hub cluster, you can view virtual machine metrics through the Observability fields on the {acm-short} console, see: link:../console/view_vm_metrics_observability.adoc#view-vm-metrics-observability[Viewing virtual machine metrics through observability fields]
+* If you have {acm-short} Observability installed on your hub cluster, you can view virtual machine metrics through the Observability fields on the {acm-short} console, see: link:../virtualization/view_vm_metrics_observability.adoc#view-vm-metrics-observability[Viewing virtual machine metrics through observability fields]
 
 See link:../console/console_intro.adoc#web-console[Web console] for more information about the Console.
 
diff --git a/search/create_search_collection.adoc b/search/create_search_collection.adoc
new file mode 100644
index 0000000000..409e6ff2c1
--- /dev/null
+++ b/search/create_search_collection.adoc
@@ -0,0 +1,58 @@
+[#create-search-collection]
+= Creating search configurable collection
+
+Define which Kubernetes resources are collected from the cluster by creating a `search-collector-config` config map for each managed cluster where you want to customize the resources that search collects.
+
+*Required access:* Cluster administrator
+
+Place the config map in the same namespace where the search add-on is deployed. The default namespace is `open-cluster-management-agent-addon`.
+
+Complete the following steps:
+
+. Run the following command to create the `search-collector-config` config map: 
+
++
+[source,bash]
+----
+oc apply -f <your-search-collector-config>.yaml
+----
+
+. List the resources in the allow (`data.AllowedResources`) and deny list (`data.DeniedResources`) sections within the config map. Your config map might resemble the following YAML file: 
+
++
+[source,yaml]
+----
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: search-collector-config
+ namespace: <namespace where search-collector add-on is deployed>
+data:
+ AllowedResources: |- <1>
+   - apiGroups:
+       - "*"
+     resources: 
+       - services
+       - pods
+   - apiGroups:
+       - admission.k8s.io
+       - authentication.k8s.io
+     resources:
+       - "*"
+ DeniedResources: |- <2>
+   - apiGroups:
+       - "*"
+     resources:
+       - secrets
+   - apiGroups:
+       - admission.k8s.io
+     resources:
+       - policies
+       - iampolicies
+       - certificatepolicies
+----
++
+<1> The previous config map example displays `services` and `pods` to be collected from all `apiGroups`, while allowing all resources to be collected from the `admission.k8s.io` and `authentication.k8s.io` `apiGroups`. 
+<2> The config map example also prevents the central collection of `secrets` from all `apiGroups` while preventing the collection of `policies`, `iampolicies`, and `certificatepolicies` from the `apiGroup` `admission.k8s.io`.
++
+*Note:* If you do not provide a config map, all resources are collected by default. If you only provide `AllowedResources`, all resources not listed in `AllowedResources` are automatically excluded. Resources listed in `AllowedResources` and `DeniedResources` at the same time are also  excluded. 
\ No newline at end of file
diff --git a/search/custom_search_console.adoc b/search/custom_search_console.adoc
new file mode 100644
index 0000000000..7be2a84fb2
--- /dev/null
+++ b/search/custom_search_console.adoc
@@ -0,0 +1,61 @@
+[#custom-search-console]
+== Customizing the search console
+
+Customize your search results and limits. Complete the following tasks to perform the customization:
+
+. Customize the search result limit from the {ocp-short} console.
+.. Update the `console-mce-config` in the `multicluster-engine` namespace. These settings apply to all users and might affect performance. View the following performance parameter descriptions:
++
+- `SAVED_SEARCH_LIMIT` - The maximum amount of saved searches for each user. By default, there is a limit of ten saved searches for each user. The default value is `10`. To update the limit, add the following key value to the `console-config` config map: `SAVED_SEARCH_LIMIT: x`.
+- `SEARCH_RESULT_LIMIT` - The maximum amount of search results displayed in the console. Default value is `1000`. To remove this limit set to `-1`.
+- `SEARCH_AUTOCOMPLETE_LIMIT` - The maximum number of suggestions retrieved for the search bar typeahead. Default value is `10,000`. To remove this limit set to `-1`.
+
+.. Run the following `patch` command from the {ocp-short} console to change the search result to 100 items:
+
++
+[source,bash]
+----
+oc patch configmap console-mce-config -n multicluster-engine --type merge -p '{"data":{"SEARCH_RESULT_LIMIT":"100"}}'
+----
+
+. To add, edit, or remove suggested searches, create a config map named `console-search-config` and configure the `suggestedSearches` section. Suggested searches that are listed are also displayed from the console. It is required to have an `id, name, and searchText` for each search object. View the following config map example:
+
++
+[source,yaml]
+----
+kind: ConfigMap
+apiVersion: v1
+metadata:
+  name: console-search-config
+  namespace: <acm-namespace> <1>
+data:
+  suggestedSearches: |-
+    [
+      {
+        "id": "search.suggested.workloads.name",
+        "name": "Workloads",
+        "description": "Show workloads running on your fleet",
+        "searchText": "kind:DaemonSet,Deployment,Job,StatefulSet,ReplicaSet"
+      },
+      {
+        "id": "search.suggested.unhealthy.name",
+        "name": "Unhealthy pods",
+        "description": "Show pods with unhealthy status",
+        "searchText": "kind:Pod status:Pending,Error,Failed,Terminating,ImagePullBackOff,CrashLoopBackOff,RunContainerError,ContainerCreating"
+      },
+      {
+        "id": "search.suggested.createdLastHour.name",
+        "name": "Created last hour",
+        "description": "Show resources created within the last hour",
+        "searchText": "created:hour"
+      },
+      {
+        "id": "search.suggested.virtualmachines.name",
+        "name": "Virtual Machines",
+        "description": "Show virtual machine resources",
+        "searchText": "kind:VirtualMachine"
+      }
+    ] 
+----
++
+<1> Add the namespace where search is enabled.
\ No newline at end of file
diff --git a/search/docinfo.xml b/search/docinfo.xml
new file mode 100644
index 0000000000..4c0fb7c044
--- /dev/null
+++ b/search/docinfo.xml
@@ -0,0 +1,10 @@
+<productname>{acm}</productname>
+<productnumber>{product-version}</productnumber>
+<subtitle>Learn how the {acm-short} Search feature provides visibility into your Kubernetes resources across all of your clusters.</subtitle>
+<abstract>
+    <para>Read more to learn how to use the search feature.</para>
+</abstract>
+<authorgroup>
+    <orgname></orgname>
+</authorgroup>
+<xi:include href="Common_Content/Legal_Notice.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
diff --git a/search/main.adoc b/search/main.adoc
new file mode 100644
index 0000000000..8d39de60fb
--- /dev/null
+++ b/search/main.adoc
@@ -0,0 +1,10 @@
+include::modules/common-attributes.adoc[]
+
+= Search
+
+include::search_intro.adoc[leveloffset=+1]
+include::search_console.adoc[leveloffset=+2]
+include::create_search_collection.adoc[leveloffset=+2]
+include::custom_search_console.adoc[leveloffset=+2]
+include::query_search_console.adoc[leveloffset=+2]
+include::search_klusterlet_addon.adoc[leveloffset=+2]
\ No newline at end of file
diff --git a/search/master.adoc b/search/master.adoc
new file mode 120000
index 0000000000..07d582a27a
--- /dev/null
+++ b/search/master.adoc
@@ -0,0 +1 @@
+main.adoc
\ No newline at end of file
diff --git a/search/modules b/search/modules
new file mode 120000
index 0000000000..464b823aca
--- /dev/null
+++ b/search/modules
@@ -0,0 +1 @@
+../modules
\ No newline at end of file
diff --git a/search/query_search_console.adoc b/search/query_search_console.adoc
new file mode 100644
index 0000000000..487589b7d5
--- /dev/null
+++ b/search/query_search_console.adoc
@@ -0,0 +1,35 @@
+[#query-console]
+== Querying in the console
+
+You can type any text value in the _Search box_ and results include anything with that value from any property, such as a name or namespace. Queries that contain an empty space are not supported.
+
+*Required access:* Cluster administrator
+
+For more specific search results, include the property selector in your search. You can combine related values for the property for a more precise scope of your search. For example, search for `cluster:dev red` to receive results that match the string "red" in the `dev` cluster. 
+
+Complete the following steps to make queries with search:
+
+. Click *Search* in the navigation menu.
+. Type a word in the _Search box_, then Search finds your resources that contain that value.
+- As you search for resources, you receive other resources that are related to your original search result, which help you visualize how the resources interact with other resources in the system.
+- Search returns and lists each cluster with the resource that you search.
+For resources in the _hub_ cluster, the cluster name is displayed as _local-cluster_.
+- Your search results are grouped by `kind`, and each resource `kind` is grouped in a table.
+- Your search options depend on your cluster objects.
+- You can refine your results with specific labels.
+Search is case-sensitive when you query labels.
+See the following examples that you can select for filtering: `name`, `namespace`, `status`, and other resource fields. Auto-complete provides suggestions to refine your search. See the following example:
++
+- Search for a single field, such as `kind:pod` to find all pod resources.
+- Search for multiple fields, such as `kind:pod namespace:default` to find the pods in the default namespace.
++
+*Notes:*
++
+** When you search for more than one property selector with multiple values, the search returns either of the values that were queried. View the following examples:
+** When you search for `kind:Pod name:a`, any pod named `a` is returned.
+** When you search for `kind:Pod name:a,b`, any pod named `a` or `b` are returned.
+** Search for `kind:pod status:!Running` to find all pod resources where the status is not `Running`.
+** Search for `kind:pod restarts:>1` to find all pods that restarted at least twice.
+. If you want to save your search, click the *Save search* icon.
+. To download your search results, select the *Export as CSV* button.
+
diff --git a/console/search_console.adoc b/search/search_console.adoc
similarity index 97%
rename from console/search_console.adoc
rename to search/search_console.adoc
index 7675f87a6d..a32be6c0fb 100644
--- a/console/search_console.adoc
+++ b/search/search_console.adoc
@@ -1,5 +1,5 @@
-[#search-console-intro]
-= Search in the console
+[#search-service]
+= Search service
 
 For {acm}, search provides visibility into your Kubernetes resources across all of your clusters. Search also indexes the Kubernetes resources and the relationships to other resources.
 
@@ -209,5 +209,4 @@ Specify your search query by using search operations as conditions. Characters s
 [#additional-resources-search]
 == Additional resources
 
-- For instruction about how to manage search, see xref:../console/manage_search.adoc#managing-search[Managing search]. 
 - For more topics about the {acm} console, see link:../console/console_intro.adoc#web-console[Web console].
diff --git a/search/search_intro.adoc b/search/search_intro.adoc
new file mode 100644
index 0000000000..6f816cd948
--- /dev/null
+++ b/search/search_intro.adoc
@@ -0,0 +1,10 @@
+[#acm-search]
+= Search
+
+Learn about the {acm-short} Search feature. Use Search to query resource data from your clusters. See the following documentation:
+
+* xref:../search/search_console.adoc#search-service[Search in the console]
+* xref:../search/create_search_collection.adoc#create-search-collection[Creating search configurable collection]
+* xref:../search/custom_search_console.adoc#custom-search-console[Customizing the search console]
+* xref:../search/query_search_console.adoc#query-console[Querying in the console]
+* xref:../search/search_klusterlet_addons.adoc#update-klusterlet-search[Updating klusterlet-addon-search deployments]
\ No newline at end of file
diff --git a/search/search_klusterlet_addon.adoc b/search/search_klusterlet_addon.adoc
new file mode 100644
index 0000000000..19da3e40dc
--- /dev/null
+++ b/search/search_klusterlet_addon.adoc
@@ -0,0 +1,32 @@
+[#update-klusterlet-search]
+= Updating klusterlet-addon-search deployments
+
+To collect the Kubernetes objects from the managed clusters, the `klusterlet-addon-search` pod is run on all the managed clusters where search is enabled. This deployment is run in the `open-cluster-management-agent-addon` namespace. A managed cluster with a high number of resources might require more memory for the `klusterlet-addon-search` deployment to function.
+
+*Required access:* Cluster administrator
+
+Resource requirements for the `klusterlet-addon-search` pod in a managed cluster can be specified in the `ManagedClusterAddon` custom resource in your {acm-short} hub cluster. There is a namespace for each managed cluster with the managed cluster name. Complete the following steps:
+
+. Edit the `ManagedClusterAddon` custom resource from the namespace matching the managed cluster name. Run the following command to update the resource requirement in `xyz` managed cluster:
+
++
+[source,bash]
+----
+oc edit managedclusteraddon search-collector -n xyz
+----
+
+. Append the resource requirements as annotations. View the following example:
+
++
+[source,yaml]
+----
+apiVersion: addon.open-cluster-management.io/v1alpha1
+kind: ManagedClusterAddOn
+metadata:
+  annotations: addon.open-cluster-management.io/search_memory_limit: 2048Mi
+  addon.open-cluster-management.io/search_memory_request: 512Mi
+----
+
+The annotation overrides the resource requirements on the managed clusters and automatically restarts the pod with new resource requirements.
+
+*Note:* You can discover all resources defined in your managed cluster by using the API Explorer in the console. Alternatively, you can discover all resources by running the following command: `oc api-resources`
\ No newline at end of file
diff --git a/troubleshooting/trouble_shared_memory.adoc b/troubleshooting/trouble_shared_memory.adoc
index 848e3688d4..c9f86526ac 100644
--- a/troubleshooting/trouble_shared_memory.adoc
+++ b/troubleshooting/trouble_shared_memory.adoc
@@ -74,4 +74,4 @@ oc delete pod search-postgres-xyz search-api-xzy
 oc get cm search-postgres -n open-cluster-management -o yaml
 ----
 
-See link:../console/search_console.adoc#search-customization[Search customization and configurations] for more information on adding environment variables.
+See link:../search/search_console.adoc#search-customization[Search customization and configurations] for more information on adding environment variables.
diff --git a/virtualization/docinfo.xml b/virtualization/docinfo.xml
new file mode 100644
index 0000000000..7b848b8e4f
--- /dev/null
+++ b/virtualization/docinfo.xml
@@ -0,0 +1,10 @@
+<productname>{acm}</productname>
+<productnumber>{product-version}</productnumber>
+<subtitle>Learn how to manage {rhocpv-short} virtual machine resources across clusters that {acm-short} manages.</subtitle>
+<abstract>
+    <para>Read more to learn how to use the virtualization with {acm-short}.</para>
+</abstract>
+<authorgroup>
+    <orgname></orgname>
+</authorgroup>
+<xi:include href="Common_Content/Legal_Notice.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
diff --git a/console/enable_vm_actions.adoc b/virtualization/enable_vm_actions.adoc
similarity index 100%
rename from console/enable_vm_actions.adoc
rename to virtualization/enable_vm_actions.adoc
diff --git a/virtualization/main.adoc b/virtualization/main.adoc
new file mode 100644
index 0000000000..aa9ca5682a
--- /dev/null
+++ b/virtualization/main.adoc
@@ -0,0 +1,7 @@
+include::modules/common-attributes.adoc[]
+
+= Virtualization
+
+include::virtualization_intro.adoc[leveloffset=+1]
+include::enable_vm_actions.adoc[leveloffset=+2]
+include::view_vm_metrics_observability.adoc[leveloffset=+2]
diff --git a/virtualization/master.adoc b/virtualization/master.adoc
new file mode 120000
index 0000000000..07d582a27a
--- /dev/null
+++ b/virtualization/master.adoc
@@ -0,0 +1 @@
+main.adoc
\ No newline at end of file
diff --git a/virtualization/modules b/virtualization/modules
new file mode 120000
index 0000000000..464b823aca
--- /dev/null
+++ b/virtualization/modules
@@ -0,0 +1 @@
+../modules
\ No newline at end of file
diff --git a/console/view_vm_metrics_observability.adoc b/virtualization/view_vm_metrics_observability.adoc
similarity index 100%
rename from console/view_vm_metrics_observability.adoc
rename to virtualization/view_vm_metrics_observability.adoc
diff --git a/virtualization/virtualization_intro.adoc b/virtualization/virtualization_intro.adoc
new file mode 100644
index 0000000000..9c783275c0
--- /dev/null
+++ b/virtualization/virtualization_intro.adoc
@@ -0,0 +1,7 @@
+[#acm-virt]
+= Virtualization
+
+Manage {rhocpv-short} virtual machine resources across all the clusters that {acm-short} manages.
+
+* xref:../enable_vm_actions.adoc#enable-vm-actions[Enabling virtual machine actions (Technology Preview)]
+* xref:../view_vm_metrics_observability.adoc#view-vm-metrics-observability[Viewing virtual machine metrics through observability fields]
\ No newline at end of file


Reviews:
user: login: swopebe
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-25T18:16:25Z
user: login: swopebe
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-25T18:16:55Z
user: login: swopebe
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-25T18:17:10Z
user: login: swopebe
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-25T18:17:25Z
user: login: swopebe
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-25T18:17:36Z
user: login: swopebe
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-25T18:17:55Z
user: login: jlpadilla
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-28T14:55:55Z
user: login: jlpadilla
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-28T14:57:58Z
user: login: jlpadilla
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-28T14:59:25Z
user: login: jlpadilla
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-28T15:02:33Z
user: login: jlpadilla
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-28T15:09:02Z
user: login: swopebe
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-28T16:23:53Z
user: login: swopebe
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-28T16:24:15Z
user: login: swopebe
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-28T16:24:29Z
user: login: swopebe
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-28T16:48:25Z
user: login: swopebe
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-28T16:49:11Z
user: login: swopebe
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-28T19:22:17Z
user: login: swopebe
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-28T19:31:20Z
user: login: swopebe
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-28T19:31:34Z
user: login: swopebe
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-28T19:32:08Z
user: login: swopebe
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-28T19:32:25Z
user: login: jlpadilla
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-28T19:39:49Z
user: login: swopebe
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-29T00:39:54Z
user: login: oafischer
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-29T13:15:57Z
user: login: swopebe
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-29T14:13:10Z
user: login: oafischer
body: lgtm
state: APPROVED
author_association: CONTRIBUTOR
submitted_at: 2025-04-29T14:19:16Z

Review comments:
diff_hunk: @@ -0,0 +1,8 @@
+include::modules/common-attributes.adoc[]
path: search/main.adoc
user: login: swopebe
body: New main file for search topics here
created_at: 2025-04-25T18:16:25Z
author_association: CONTRIBUTOR
diff_hunk: @@ -1,4 +1,4 @@
-[#search-console-intro]
+[#search-console]
path: search/search_console.adoc
user: login: swopebe
body: reducing this because we have an actual intro with links now.
created_at: 2025-04-25T18:16:54Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,10 @@
+<productname>{acm}</productname>
path: virtualization/docinfo.xml
user: login: swopebe
body: This is new content.
created_at: 2025-04-25T18:17:09Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,7 @@
+include::modules/common-attributes.adoc[]
path: virtualization/main.adoc
user: login: swopebe
body: new main file for virtualization
created_at: 2025-04-25T18:17:25Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,7 @@
+[#acm-virt]
path: virtualization/virtualization_intro.adoc
user: login: swopebe
body: new content
created_at: 2025-04-25T18:17:35Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,10 @@
+<productname>{acm}</productname>
path: search/docinfo.xml
user: login: swopebe
body: New content
created_at: 2025-04-25T18:17:54Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,8 @@
+include::modules/common-attributes.adoc[]
path: search/main.adoc
user: login: jlpadilla
body: Does this file determines the order the topics are presented? Just curious.
created_at: 2025-04-28T14:55:55Z
author_association: CONTRIBUTOR
diff_hunk: @@ -1,4 +1,4 @@
-[#search-console-intro]
+[#search-console]
path: search/search_console.adoc
user: login: jlpadilla
body: Should we remove the word "console" or change it to something more general like "Search service" or "Search component?
created_at: 2025-04-28T14:57:58Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,10 @@
+[#acm-search]
+= Search
+
+Learn about the {acm-short} console Search feature. Use Search to query resource data from your clusters. See the following documentation:
path: search/search_intro.adoc
user: login: jlpadilla
body: Remove "console"
created_at: 2025-04-28T14:59:25Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,10 @@
+<productname>{acm}</productname>
+<productnumber>{product-version}</productnumber>
+<subtitle>Learn how to use virtual machine resources across all the clusters that {acm} manages.</subtitle>
path: virtualization/docinfo.xml
user: login: jlpadilla
body: ```suggestion
<subtitle>Learn how to manage virtual machine resources across all the clusters that {acm} manages.</subtitle>
```
created_at: 2025-04-28T15:02:33Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,10 @@
+<productname>{acm}</productname>
path: virtualization/docinfo.xml
user: login: jlpadilla
body: We should mention that we only manage virtual machines from [Red Hat OpenShift Virtualization](https://www.redhat.com/en/technologies/cloud-computing/openshift/virtualization). 
created_at: 2025-04-28T15:09:02Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,8 @@
+include::modules/common-attributes.adoc[]
path: search/main.adoc
user: login: swopebe
body: Yes, @jlpadilla -- it shows the intro first and then the topics that are contained within that intro....it builds the navigation.
created_at: 2025-04-28T16:23:53Z
author_association: CONTRIBUTOR
diff_hunk: @@ -1,4 +1,4 @@
-[#search-console-intro]
+[#search-console]
path: search/search_console.adoc
user: login: swopebe
body: Yes, we can. I will have to change links but i can sweep them.
created_at: 2025-04-28T16:24:15Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,10 @@
+<productname>{acm}</productname>
path: virtualization/docinfo.xml
user: login: swopebe
body: perfect, TY
created_at: 2025-04-28T16:24:28Z
author_association: CONTRIBUTOR
diff_hunk: @@ -1,4 +1,4 @@
-[#search-console-intro]
+[#search-console]
path: search/search_console.adoc
user: login: swopebe
body: done
created_at: 2025-04-28T16:48:25Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,10 @@
+[#acm-search]
+= Search
+
+Learn about the {acm-short} console Search feature. Use Search to query resource data from your clusters. See the following documentation:
path: search/search_intro.adoc
user: login: swopebe
body: Done
created_at: 2025-04-28T16:49:11Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,10 @@
+<productname>{acm}</productname>
path: virtualization/docinfo.xml
user: login: swopebe
body: done
created_at: 2025-04-28T19:22:17Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,58 @@
+[#create-search-collection]
path: search/create_search_collection.adoc
user: login: swopebe
body: This is not new content, just moving it.
created_at: 2025-04-28T19:31:19Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,61 @@
+[#custom-search-console]
path: search/custom_search_console.adoc
user: login: swopebe
body: Not new content, just moving it.
created_at: 2025-04-28T19:31:34Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,35 @@
+[#query-console]
path: search/query_search_console.adoc
user: login: swopebe
body: not new content, just moving it.
created_at: 2025-04-28T19:32:08Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,32 @@
+[#update-klusterlet-search]
path: search/search_klusterlet_addon.adoc
user: login: swopebe
body: Not new content, just moving it.
created_at: 2025-04-28T19:32:25Z
author_association: CONTRIBUTOR
diff_hunk: @@ -1,4 +1,4 @@
-[#search-console-intro]
+[#search-service]
 = Search in the console
path: search/search_console.adoc
user: login: jlpadilla
body: Could you also update the text to "Search service"?
There's several links using this same text.
created_at: 2025-04-28T19:39:49Z
author_association: CONTRIBUTOR
diff_hunk: @@ -1,4 +1,4 @@
-[#search-console-intro]
+[#search-service]
 = Search in the console
path: search/search_console.adoc
user: login: swopebe
body: done
created_at: 2025-04-29T00:39:54Z
author_association: CONTRIBUTOR
diff_hunk: @@ -16,9 +16,9 @@
 :rosa: OpenShift Service on AWS
 :acm: Red Hat Advanced Cluster Management for Kubernetes
 :acm-short: Red Hat Advanced Cluster Management
-:product-version: 2.13
-:mce-version: 2.8
-:product-version-prev: 2.12
+:product-version: 2.14
+:mce-version: 2.9
+:product-version-prev: 2.13
path: modules/common-attributes.adoc
user: login: oafischer
body: I think the commit for this may have been added accidentally, looks like this PR is for 2.13
created_at: 2025-04-29T13:15:57Z
author_association: CONTRIBUTOR
diff_hunk: @@ -16,9 +16,9 @@
 :rosa: OpenShift Service on AWS
 :acm: Red Hat Advanced Cluster Management for Kubernetes
 :acm-short: Red Hat Advanced Cluster Management
-:product-version: 2.13
-:mce-version: 2.8
-:product-version-prev: 2.12
+:product-version: 2.14
+:mce-version: 2.9
+:product-version-prev: 2.13
path: modules/common-attributes.adoc
user: login: swopebe
body: Not sure where it came from but I can delete this.
created_at: 2025-04-29T14:13:10Z
author_association: CONTRIBUTOR

PR comments:
user: login: openshift-ci[bot]
created_at: 2025-04-29T14:19:23Z
body: [APPROVALNOTIFIER] This PR is **NOT APPROVED**

This pull-request has been approved by: *<a href="https://github.com/stolostron/rhacm-docs/pull/7757#pullrequestreview-2803853911" title="Approved">oafischer</a>*, *<a href="https://github.com/stolostron/rhacm-docs/pull/7757#" title="Author self-approved">swopebe</a>*


The full list of commands accepted by this bot can be found [here](https://go.k8s.io/bot-commands?repo=stolostron%2Frhacm-docs).

<details open>
Needs approval from an approver in each of these files:

- **[OWNERS](https://github.com/stolostron/rhacm-docs/blob/2.13_stage/OWNERS)**

Approvers can indicate their approval by writing `/approve` in a comment
Approvers can cancel approval by writing `/approve cancel` in a comment
</details>
<!-- META={"approvers":[]} -->
author_association: NONE