You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by ji...@apache.org on 2025/03/18 07:48:15 UTC

(ambari-website) branch main updated: AMBARI-26335: Fix Documentation Links and Docusaurus Configuration (#24)

This is an automated email from the ASF dual-hosted git repository.

jialiang pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/ambari-website.git


The following commit(s) were added to refs/heads/main by this push:
     new c99ef1d  AMBARI-26335: Fix Documentation Links and Docusaurus Configuration (#24)
c99ef1d is described below

commit c99ef1d99d631449cb36bcbac612a63645278dc6
Author: jialiang <ji...@gmail.com>
AuthorDate: Tue Mar 18 15:48:10 2025 +0800

    AMBARI-26335: Fix Documentation Links and Docusaurus Configuration (#24)
---
 docs/ambari-design/kerberos/kerberos_descriptor.md | 300 ++++++-------
 .../ambari-design/metrics/stack-defined-metrics.md |   9 +-
 docs/ambari-design/service-dashboard/index.mdx     |  31 +-
 docs/ambari-design/views/index.md                  |  16 +-
 docs/ambari-dev/index.md                           |  18 +-
 docs/ambari-dev/releasing-ambari.md                |   7 -
 docs/ambari-plugin-contribution/scom/index.md      |  84 ++--
 docs/faq.md                                        | 167 +++++++
 docs/quick-start/_category_.json                   |   2 +-
 docs/quick-start/docker-environment-setup.md       | 387 ++++++++++++++++
 docs/quick-start/environment-setup/_category_.json |   8 +
 .../environment-setup/bare-metal-kvm-setup.md      | 280 ++++++++++++
 .../environment-setup/docker-environment-setup.md  | 424 ++++++++++++++++++
 .../environment-setup/vagrant-environment-setup.md | 496 +++++++++++++++++++++
 docs/quick-start/installation-guide.md             | 219 +++++++++
 docs/quick-start/quick-start-for-new-vm-users.md   | 410 -----------------
 docs/quick-start/quick-start-guide.md              | 268 +++--------
 docs/release-notes.md                              | 297 ++++++++++++
 docusaurus.config.js                               |  25 +-
 sidebars.js                                        |  26 +-
 src/pages/index.tsx                                |   4 +-
 .../version-3.0.0/quick-start/quick-start-guide.md |  12 +-
 22 files changed, 2620 insertions(+), 870 deletions(-)

diff --git a/docs/ambari-design/kerberos/kerberos_descriptor.md b/docs/ambari-design/kerberos/kerberos_descriptor.md
index c1ff6d8..871ca37 100644
--- a/docs/ambari-design/kerberos/kerberos_descriptor.md
+++ b/docs/ambari-design/kerberos/kerberos_descriptor.md
@@ -460,30 +460,30 @@ A `components` block may exist within a `service` descriptor block. This block i
 
 The following example is annotated for descriptive purposes. The annotations are not valid in a real JSON-formatted file.
 
-```json5
+```
 {
   // Properties that can be used in variable replacement operations.
   // For example, ${keytab_dir} will resolve to "/etc/security/keytabs".
   // Since variable replacement is recursive, ${realm} will resolve
   // to ${kerberos-env/realm}, which in-turn will resolve to the
   // declared default realm for the cluster
-  properties: {
-    realm: '${kerberos-env/realm}',
-    keytab_dir: '/etc/security/keytabs',
+  "properties": {
+    "realm": "${kerberos-env/realm}",
+    "keytab_dir": "/etc/security/keytabs"
   },
   // A list of global Kerberos identities. These may be referenced
   // using /identity_name. For example the “spnego” identity may be
   // referenced using “/spnego”
-  identities: [
+  "identities": [
     {
-      name: 'spnego',
+      "name": "spnego",
       // Details about this identity's principal. This instance does not
       // declare any value for configuration or local username. That is
       // left up to the services and components use wish to reference
       // this principal and set overrides for those values.
-      principal: {
-        value: 'HTTP/_HOST@${realm}',
-        type: 'service',
+      "principal": {
+        "value": "HTTP/_HOST@${realm}",
+        "type" : "service"
       },
       // Details about this identity’s keytab file. This keytab file
       // will be created in the configured keytab file directory with
@@ -498,31 +498,31 @@ The following example is annotated for descriptive purposes. The annotations are
       // be set in any configuration file by default. Services and
       // components need to reference this identity to update this
       // value as needed.
-      keytab: {
-        file: '${keytab_dir}/spnego.service.keytab',
-        owner: {
-          name: 'root',
-          access: 'r',
-        },
-        group: {
-          name: '${cluster-env/user_group}',
-          access: 'r',
+      "keytab": {
+        "file": "${keytab_dir}/spnego.service.keytab",
+        "owner": {
+          "name": "root",
+          "access": "r"
         },
-      },
+        "group": {
+          "name": "${cluster-env/user_group}",
+          "access": "r"
+        }
+      }
     },
     {
-      name: 'smokeuser',
+      "name": "smokeuser",
       // Details about this identity's principal. This instance declares
       // a configuration and local username mapping. Services and
       // components can override this to set additional configurations
       // that should be set to this principal value.  Overriding the
       // local username may create undesired behavior since there may be
       // conflicting entries in relevant auth-to-local rule sets.
-      principal: {
-        value: '${cluster-env/smokeuser}@${realm}',
-        type: 'user',
-        configuration: 'cluster-env/smokeuser_principal_name',
-        local_username: '${cluster-env/smokeuser}',
+      "principal": {
+        "value": "${cluster-env/smokeuser}@${realm}",
+        "type" : "user",
+        "configuration": "cluster-env/smokeuser_principal_name",
+        "local_username" : "${cluster-env/smokeuser}"
       },
       // Details about this identity’s keytab file. This keytab file
       // will be created in the configured keytab file directory with
@@ -534,20 +534,20 @@ The following example is annotated for descriptive purposes. The annotations are
       // is desired that multiple keytab files are created, these
       // values may be overridden in a reference within a service or
       // component.
-      keytab: {
-        file: '${keytab_dir}/smokeuser.headless.keytab',
-        owner: {
-          name: '${cluster-env/smokeuser}',
-          access: 'r',
+      "keytab": {
+        "file": "${keytab_dir}/smokeuser.headless.keytab",
+        "owner": {
+          "name": "${cluster-env/smokeuser}",
+          "access": "r"
         },
-        group: {
-          name: '${cluster-env/user_group}',
-          access: 'r',
+        "group": {
+          "name": "${cluster-env/user_group}",
+          "access": "r"
         },
-        configuration: 'cluster-env/smokeuser_keytab',
-      },
-    },
-  ],
+        "configuration": "cluster-env/smokeuser_keytab"
+      }
+    }
+  ]
 }
 ```
 
@@ -555,53 +555,53 @@ The following example is annotated for descriptive purposes. The annotations are
 
 The following example is annotated for descriptive purposes. The annotations are not valid in a real JSON-formatted file.
 
-```json5
+```
 {
   // One or more services may be listed in a service-level Kerberos
   // Descriptor file
-  services: [
+  "services": [
     {
-      name: 'SERVICE_1',
+      "name": "SERVICE_1",
       // Service-level identities to be created if this service is installed.
       // Any relevant keytab files will be distributed to hosts with at least
       // one of the components on it.
-      identities: [
+      "identities": [
         // Service-specific identity declaration, declaring all properties
         // needed initiate the creation of the principal and keytab files,
         // as well as setting the service-specific  configurations.  This may
         // be referenced by contained components using ../service1_identity.
         {
-          name: 'service1_identity',
-          principal: {
-            value: 'service1/_HOST@${realm}',
-            type: 'service',
-            configuration: 'service1-site/service1.principal',
+          "name": "service1_identity",
+          "principal": {
+            "value": "service1/_HOST@${realm}",
+            "type" : "service",
+            "configuration": "service1-site/service1.principal"
           },
-          keytab: {
-            file: '${keytab_dir}/service1.service.keytab',
-            owner: {
-              name: '${service1-env/service_user}',
-              access: 'r',
+          "keytab": {
+            "file": "${keytab_dir}/service1.service.keytab",
+            "owner": {
+              "name": "${service1-env/service_user}",
+              "access": "r"
             },
-            group: {
-              name: '${cluster-env/user_group}',
-              access: 'r',
+            "group": {
+              "name": "${cluster-env/user_group}",
+              "access": "r"
             },
-            configuration: 'service1-site/service1.keytab.file',
-          },
+            "configuration": "service1-site/service1.keytab.file"
+          }
         },
         // Service-level identity referencing the stack-level spnego
         // identity and overriding the principal and keytab configuration
         // specifications.
         {
-          name: 'service1_spnego',
-          reference: '/spnego',
-          principal: {
-            configuration: 'service1-site/service1.web.principal',
-          },
-          keytab: {
-            configuration: 'service1-site/service1.web.keytab.file',
+          "name": "service1_spnego",
+          "reference": "/spnego",
+          "principal": {
+            "configuration": "service1-site/service1.web.principal"
           },
+          "keytab": {
+            "configuration": "service1-site/service1.web.keytab.file"
+          }
         },
         // Service-level identity referencing the stack-level smokeuser
         // identity. No properties are being overridden and overriding
@@ -610,135 +610,137 @@ The following example is annotated for descriptive purposes. The annotations are
         // keytab file is distributed to all hosts where components of this
         // this service are installed.
         {
-          name: 'service1_smokeuser',
-          reference: '/smokeuser',
-        },
+          "name": "service1_smokeuser",
+          "reference": "/smokeuser"
+        }
       ],
       // Properties related to this service that require the auth-to-local
       // rules to be dynamically generated based on identities create for
       // the cluster.
-      auth_to_local_properties: ['service1-site/security.auth_to_local'],
+      "auth_to_local_properties" : [
+        "service1-site/security.auth_to_local"
+      ],
       // Configuration properties to be set when this service is installed,
       // no matter which components are installed
-      configurations: [
+      "configurations": [
         {
-          'service-site': {
-            'service1.security.authentication': 'kerberos',
-            'service1.security.auth_to_local': '',
-          },
-        },
+          "service-site": {
+            "service1.security.authentication": "kerberos",
+            "service1.security.auth_to_local": ""
+          }
+        }
       ],
       // A list of components related to this service
-      components: [
+      "components": [
         {
-          name: 'COMPONENT_1',
+          "name": "COMPONENT_1",
           // Component-specific identities to be created when this component
           // is installed.  Any keytab files specified will be distributed
           // only to the hosts where this component is installed.
-          identities: [
+          "identities": [
             // An identity "local" to this component
             {
-              name: 'component1_service_identity',
-              principal: {
-                value: 'component1/_HOST@${realm}',
-                type: 'service',
-                configuration: 'service1-site/comp1.principal',
-                local_username: '${service1-env/service_user}',
+              "name": "component1_service_identity",
+              "principal": {
+                "value": "component1/_HOST@${realm}",
+                "type" : "service",
+                "configuration": "service1-site/comp1.principal",
+                "local_username" : "${service1-env/service_user}"
               },
-              keytab: {
-                file: '${keytab_dir}/s1c1.service.keytab',
-                owner: {
-                  name: '${service1-env/service_user}',
-                  access: 'r',
+              "keytab": {
+                "file": "${keytab_dir}/s1c1.service.keytab",
+                "owner": {
+                  "name": "${service1-env/service_user}",
+                  "access": "r"
                 },
-                group: {
-                  name: '${cluster-env/user_group}',
-                  access: '',
+                "group": {
+                  "name": "${cluster-env/user_group}",
+                  "access": ""
                 },
-                configuration: 'service1-site/comp1.keytab.file',
-              },
+                "configuration": "service1-site/comp1.keytab.file"
+              }
             },
             // The stack-level spnego identity overridden to set component-specific
             // configurations
             {
-              name: 'component1_spnego_1',
-              reference: '/spnego',
-              principal: {
-                configuration: 'service1-site/comp1.spnego.principal',
-              },
-              keytab: {
-                configuration: 'service1-site/comp1.spnego.keytab.file',
+              "name": "component1_spnego_1",
+              "reference": "/spnego",
+              "principal": {
+                "configuration": "service1-site/comp1.spnego.principal"
               },
+              "keytab": {
+                "configuration": "service1-site/comp1.spnego.keytab.file"
+              }
             },
             // The stack-level spnego identity overridden to set a different set of component-specific
             // configurations
             {
-              name: 'component1_spnego_2',
-              reference: '/spnego',
-              principal: {
-                configuration: 'service1-site/comp1.someother.principal',
+              "name": "component1_spnego_2",
+              "reference": "/spnego",
+              "principal": {
+                "configuration": "service1-site/comp1.someother.principal"
               },
-              keytab: {
-                configuration: 'service1-site/comp1.someother.keytab.file',
-              },
-            },
+              "keytab": {
+                "configuration": "service1-site/comp1.someother.keytab.file"
+              }
+            }
           ],
           // Component-specific configurations to set if this component is installed
-          configurations: [
+          "configurations": [
             {
-              'service-site': {
-                'comp1.security.type': 'kerberos',
-              },
-            },
-          ],
+              "service-site": {
+                "comp1.security.type": "kerberos"
+              }
+            }
+          ]
         },
         {
-          name: 'COMPONENT_2',
-          identities: [
+          "name": "COMPONENT_2",
+          "identities": [
             {
-              name: 'component2_service_identity',
-              principal: {
-                value: 'component2/_HOST@${realm}',
-                type: 'service',
-                configuration: 'service1-site/comp2.principal',
-                local_username: '${service1-env/service_user}',
+              "name": "component2_service_identity",
+              "principal": {
+                "value": "component2/_HOST@${realm}",
+                "type" : "service",
+                "configuration": "service1-site/comp2.principal",
+                "local_username" : "${service1-env/service_user}"
               },
-              keytab: {
-                file: '${keytab_dir}/s1c2.service.keytab',
-                owner: {
-                  name: '${service1-env/service_user}',
-                  access: 'r',
+              "keytab": {
+                "file": "${keytab_dir}/s1c2.service.keytab",
+                "owner": {
+                  "name": "${service1-env/service_user}",
+                  "access": "r"
                 },
-                group: {
-                  name: '${cluster-env/user_group}',
-                  access: '',
+                "group": {
+                  "name": "${cluster-env/user_group}",
+                  "access": ""
                 },
-                configuration: 'service1-site/comp2.keytab.file',
-              },
+                "configuration": "service1-site/comp2.keytab.file"
+              }
             },
             // The service-level service1_identity identity overridden to
             // set component-specific configurations
             {
-              name: 'component2_service1_identity',
-              reference: '../service1_identity',
-              principal: {
-                configuration: 'service1-site/comp2.service.principal',
+              "name": "component2_service1_identity",
+              "reference": "../service1_identity",
+              "principal": {
+                "configuration": "service1-site/comp2.service.principal"
               },
-              keytab: {
-                configuration: 'service1-site/comp2.service.keytab.file',
-              },
-            },
+              "keytab": {
+                "configuration": "service1-site/comp2.service.keytab.file"
+              }
+            }
           ],
-          configurations: [
+          "configurations" : [
             {
-              'service-site': {
-                'comp2.security.type': 'kerberos',
-              },
-            },
-          ],
-        },
-      ],
-    },
-  ],
+              "service-site" : {
+                "comp2.security.type": "kerberos"
+              }
+            }
+          ]
+        }
+      ]
+    }
+  ]
 }
 ```
diff --git a/docs/ambari-design/metrics/stack-defined-metrics.md b/docs/ambari-design/metrics/stack-defined-metrics.md
index d609901..f95a1ef 100644
--- a/docs/ambari-design/metrics/stack-defined-metrics.md
+++ b/docs/ambari-design/metrics/stack-defined-metrics.md
@@ -10,8 +10,7 @@ Location of the **metrics.json** in the stack:
 
 Level|Location|Comment
 -----|--------|-------
-Cluster & Host | ganglia_properties.json | Presently, this file defines metrics for Host Component and Service Components as well but these are only used for older versions of stack < 2.0 and unit tests.
-The Cluster and Host sections of this json file drive the Dashboard graphs.
+Cluster & Host | ganglia_properties.json | Presently, this file defines metrics for Host Component and Service Components as well but these are only used for older versions of stack < 2.0 and unit tests.<br></br>The Cluster and Host sections of this json file drive the Dashboard graphs.
 Component & Host Component | common-services.&lt;SERVICE_NAME&gt; | This file contains definition of metrics mapping for Ambari Metrics (type = ganglia) and JMX.
 
 **Note**: The individual stacks that override behavior from common services can redefine the metrics.json file, the inheritance is all-or-nothing, meaning if metrics.json file is present in the child stack, it will override the metrics.json from common-services
@@ -23,9 +22,9 @@ Key|Allowed Values|Comments
 Type  |"ganglia" / "jmx" |type = ganglia implies Metrics Service request fulfilled by either a Ganglia (up to version 2.0) or Ambari Metrics (2.0 and above) backend service, this decision is taken by Ambari server at runtime.
 Category | "default" / "performance" ... |This is to group metrics into subsets for better navigability
 Metrics |metricKey : `{ "metricName": "", "pointInTime": "", "temporal": "" }` | metricKey = Key to be used by REST API. This is unique for a service and identifies the requested metric as well as what endpoint to use for serving the data (AMS vs JMX)
-metricName = Name to use for the Metrics Service backend
-pointInTime = Get latest value, no time range query allowed
-temporal = Time range query supported
+  * metricName = Name to use for the Metrics Service backend
+  * pointInTime = Get latest value, no time range query allowed
+  * temporal = Time range query supported
 
 Example:
 
diff --git a/docs/ambari-design/service-dashboard/index.mdx b/docs/ambari-design/service-dashboard/index.mdx
index 5da662e..96a000f 100644
--- a/docs/ambari-design/service-dashboard/index.mdx
+++ b/docs/ambari-design/service-dashboard/index.mdx
@@ -156,4 +156,33 @@ By default Ambari Metrics System uses the average aggregator function while comp
    "graph_type": "LINE",
    "time_range": "1"
  }
-}
\ No newline at end of file
+}
+```
+
+## Widget Operations:
+
+A Service that has widgets.json and metrics.json file will also be provided with following abilities:
+
+1. **Widget Browser** for performing widget related operations.
+
+2. **Create widget wizard** for creating new desired service widgets in a cluster.
+
+3. **Edit widget wizard** for editing service widgets post creation.
+
+## Widget Browser
+
+Widget Browser is the place from which actions can be performed on widgets like adding/removing a widget from the dashboard, sharing widget with other users and deleting a widget.While creating new widget, user can choose to share the widget with other users or not. All widgets that are created by the user + shared with the user + defined in the stack as default service widgets will be available in the widget browser of a user.
+![](./imgs/widget-browser.png "Widget Browser")
+
+### Create Widget Wizard
+
+A custom desired widget can be created from the exposed service metrics using 3 step Create Widget wizard.
+![](./imgs/create-widget.png "Create Widget")
+
+## Using Enhanced Service Dashboard feature
+
+If the existing service in Ambari is pushing the metrics to Ambari metrics collector then minimal work needs to be done. This includes adding metrics.json and widgets.json file for the service, and might include making changes to metainfo.xml file.
+
+:::tip
+[AMBARI-9910](https://issues.apache.org/jira/browse/AMBARI-9910) added widgets to Accumulo service page. This work can be referred as an example to use Enhanced Service Dashboard feature.
+:::
\ No newline at end of file
diff --git a/docs/ambari-design/views/index.md b/docs/ambari-design/views/index.md
index 790c9d7..ddd0ce9 100644
--- a/docs/ambari-design/views/index.md
+++ b/docs/ambari-design/views/index.md
@@ -30,7 +30,7 @@ The following section describes the basic terminology associated with views.
 
 A view can consist of **client-side assets** (i.e. the UI that is exposed in Ambari Web) and **server-side resources** (i.e. the classes that expose REST end points). When the view loads into Ambari Web, the view UI can use the view server-side resources as necessary to deliver the view functionality.
 
-![Apache Ambari > Views > view-components.jpg](./imgs/view-components.jpg 'Apache Ambari > Views > view-components.jpg')
+![Apache Ambari > Views > view-components.jpg](./imgs/view-components.jpg)
 
 ### Client-side Assets
 
@@ -68,17 +68,7 @@ view.jar
 
 Multiple versions of a given view can be deployed into Ambari and multiple instances of each view can be created for each version. For example, I can have a view named FILES and deploy versions 0.1.0 and 0.2.0. I can then create instances of each version `FILES_0.1.0` and `FILES_0.2.0` allowing some Ambari users to have an older version of FILES (0.1.0), and other users to have a newer version (0.2.0).
 
-## Versions and Instances
-
-Multiple versions of a given view can be deployed into Ambari and multiple instances of each view can be created for each version. For example, I can have a view named FILES and deploy versions 0.1.0 and 0.2.0. I can then create instances of each version `FILES_0.1.0` and `FILES_0.2.0` allowing some Ambari users to have an older version of FILES (0.1.0), and other users to have a newer version (0.2.0). I can also create multiple instances for each version, configuring each differently.
-
-![Apache Ambari > Views > view-versions.jpg](./imgs/view-versions.jpg 'Apache Ambari > Views > view-versions.jpg')
-
-### Instance Configuration Parameters
-
-As part of a view definition, the instance configuration parameters are specified (i.e. "these parameters are needed to configure an instance of this view"). When you create a view instance, you specify the configuration parameters specific to that instance. Since parameters are scoped to a particular view instance, you can have multiple instances of a view, each instance configured differently.
-
-Using the example above, I can create two instances of the `FILES_0.2.0` version, one instance that is configured a certain way and the second that is configured differently. This allows some Ambari users to use `FILES` one way, and other users a different way.
+Using the example above, I can create two instances of the `FILES_0.2.0` version, one instance that is configured a certain way and the second that is configured differently. This allows some Ambari users to use FILES one way, and other users a different way.
 
 See [Framework Services](./framework-services.md) for more information on instance configuration properties.
 
@@ -86,4 +76,4 @@ See [Framework Services](./framework-services.md) for more information on instan
 
 The lifecycle of a view is shown below. As you deploy a view and create instances of a view, server-side framework events are invoked. See [Framework Services](./framework-services.md) for more information on capabilities that the framework exposes on the server-side for views.
 
-![Apache Ambari > Views > view-lifecycle.png](./imgs/view-lifecycle.png 'Apache Ambari > Views > view-lifecycle.png')
+![Apache Ambari > Views > view-lifecycle.png](./imgs/view-lifecycle.png)
diff --git a/docs/ambari-dev/index.md b/docs/ambari-dev/index.md
index b4e6cd4..fda2389 100644
--- a/docs/ambari-dev/index.md
+++ b/docs/ambari-dev/index.md
@@ -1,16 +1,10 @@
----
-title: Ambari Development
-variables:
-  AMBARI_DIR: /path/to/ambari
----
-
 # Ambari Development
 
 ## Checking out Ambari source
 
 Follow the instructions under [Checkout source code](./how-to-contribute.md) section of "How to contribute" guide.
 
-We'll refer to the top-level "ambari" directory as `{AMBARI_DIR}` in this document.
+We'll refer to the top-level "ambari" directory as `AMBARI_DIR` in this document.
 
 ## Tools needed to build Ambari
 
@@ -108,7 +102,7 @@ Note: Replace `${AMBARI_VERSION}` with a 4-digit version you want the artifacts
 **Note**: If running into errors while compiling the ambari-metrics package due to missing the artifacts of jms, jmxri, jmxtools:
 
 ```
-[ERROR] Failed to execute goal on project ambari-metrics-kafka-sink: Could not resolve dependencies for project org.apache.ambari:ambari-metrics-kafka-sink:jar:2.0.0-0: The following artifacts could not be resolved: javax.jms:jms:jar:1.1, com.sun.jdmk:jmxtools:jar:1.2.1, com.sun.jmx:jmxri:jar:1.2.1: Could not transfer artifact javax.jms:jms:jar:1.1 from/to java.net (https://maven-repository.dev.java.net/nonav/repository) of type legacy using the available factories WagonRepositoryConnect [...]
+[ERROR] Failed to execute goal on project ambari-metrics-kafka-sink: Could not resolve dependencies for project org.apache.ambari:ambari-metrics-kafka-sink:jar:2.0.0-0: The following artifacts could not be resolved: javax.jms:jms:jar:1.1, com.sun.jdmk:jmxtools:jar:1.2.1, com.sun.jmx:jmxri:jar:1.2.1: Could not transfer artifact javax.jms:jms:jar:1.1 from/to java.net (https://maven-repository.dev.java.net/nonav/repository): No connector available to access repository java.net (https://mave [...]
 ```
 
 The work around is to manually install the three missing artifacts:
@@ -159,15 +153,15 @@ mvn -B clean install package jdeb:jdeb -DskipTests -Dpython.ver="python >= 2.6"
 
 Ambari Server will create following packages
 
-- RPM will be created under `{AMBARI_DIR}`/ambari-server/target/rpm/ambari-server/RPMS/noarch.
+- RPM will be created under `AMBARI_DIR`/ambari-server/target/rpm/ambari-server/RPMS/noarch.
 
-- DEB will be created under `{AMBARI_DIR}`/ambari-server/target/
+- DEB will be created under `AMBARI_DIR`/ambari-server/target/
 
 Ambari Agent will create following packages
 
-- RPM will be created under `{AMBARI_DIR}`/ambari-agent/target/rpm/ambari-agent/RPMS/x86_64.
+- RPM will be created under `AMBARI_DIR`/ambari-agent/target/rpm/ambari-agent/RPMS/x86_64.
 
-- DEB will be created under `{AMBARI_DIR}`/ambari-agent/target
+- DEB will be created under `AMBARI_DIR`/ambari-agent/target
 
 Optional parameters:
 
diff --git a/docs/ambari-dev/releasing-ambari.md b/docs/ambari-dev/releasing-ambari.md
index a025d23..ab7717d 100644
--- a/docs/ambari-dev/releasing-ambari.md
+++ b/docs/ambari-dev/releasing-ambari.md
@@ -1,10 +1,3 @@
----
-title: Releasing Ambari
-variables:
-  majorVersion: '2.8'
-  minorVersion: '0'
----
-
 # Releasing Ambari
 
 ## Useful Links
diff --git a/docs/ambari-plugin-contribution/scom/index.md b/docs/ambari-plugin-contribution/scom/index.md
index efe224f..b08f85c 100644
--- a/docs/ambari-plugin-contribution/scom/index.md
+++ b/docs/ambari-plugin-contribution/scom/index.md
@@ -1,63 +1,67 @@
 # Ambari SCOM Management Pack
 
-This information is intended for **Apache Hadoop** and **Microsoft System Center Operations Manager** users who install the **Ambari SCOM Management Pack**.
+This information is intended for **Apache Hadoop** and **Microsoft System Center Operations Manager** users who want to monitor their Hadoop clusters using the **Ambari SCOM Management Pack**.
 
 ## Introduction
 
-### Versions
+The Ambari SCOM Management Pack extends the functionality of Microsoft System Center Operations Manager to monitor Apache Hadoop clusters. It leverages Ambari and the Ambari REST API to obtain Hadoop metrics and provide comprehensive monitoring capabilities.
 
-Ambari SCOM Version | Ambari Server Version | Version
---------------------|------------------------|---------
-2.0.0 | 1.5.1 | 1.5.1.2.0.0.0-673
-1.0.0 | 1.4.4 | 1.4.4.1.0.0.1-472
-0.9.0 | 1.2.5 | 1.2.5.0.9.0.0-60
+### Compatibility
 
-The Ambari SCOM contribution can be found in the Apache Ambari project:
+Ambari SCOM Management Pack is compatible with the following versions:
 
-- https://github.com/apache/ambari/tree/trunk/contrib/ambari-scom
+| Ambari SCOM Version | Compatible Ambari Server Versions | Notes |
+|---------------------|-----------------------------------|-------|
+| 3.0.0               | 3.0.0                            | Latest version with improved metrics collection |
+| 2.0.0               | 1.5.1+                           | Legacy support |
+| 1.0.0               | 1.4.4                            | Legacy support |
 
-### Useful Resources
+> **Note:** For the best experience, it's recommended to use matching versions of Ambari Server and the Ambari SCOM Management Pack.
 
-The following links connect you to information about common tasks that are associated with System Center Management Packs:
+### Source Code
 
-- [Administering the Management Pack Life Cycle](http://go.microsoft.com/fwlink/?LinkId=211463)
-- [How to Import a Management Pack in Operations Manager 2007](http://go.microsoft.com/fwlink/?LinkID=142351)
-- [How to Monitor Using Overrides](http://go.microsoft.com/fwlink/?LinkID=117777)
-- [How to Create a Run As Account in Operations Manager 2007](http://technet.microsoft.com/en-us/library/hh321655.aspx)
-- [How to Modify an Existing Run As Profile](http://go.microsoft.com/fwlink/?LinkID=165412)
-- [How to Export Management Pack Customizations](http://go.microsoft.com/fwlink/?LinkId=209940)
-- [How to Remove a Management Pack](http://go.microsoft.com/fwlink/?LinkId=209941)
+The Ambari SCOM contribution can be found in the Apache Ambari project repository:
+
+- [GitHub: apache/ambari/contrib/ambari-scom](https://github.com/apache/ambari/tree/trunk/contrib/ambari-scom)
+
+## Features
 
-For questions about Operations Manager and monitoring packs, see the [System Center Operations Manager community forum](http://social.technet.microsoft.com/Forums/systemcenter/en-US/home?category=systemcenteroperationsmanager).
+The Ambari SCOM Management Pack provides the following key features:
 
-A useful resource is the [System Center Operations Manager Unleashed blog](http://opsmgrunleashed.wordpress.com/), which contains "By Example" posts for specific monitoring packs.
+- **Automatic Discovery**: Automatically discovers all nodes within Hadoop cluster(s)
+- **Proactive Monitoring**: Continuously monitors the availability and capacity of your Hadoop services
+- **Health Notifications**: Proactively notifies administrators when the health is critical
+- **Intuitive Dashboards**: Efficiently visualizes the health of Hadoop clusters through comprehensive dashboards
+- **Detailed Metrics**: Collects and displays detailed metrics for all Hadoop components
 
-## Get Started
+![Ambari SCOM Dashboard](./imgs/ambari-scom.jpg)
 
-### Overview
+## Architecture
 
-**Ambari SCOM** extends the functionality of **Microsoft System Center Operations Manager** to monitor Apache Hadoop clusters, and leverages Ambari (and the Ambari REST API) to obtain Hadoop metrics. The Ambari SCOM Management Pack will:
+Ambari SCOM consists of the following components:
 
-- Automatically discover all nodes within a Hadoop cluster(s).
-- Proactively monitor the availability and capacity.
-- Proactively notify when the health is critical.
-- Intuitively and efficiently visualize the health of Hadoop cluster via dashboards
+1. **Ambari Server**: Collects metrics from Hadoop clusters
+2. **SCOM Management Server**: Processes and stores monitoring data
+3. **SCOM Console**: Provides the user interface for monitoring and alerts
+4. **Ambari SCOM Management Pack**: Connects Ambari with SCOM and defines monitoring rules
 
-![](./imgs/ambari-scom.jpg)
+## Getting Started
 
-### Architecture
+To get started with the Ambari SCOM Management Pack:
 
-Ambari SCOM is made up of the following components
+1. Ensure you have a functioning Ambari Server (version 3.0.0 or compatible)
+2. Install Microsoft System Center Operations Manager
+3. Follow the [Installation Guide](./installation) to install the management pack
+4. Configure the necessary Run As accounts and discovery rules
 
-Component | Description
-----------|------------
-Ambari SCOM Management Pack | The Ambari SCOM Management Pack extends the functional of Microsoft System Center Operations Manager to monitor Hadoop clusters.
-Ambari SCOM Server | The Ambari SCOM Server component connects to the Hadoop cluster components and exposes a REST API for the Ambari SCOM Management Pack.
-ResourceProvider | An Ambari ResourceProvider is a pluggable interface in Ambari enables the customization of the Ambari SCOM Server.
-ClusterLayout ResourceProvider | An Ambari ResourceProvider implementation that supplies information on cluster layout (i.e. where Hadoop master and slave components are installed) to the Ambari SCOM Server. This allows Ambari to know how and where to access components of the Hadoop cluster.
-Property ResourceProvider | An Ambari ResourceProvider implementation that integrates with the SQL Server database instance for retrieving stored Hadoop metrics.
-SQL Server | A SQL Server instance that stores the metrics emitted from Hadoop via the SqlServerSink and the Hadoop Metrics2 interface.
-SqlServerSink | This is a Hadoop Metrics2 sink designed to consume metrics emitted from the Hadoop cluster. Ambari SCOM provides a SQL Server implementation.
+## Additional Resources
 
-![](./imgs/ambari-scom-arch.jpg)
+The following links provide information about common tasks associated with System Center Management Packs:
+
+- [Administering the Management Pack Life Cycle](http://go.microsoft.com/fwlink/?LinkId=211463)
+- [How to Import a Management Pack in Operations Manager](http://go.microsoft.com/fwlink/?LinkID=142351)
+- [How to Monitor Using Overrides](http://go.microsoft.com/fwlink/?LinkID=117777)
+- [How to Create a Run As Account in Operations Manager](http://technet.microsoft.com/en-us/library/hh321655.aspx)
+- [Microsoft System Center Documentation](https://docs.microsoft.com/en-us/system-center/scom/)
 
+For questions about Operations Manager and monitoring packs, visit the [Microsoft Q&A for System Center](https://docs.microsoft.com/en-us/answers/topics/system-center-operations-manager.html) or the [System Center blog](https://techcommunity.microsoft.com/t5/system-center-blog/bg-p/SystemCenterBlog).
diff --git a/docs/faq.md b/docs/faq.md
new file mode 100644
index 0000000..6957061
--- /dev/null
+++ b/docs/faq.md
@@ -0,0 +1,167 @@
+---
+title: Frequently Asked Questions (FAQ)
+---
+
+# Frequently Asked Questions (FAQ)
+
+This page provides answers to commonly asked questions about Apache Ambari 3.0.0. If you don't find an answer to your question here, please reach out to the community via the [mailing lists](https://ambari.apache.org/community.html) or [Slack channel](https://the-asf.slack.com/archives/C014FSPE668).
+
+## General Questions
+
+### What is Apache Ambari?
+
+Apache Ambari is an open-source administration tool designed to simplify the management, monitoring, and maintenance of Apache Hadoop clusters. Ambari provides an intuitive web UI and robust REST APIs to simplify the provisioning, managing, and monitoring of Hadoop clusters.
+
+### What's new in Ambari 3.0.0?
+
+Ambari 3.0.0 includes several major improvements:
+- Alluxio support (AMBARI-26055)
+- Ozone file system service (AMBARI-24976)
+- Grafana dashboards (AMBARI-25960)
+- Ruff integration (AMBARI-26147)
+- HiveServer2 web UI quicklink (AMBARI-26270)
+- Java 17 support
+- Python 3 compatibility
+- OceanBase support
+
+For a complete list of new features, see the [Release Notes](./release-notes.md).
+
+## Installation and Setup
+
+### What are the system requirements for Ambari 3.0.0?
+
+For a development environment using Vagrant:
+- Host CPU: 6+ cores (2 cores per VM)
+- Host RAM: 24GB+ (8GB per VM)
+- Storage: 100GB+ free space
+- VirtualBox 6.1+ and Vagrant 2.2+
+
+For production environments, requirements will vary based on cluster size and workload.
+
+### Which operating systems are supported?
+
+Ambari 3.0.0 supports:
+- Rocky Linux 8
+- CentOS 7
+- Red Hat Enterprise Linux 7 and 8
+- Ubuntu 18.04 and 20.04
+
+### How do I enable the Rocky-Devel repository?
+
+You need to edit the Rocky-Devel.repo file on each VM. You may encounter two scenarios:
+1. All lines commented out: Uncomment the necessary lines
+2. Repository disabled with enabled=0: Change to enabled=1
+
+To verify the repository is properly enabled, run:
+```bash
+yum repolist | grep devel
+```
+
+### How do I troubleshoot SSH connectivity issues?
+
+If you're experiencing SSH connectivity issues:
+1. Verify SSH service is running: `systemctl status sshd`
+2. Check SSH configuration: `cat /etc/ssh/sshd_config` (ensure PasswordAuthentication and PermitRootLogin are set to yes)
+3. Restart SSH service: `systemctl restart sshd`
+4. Redistribute SSH keys if needed: `ssh-copy-id -o StrictHostKeyChecking=no user@host`
+
+## Configuration
+
+### How do I disable SELinux?
+
+To temporarily disable SELinux:
+```bash
+setenforce 0
+```
+
+To permanently disable SELinux, edit `/etc/selinux/config` and set:
+```
+SELINUX=disabled
+```
+
+### How do I configure the hosts file correctly?
+
+Ensure your hosts file:
+1. Does not contain loopback entries for your cluster hostnames
+2. Contains proper static IP mappings for all nodes
+3. Is consistent across all nodes in the cluster
+
+For example:
+```
+192.168.56.20 vm1
+192.168.56.21 vm2
+192.168.56.22 vm3
+```
+
+### Which database systems are supported?
+
+Ambari 3.0.0 supports:
+- PostgreSQL 9.6+
+- MySQL 5.7+
+- MariaDB 10.2+
+- OceanBase
+
+## Troubleshooting
+
+### Common installation issues
+
+1. **Repository access problems**:
+   - Verify internet connectivity
+   - Check repository configuration
+   - Ensure Rocky-Devel repository is enabled
+
+2. **Database connection issues**:
+   - Verify database service is running
+   - Check connection string and credentials
+   - Ensure database user has proper permissions
+
+3. **Agent registration failures**:
+   - Verify hostname resolution works in both directions
+   - Check firewall settings
+   - Ensure time is synchronized across all nodes
+
+### How do I check Ambari Server logs?
+
+Ambari Server logs are located at:
+```
+/var/log/ambari-server/ambari-server.log
+```
+
+To view the logs in real-time:
+```bash
+tail -f /var/log/ambari-server/ambari-server.log
+```
+
+### How do I check Ambari Agent logs?
+
+Ambari Agent logs are located at:
+```
+/var/log/ambari-agent/ambari-agent.log
+```
+
+To view the logs in real-time:
+```bash
+tail -f /var/log/ambari-agent/ambari-agent.log
+```
+
+## Development
+
+### How do I contribute to Ambari?
+
+To contribute to Ambari:
+1. Review the [How to Contribute](./ambari-dev/how-to-contribute.md) guide
+2. Follow the [Coding Guidelines](./ambari-dev/coding-guidelines-for-ambari.md)
+3. Submit your contribution following the [How to Commit](./ambari-dev/how-to-commit.md) process
+
+### How do I set up a development environment?
+
+For setting up a development environment:
+1. Follow the [Vagrant Environment Setup](./quick-start/environment-setup/vagrant-environment-setup.md) or [Docker Environment Setup](./quick-start/environment-setup/docker-environment-setup.md) guide
+2. Review the [Development in Docker](./ambari-dev/development-in-docker.md) documentation
+
+### How do I create a custom service for Ambari?
+
+To create a custom service:
+1. Review the [Custom Services](./ambari-design/stack-and-services/custom-services.md) documentation
+2. Follow the [How to Define Stacks and Services](./ambari-design/stack-and-services/how-to-define-stacks-and-services.md) guide
+3. See the [Writing Metainfo](./ambari-design/stack-and-services/writing-metainfo.md) documentation for service definition details
diff --git a/docs/quick-start/_category_.json b/docs/quick-start/_category_.json
index b1ce0cc..64c06f3 100644
--- a/docs/quick-start/_category_.json
+++ b/docs/quick-start/_category_.json
@@ -3,6 +3,6 @@
   "position": 2,
   "link": {
     "type": "generated-index",
-    "description": "Ambari Quick Start"
+    "description": "Get started with Apache Ambari installation across multiple environments (Vagrant, Docker, Bare Metal/KVM)"
   }
 }
diff --git a/docs/quick-start/docker-environment-setup.md b/docs/quick-start/docker-environment-setup.md
new file mode 100644
index 0000000..1abc50c
--- /dev/null
+++ b/docs/quick-start/docker-environment-setup.md
@@ -0,0 +1,387 @@
+---
+sidebar_position: 3
+---
+
+# Docker Environment Setup for Apache Ambari
+
+This guide helps you set up a Docker environment for Apache Ambari development and testing. Using Docker containers provides a lightweight alternative to full virtual machines while still allowing you to create a multi-node environment for Ambari.
+
+## Prerequisites
+
+Before proceeding, ensure you have the following installed on your system:
+
+- Docker Engine (version 20.10.0 or later)
+- Docker Compose (version 2.0.0 or later)
+- At least 8GB of free RAM (for a 4-node cluster)
+- At least 20GB of free disk space
+
+## Overview
+
+This setup creates a multi-container environment with:
+
+- One container (`bigtop_hostname0`) for the Ambari Server
+- Three containers (`bigtop_hostname1`, `bigtop_hostname2`, `bigtop_hostname3`) for Ambari Agents
+- A shared volume for the Ambari repository
+- The BigTop image which includes many pre-configured dependencies
+
+The setup uses the `bigtop/puppet:trunk-rockylinux-8` image, which is pre-configured with many of the dependencies needed for Ambari and Hadoop services.
+
+## 1. Create a Docker Compose File
+
+Create a file named `docker-compose.yml` with the following content:
+
+```yaml
+version: '3'
+
+services:
+  bigtop_hostname0:
+    command: /sbin/init
+    domainname: bigtop.apache.org
+    image: bigtop/puppet:trunk-rockylinux-8
+    mem_limit: 8g
+    mem_swappiness: 0
+    ports:
+      - "8080:8080"
+    privileged: true
+    volumes:
+      - ./ambari-repo:/var/repo/ambari
+
+  bigtop_hostname1:
+    command: /sbin/init
+    domainname: bigtop.apache.org
+    image: bigtop/puppet:trunk-rockylinux-8
+    mem_limit: 8g
+    mem_swappiness: 0
+    privileged: true
+    volumes:
+      - ./ambari-repo:/var/repo/ambari
+
+  bigtop_hostname2:
+    command: /sbin/init
+    domainname: bigtop.apache.org
+    image: bigtop/puppet:trunk-rockylinux-8
+    mem_limit: 8g
+    mem_swappiness: 0
+    privileged: true
+    volumes:
+      - ./ambari-repo:/var/repo/ambari
+
+  bigtop_hostname3:
+    command: /sbin/init
+    domainname: bigtop.apache.org
+    image: bigtop/puppet:trunk-rockylinux-8
+    mem_limit: 8g
+    mem_swappiness: 0
+    privileged: true
+    volumes:
+      - ./ambari-repo:/var/repo/ambari
+```
+
+This configuration creates four containers:
+- `bigtop_hostname0`: Ambari Server node with port 8080 exposed
+- `bigtop_hostname1`, `bigtop_hostname2`, `bigtop_hostname3`: Ambari Agent nodes
+
+Each container uses the `bigtop/puppet:trunk-rockylinux-8` image, which is pre-configured with many of the dependencies needed for Ambari and Hadoop services.
+
+## 2. Create a Directory for Ambari Repository
+
+Create a directory to store Ambari RPMs that will be shared with all containers:
+
+```bash
+mkdir -p ambari-repo
+```
+
+If you have Ambari RPMs, place them in this directory. Otherwise, you'll configure the containers to use online repositories later.
+
+## 3. Create a Hosts File
+
+The containers need to be able to communicate with each other using hostnames. Create a hosts file that will be mounted in each container:
+
+```bash
+mkdir -p conf
+cat > conf/hosts << EOF
+127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
+::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
+
+# Container hostnames
+172.20.0.2  bigtop_hostname0
+172.20.0.3  bigtop_hostname1
+172.20.0.4  bigtop_hostname2
+172.20.0.5  bigtop_hostname3
+EOF
+```
+
+Now update your docker-compose.yml to mount this hosts file:
+
+```yaml
+version: '3'
+
+services:
+  bigtop_hostname0:
+    command: /sbin/init
+    domainname: bigtop.apache.org
+    image: bigtop/puppet:trunk-rockylinux-8
+    mem_limit: 8g
+    mem_swappiness: 0
+    ports:
+      - "8080:8080"
+    privileged: true
+    volumes:
+      - ./ambari-repo:/var/repo/ambari
+      - ./conf/hosts:/etc/hosts
+
+  bigtop_hostname1:
+    command: /sbin/init
+    domainname: bigtop.apache.org
+    image: bigtop/puppet:trunk-rockylinux-8
+    mem_limit: 8g
+    mem_swappiness: 0
+    privileged: true
+    volumes:
+      - ./ambari-repo:/var/repo/ambari
+      - ./conf/hosts:/etc/hosts
+
+  bigtop_hostname2:
+    command: /sbin/init
+    domainname: bigtop.apache.org
+    image: bigtop/puppet:trunk-rockylinux-8
+    mem_limit: 8g
+    mem_swappiness: 0
+    privileged: true
+    volumes:
+      - ./ambari-repo:/var/repo/ambari
+      - ./conf/hosts:/etc/hosts
+
+  bigtop_hostname3:
+    command: /sbin/init
+    domainname: bigtop.apache.org
+    image: bigtop/puppet:trunk-rockylinux-8
+    mem_limit: 8g
+    mem_swappiness: 0
+    privileged: true
+    volumes:
+      - ./ambari-repo:/var/repo/ambari
+      - ./conf/hosts:/etc/hosts
+```
+
+## 4. Understanding the BigTop Image
+
+The `bigtop/puppet:trunk-rockylinux-8` image is part of the Apache BigTop project, which provides a framework for building and testing Hadoop-related projects. This image includes:
+
+- Rocky Linux 8 as the base OS
+- Pre-installed Java and development tools
+- Puppet for configuration management
+- System configurations optimized for Hadoop ecosystem services
+
+Using this image simplifies the setup process as many of the dependencies required for Ambari are already installed or configured.
+
+## 5. Start the Docker Environment
+
+Launch the Docker containers:
+
+```bash
+docker-compose up -d
+```
+
+This command starts the containers in detached mode. You should see output indicating that the containers are being created.
+
+## 6. Verify the Environment
+
+Ensure all containers are running and properly configured:
+
+```bash
+# Check container status
+docker ps
+
+# Test network connectivity between containers
+docker exec -it bigtop_hostname0 ping -c 2 bigtop_hostname1
+docker exec -it bigtop_hostname0 ping -c 2 bigtop_hostname2
+docker exec -it bigtop_hostname0 ping -c 2 bigtop_hostname3
+```
+
+## 7. Configure SSH Access Between Containers
+
+SSH setup is required for Ambari to function properly. Execute these commands:
+
+First, on the bigtop_hostname0 container:
+
+```bash
+docker exec -it bigtop_hostname0 bash
+
+# Generate SSH key
+ssh-keygen -t rsa -N "" -f ~/.ssh/id_rsa
+
+# Start SSH service
+systemctl enable sshd
+systemctl start sshd
+
+# Exit the container
+exit
+```
+
+Now set up SSH on the agent containers and copy the server's key:
+
+```bash
+# For bigtop_hostname1
+docker exec -it bigtop_hostname1 bash
+ssh-keygen -t rsa -N "" -f ~/.ssh/id_rsa
+systemctl enable sshd
+systemctl start sshd
+exit
+
+# For bigtop_hostname2
+docker exec -it bigtop_hostname2 bash
+ssh-keygen -t rsa -N "" -f ~/.ssh/id_rsa
+systemctl enable sshd
+systemctl start sshd
+exit
+
+# For bigtop_hostname3
+docker exec -it bigtop_hostname3 bash
+ssh-keygen -t rsa -N "" -f ~/.ssh/id_rsa
+systemctl enable sshd
+systemctl start sshd
+exit
+
+# Copy SSH key from server to agents
+docker exec -it bigtop_hostname0 bash
+cat ~/.ssh/id_rsa.pub | docker exec -i bigtop_hostname1 bash -c 'cat >> ~/.ssh/authorized_keys'
+cat ~/.ssh/id_rsa.pub | docker exec -i bigtop_hostname2 bash -c 'cat >> ~/.ssh/authorized_keys'
+cat ~/.ssh/id_rsa.pub | docker exec -i bigtop_hostname3 bash -c 'cat >> ~/.ssh/authorized_keys'
+
+# Test SSH connections
+ssh -o StrictHostKeyChecking=no bigtop_hostname1 echo "Connection successful"
+ssh -o StrictHostKeyChecking=no bigtop_hostname2 echo "Connection successful"
+ssh -o StrictHostKeyChecking=no bigtop_hostname3 echo "Connection successful"
+exit
+```
+
+## 8. Disable Security Features
+
+For development environments, disable SELinux and firewall on all containers:
+
+```bash
+# For each container (bigtop_hostname0, bigtop_hostname1, bigtop_hostname2, bigtop_hostname3)
+docker exec -it bigtop_hostname0 bash
+setenforce 0
+sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
+exit
+```
+
+## 9. Install Required Packages on All Containers
+
+Execute these commands on each container (bigtop_hostname0, bigtop_hostname1, bigtop_hostname2, bigtop_hostname3):
+
+```bash
+# Example for bigtop_hostname0 container
+docker exec -it bigtop_hostname0 bash
+
+# Install basic utilities
+dnf install -y sudo openssh-server openssh-clients which iproute net-tools less vim-enhanced
+
+# Install development tools
+dnf install -y initscripts wget curl tar unzip git
+
+# Enable PowerTools repository (needed for some dependencies)
+dnf install -y dnf-plugins-core
+dnf config-manager --set-enabled powertools
+
+# Update the system
+dnf update -y
+
+# Exit the container
+exit
+```
+
+Repeat for bigtop_hostname1, bigtop_hostname2, and bigtop_hostname3 containers.
+
+## 10. Enable Development Repository
+
+The Rocky Linux development repository needs to be enabled on each container to install dependencies required for Ambari:
+
+```bash
+# For each container (bigtop_hostname0, bigtop_hostname1, bigtop_hostname2, bigtop_hostname3)
+docker exec -it bigtop_hostname0 bash
+
+# Edit the Rocky-Devel repository configuration
+vi /etc/yum.repos.d/Rocky-Devel.repo
+
+# There are two possible scenarios:
+# 1. If all lines are commented (start with #), uncomment all lines
+# 2. If you see "enabled=0", change it to "enabled=1"
+
+# After editing, verify the repository is enabled
+dnf repolist | grep devel
+exit
+```
+
+## Troubleshooting
+
+If you encounter issues with the Docker environment:
+
+### Container Connectivity Issues
+
+```bash
+# Check if all containers are running
+docker ps -a
+
+# Check network configuration
+docker network inspect bridge
+
+# Restart a specific container
+docker restart bigtop_hostname0
+```
+
+### SSH Issues
+
+```bash
+# Check SSH service status
+docker exec -it bigtop_hostname0 systemctl status sshd
+
+# Verify SSH key permissions
+docker exec -it bigtop_hostname0 ls -la ~/.ssh/
+
+# Check SSH configuration
+docker exec -it bigtop_hostname0 cat /etc/ssh/sshd_config | grep PasswordAuthentication
+docker exec -it bigtop_hostname0 cat /etc/ssh/sshd_config | grep PermitRootLogin
+```
+
+### Resource Issues
+
+If containers are terminating unexpectedly, you might need to allocate more resources to Docker:
+
+```bash
+# Check container logs
+docker logs bigtop_hostname0
+
+# Check resource usage
+docker stats
+```
+
+### BigTop Image Specific Issues
+
+If you encounter issues with the BigTop image:
+
+```bash
+# Check if Java is installed correctly
+docker exec -it bigtop_hostname0 java -version
+
+# Verify puppet is available
+docker exec -it bigtop_hostname0 puppet --version
+
+# Check for any BigTop-specific logs
+docker exec -it bigtop_hostname0 ls -la /var/log/
+```
+
+## Next Steps
+
+Now that your Docker environment is set up, proceed to the [Installation Guide](./installation-guide.md) to install and configure Ambari Server and Agents. The installation guide provides standardized instructions that work across all environments (Vagrant, Docker, and bare metal/KVM).
+
+When following the installation guide, remember:
+
+1. All commands should be run as root (which is the default user in the BigTop containers)
+2. Run Ambari Server setup and installation on the `bigtop_hostname0` container
+3. Run Ambari Agent installation on all containers
+4. Access the Ambari Web UI via http://localhost:8080 after installation
+
+The Docker environment provides a lightweight and reproducible way to test and develop with Apache Ambari, while following the same installation and configuration steps as other deployment methods.
diff --git a/docs/quick-start/environment-setup/_category_.json b/docs/quick-start/environment-setup/_category_.json
new file mode 100644
index 0000000..03bb5c3
--- /dev/null
+++ b/docs/quick-start/environment-setup/_category_.json
@@ -0,0 +1,8 @@
+{
+  "label": "Environment Setup",
+  "position": 1,
+  "link": {
+    "type": "generated-index",
+    "description": "Configure your environment for Apache Ambari installation using Vagrant, Docker, or Bare Metal/KVM"
+  }
+}
diff --git a/docs/quick-start/environment-setup/bare-metal-kvm-setup.md b/docs/quick-start/environment-setup/bare-metal-kvm-setup.md
new file mode 100644
index 0000000..ab8a6d4
--- /dev/null
+++ b/docs/quick-start/environment-setup/bare-metal-kvm-setup.md
@@ -0,0 +1,280 @@
+---
+sidebar_position: 4
+---
+
+# Bare Metal and KVM Environment Setup for Apache Ambari
+
+This guide provides instructions for configuring existing bare metal servers or KVM virtual machines for Apache Ambari installation. It assumes you already have at least 3 machines (physical or virtual) available and focuses on the necessary system configurations to prepare them for Ambari deployment.
+
+## Prerequisites
+
+- At least 3 machines (physical servers or KVM virtual machines)
+- Rocky Linux 8 (or compatible RHEL-based distribution) installed on all machines
+- Root access to all machines
+- Network connectivity between all machines
+
+## Machine Roles
+
+For a basic Ambari cluster, you'll need to designate your machines for the following roles:
+
+- **Machine 1**: Ambari Server
+- **Machine 2, 3, ...**: Ambari Agents
+
+All machines will need similar base configurations, with some specific settings for the Ambari Server.
+
+## 1. Configure Hostnames and Networking
+
+### 1.1 Set Hostnames
+
+If you haven't already configured hostnames for your machines, you can set them as follows:
+
+```bash
+# Example hostname configuration (only if needed)
+sudo hostnamectl set-hostname your-preferred-hostname
+```
+
+The specific hostnames you choose don't matter, but they should be:
+- Unique across all machines
+- Fully qualified domain names (FQDN) if possible
+- Consistent with your network naming conventions
+
+If you've already configured your hostnames, you can skip this step.
+
+### 1.2 Configure /etc/hosts on All Machines
+
+Ensure all machines can resolve each other's hostnames by editing the `/etc/hosts` file on each machine:
+
+```bash
+# Login as root
+sudo su -
+
+# Edit the hosts file
+vi /etc/hosts
+
+# Add entries for all machines (use your actual IP addresses and hostnames)
+192.168.1.10 server-hostname
+192.168.1.11 agent-machine1-hostname
+192.168.1.12 agent-machine2-hostname
+# Add more entries for additional machines
+```
+
+Make sure these changes are identical across all machines. This step is critical for Ambari to function properly, as it relies on hostname resolution for communication between the server and agents.
+
+## 2. Configure Security Settings
+
+### 2.1 Disable SELinux on All Machines
+
+```bash
+# Temporarily disable SELinux
+setenforce 0
+
+# Permanently disable SELinux
+sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
+```
+
+### 2.2 Configure Firewall on All Machines
+
+For development environments, you may disable the firewall:
+
+```bash
+# Disable and stop firewalld
+systemctl disable firewalld
+systemctl stop firewalld
+```
+
+
+## 3. Configure SSH Access
+
+Similar to the Vagrant environment setup, you need to configure passwordless SSH access from the Ambari Server to all agent machines.
+
+### 3.1 Generate SSH Key on the Server Machine
+
+```bash
+# Login as root on the server machine
+sudo su -
+
+# Generate SSH key if not exists
+if [ ! -f ~/.ssh/id_rsa ]; then
+  ssh-keygen -t rsa -N "" -f ~/.ssh/id_rsa
+fi
+```
+
+### 3.2 Configure SSH for Password Authentication
+
+Edit the SSH configuration on all machines if not already configured:
+
+```bash
+# Edit sshd_config
+vi /etc/ssh/sshd_config
+
+# Ensure these lines are set
+PasswordAuthentication yes
+PermitRootLogin yes
+
+# Restart SSH service
+systemctl restart sshd
+```
+
+### 3.3 Distribute SSH Keys from Server to Agents
+
+From the Ambari server machine, copy your SSH key to each agent machine:
+
+```bash
+# Copy SSH key to all agent machines (replace with your actual hostnames)
+ssh-copy-id -o StrictHostKeyChecking=no root@agent-machine1-hostname
+ssh-copy-id -o StrictHostKeyChecking=no root@agent-machine2-hostname
+# Repeat for additional agent machines
+
+# Test SSH connections (replace with your actual hostnames)
+ssh root@agent-machine1-hostname echo "Connection successful"
+ssh root@agent-machine2-hostname echo "Connection successful"
+# Test additional connections as needed
+```
+
+## 4. Install Required Packages on All Machines
+
+### 4.1 Update the System and Install Basic Utilities
+
+Run these commands on all machines:
+
+```bash
+# Update package lists and upgrade packages
+dnf update -y
+
+# Install basic utilities
+dnf install -y sudo openssh-server openssh-clients which iproute net-tools less vim-enhanced
+dnf install -y wget curl tar unzip git
+```
+
+### 4.2 Enable Development Repository
+
+The Rocky Linux development repository needs to be enabled on all machines to install dependencies required for Ambari:
+
+```bash
+# Edit the Rocky-Devel repository configuration
+vi /etc/yum.repos.d/Rocky-Devel.repo
+
+# There are two possible scenarios:
+# 1. If all lines are commented (start with #), uncomment all lines
+# 2. If you see "enabled=0", change it to "enabled=1"
+
+# After editing, verify the repository is enabled
+dnf repolist | grep devel
+```
+
+### 4.3 Install Java on All Machines
+
+```bash
+# Install OpenJDK 8
+dnf install -y java-1.8.0-openjdk-devel
+
+# Verify Java installation
+java -version
+```
+
+## 5. Configure Network Time Protocol (NTP)
+
+Synchronize time across all machines:
+
+```bash
+# Install chrony (NTP implementation)
+dnf install -y chrony
+
+# Start and enable chronyd service
+systemctl start chronyd
+systemctl enable chronyd
+
+# Verify time synchronization
+chronyc sources
+```
+
+## 6. Verify the Environment
+
+### 6.1 Check Network Connectivity
+
+From the server machine, test connectivity to all agent machines:
+
+```bash
+# Test connectivity to all agent machines (replace with your actual hostnames)
+ping -c 2 agent-machine1-hostname
+ping -c 2 agent-machine2-hostname
+# Test additional machines as needed
+```
+
+### 6.2 Verify SSH Access
+
+From the server machine, verify SSH access to all agent machines:
+
+```bash
+# Verify SSH access to all agent machines (replace with your actual hostnames)
+ssh root@agent-machine1-hostname hostname
+ssh root@agent-machine2-hostname hostname
+# Verify additional machines as needed
+```
+
+### 6.3 Verify Security Settings
+
+```bash
+# Check SELinux status on all machines (replace with your actual hostnames)
+for host in server-hostname agent-machine1-hostname agent-machine2-hostname; do
+  echo "=== $host SELinux Status ==="
+  ssh root@$host getenforce  # Should show 'Disabled'
+done
+
+# Check firewall status on all machines (replace with your actual hostnames)
+for host in server-hostname agent-machine1-hostname agent-machine2-hostname; do
+  echo "=== $host Firewall Status ==="
+  ssh root@$host systemctl status firewalld  # Should show 'inactive' for dev environments
+done
+```
+
+## Troubleshooting
+
+### Network Issues
+
+```bash
+# Check network interfaces
+ip addr show
+
+# Test DNS resolution (replace with your actual hostnames)
+nslookup server-hostname
+nslookup agent-machine1-hostname
+nslookup agent-machine2-hostname
+```
+
+### SSH Issues
+
+```bash
+# Check SSH service status
+systemctl status sshd
+
+# Verify SSH key permissions
+ls -la ~/.ssh/
+
+# Check SSH configuration
+cat /etc/ssh/sshd_config | grep PasswordAuthentication
+cat /etc/ssh/sshd_config | grep PermitRootLogin
+```
+
+### SELinux Issues
+
+If you encounter permission problems even after disabling SELinux:
+
+```bash
+# Verify SELinux is disabled
+getenforce
+
+# If it shows 'Enforcing', disable it again
+setenforce 0
+```
+
+## Next Steps
+
+Now that your bare metal or KVM environment is configured, proceed to the [Installation Guide](../installation-guide.md) to install and configure Ambari Server and Agents. The installation guide provides standardized instructions that work across all environments (Vagrant, Docker, and bare metal/KVM).
+
+When following the installation guide, remember:
+
+1. All commands should be run as root
+2. Run Ambari Server setup and installation on the designated server machine
+3. Run Ambari Agent installation on all machines
+4. Access the Ambari Web UI via the server machine's IP address on port 8080 (http://server-hostname:8080)
diff --git a/docs/quick-start/environment-setup/docker-environment-setup.md b/docs/quick-start/environment-setup/docker-environment-setup.md
new file mode 100644
index 0000000..c1db997
--- /dev/null
+++ b/docs/quick-start/environment-setup/docker-environment-setup.md
@@ -0,0 +1,424 @@
+---
+sidebar_position: 3
+---
+
+# Docker Environment Setup for Apache Ambari
+
+This guide helps you set up a Docker environment for Apache Ambari development and testing. Using Docker containers provides a lightweight alternative to full virtual machines while still allowing you to create a multi-node environment for Ambari.
+
+## Prerequisites
+
+Before proceeding, ensure you have the following installed on your system:
+
+- Docker Engine (version 20.10.0 or later)
+- Docker Compose (version 2.0.0 or later)
+- At least 8GB of free RAM (for a 4-node cluster)
+- At least 20GB of free disk space
+
+## Useful Docker Shortcuts
+
+### Quick Container Access
+
+To make it easier to access your Docker containers, you can add a helpful shell function to your system. This function allows you to quickly enter any container with a simple command.
+
+Add the following function to your `/etc/profile` (requires root access):
+
+```bash
+# Login as root or use sudo
+sudo su -
+
+# Edit the profile file
+vi /etc/profile
+
+# Add this function at the end of the file
+dke() {
+    docker exec -it "$1" /bin/bash
+}
+
+# Save the file and exit
+# Source the profile to apply changes immediately
+source /etc/profile
+```
+
+After adding this function, you can quickly enter any container using:
+
+```bash
+# Enter the Ambari server container
+dke bigtop_hostname0
+
+# Enter an agent container
+dke bigtop_hostname1
+```
+
+This shortcut saves you from typing the full `docker exec -it container_name /bin/bash` command each time you need to access a container.
+
+## Overview
+
+This setup creates a multi-container environment with:
+
+- One container (`bigtop_hostname0`) for the Ambari Server
+- Three containers (`bigtop_hostname1`, `bigtop_hostname2`, `bigtop_hostname3`) for Ambari Agents
+- A shared volume for the Ambari repository
+- The BigTop image which includes many pre-configured dependencies
+
+The setup uses the `bigtop/puppet:trunk-rockylinux-8` image, which is pre-configured with many of the dependencies needed for Ambari and Hadoop services.
+
+## 1. Create a Docker Compose File
+
+Create a file named `docker-compose.yml` with the following content:
+
+```yaml
+version: '3'
+
+services:
+  bigtop_hostname0:
+    command: /sbin/init
+    domainname: bigtop.apache.org
+    image: bigtop/puppet:trunk-rockylinux-8
+    mem_limit: 8g
+    mem_swappiness: 0
+    ports:
+      - "8080:8080"
+    privileged: true
+    volumes:
+      - ./ambari-repo:/var/repo/ambari
+
+  bigtop_hostname1:
+    command: /sbin/init
+    domainname: bigtop.apache.org
+    image: bigtop/puppet:trunk-rockylinux-8
+    mem_limit: 8g
+    mem_swappiness: 0
+    privileged: true
+    volumes:
+      - ./ambari-repo:/var/repo/ambari
+
+  bigtop_hostname2:
+    command: /sbin/init
+    domainname: bigtop.apache.org
+    image: bigtop/puppet:trunk-rockylinux-8
+    mem_limit: 8g
+    mem_swappiness: 0
+    privileged: true
+    volumes:
+      - ./ambari-repo:/var/repo/ambari
+
+  bigtop_hostname3:
+    command: /sbin/init
+    domainname: bigtop.apache.org
+    image: bigtop/puppet:trunk-rockylinux-8
+    mem_limit: 8g
+    mem_swappiness: 0
+    privileged: true
+    volumes:
+      - ./ambari-repo:/var/repo/ambari
+```
+
+This configuration creates four containers:
+- `bigtop_hostname0`: Ambari Server node with port 8080 exposed
+- `bigtop_hostname1`, `bigtop_hostname2`, `bigtop_hostname3`: Ambari Agent nodes
+
+Each container uses the `bigtop/puppet:trunk-rockylinux-8` image, which is pre-configured with many of the dependencies needed for Ambari and Hadoop services.
+
+## 2. Create a Directory for Ambari Repository
+
+Create a directory to store Ambari RPMs that will be shared with all containers:
+
+```bash
+mkdir -p ambari-repo
+```
+
+If you have Ambari RPMs, place them in this directory. Otherwise, you'll configure the containers to use online repositories later.
+
+## 3. Create a Hosts File
+
+The containers need to be able to communicate with each other using hostnames. Create a hosts file that will be mounted in each container:
+
+```bash
+mkdir -p conf
+cat > conf/hosts << EOF
+127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
+::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
+
+# Container hostnames
+172.20.0.2  bigtop_hostname0
+172.20.0.3  bigtop_hostname1
+172.20.0.4  bigtop_hostname2
+172.20.0.5  bigtop_hostname3
+EOF
+```
+
+Now update your docker-compose.yml to mount this hosts file:
+
+```yaml
+version: '3'
+
+services:
+  bigtop_hostname0:
+    command: /sbin/init
+    domainname: bigtop.apache.org
+    image: bigtop/puppet:trunk-rockylinux-8
+    mem_limit: 8g
+    mem_swappiness: 0
+    ports:
+      - "8080:8080"
+    privileged: true
+    volumes:
+      - ./ambari-repo:/var/repo/ambari
+      - ./conf/hosts:/etc/hosts
+
+  bigtop_hostname1:
+    command: /sbin/init
+    domainname: bigtop.apache.org
+    image: bigtop/puppet:trunk-rockylinux-8
+    mem_limit: 8g
+    mem_swappiness: 0
+    privileged: true
+    volumes:
+      - ./ambari-repo:/var/repo/ambari
+      - ./conf/hosts:/etc/hosts
+
+  bigtop_hostname2:
+    command: /sbin/init
+    domainname: bigtop.apache.org
+    image: bigtop/puppet:trunk-rockylinux-8
+    mem_limit: 8g
+    mem_swappiness: 0
+    privileged: true
+    volumes:
+      - ./ambari-repo:/var/repo/ambari
+      - ./conf/hosts:/etc/hosts
+
+  bigtop_hostname3:
+    command: /sbin/init
+    domainname: bigtop.apache.org
+    image: bigtop/puppet:trunk-rockylinux-8
+    mem_limit: 8g
+    mem_swappiness: 0
+    privileged: true
+    volumes:
+      - ./ambari-repo:/var/repo/ambari
+      - ./conf/hosts:/etc/hosts
+```
+
+## 4. Understanding the BigTop Image
+
+The `bigtop/puppet:trunk-rockylinux-8` image is part of the Apache BigTop project, which provides a framework for building and testing Hadoop-related projects. This image includes:
+
+- Rocky Linux 8 as the base OS
+- Pre-installed Java and development tools
+- Puppet for configuration management
+- System configurations optimized for Hadoop ecosystem services
+
+Using this image simplifies the setup process as many of the dependencies required for Ambari are already installed or configured.
+
+## 5. Start the Docker Environment
+
+Launch the Docker containers:
+
+```bash
+docker-compose up -d
+```
+
+This command starts the containers in detached mode. You should see output indicating that the containers are being created.
+
+## 6. Verify the Environment
+
+Ensure all containers are running and properly configured:
+
+```bash
+# Check container status
+docker ps
+
+# Test network connectivity between containers
+docker exec -it bigtop_hostname0 ping -c 2 bigtop_hostname1
+docker exec -it bigtop_hostname0 ping -c 2 bigtop_hostname2
+docker exec -it bigtop_hostname0 ping -c 2 bigtop_hostname3
+```
+
+## 7. Configure SSH Access Between Containers
+
+SSH setup is required for Ambari to function properly. Execute these commands:
+
+First, on the bigtop_hostname0 container:
+
+```bash
+docker exec -it bigtop_hostname0 bash
+
+# Generate SSH key
+ssh-keygen -t rsa -N "" -f ~/.ssh/id_rsa
+
+# Start SSH service
+systemctl enable sshd
+systemctl start sshd
+
+# Exit the container
+exit
+```
+
+Now set up SSH on the agent containers and copy the server's key:
+
+```bash
+# For bigtop_hostname1
+docker exec -it bigtop_hostname1 bash
+ssh-keygen -t rsa -N "" -f ~/.ssh/id_rsa
+systemctl enable sshd
+systemctl start sshd
+exit
+
+# For bigtop_hostname2
+docker exec -it bigtop_hostname2 bash
+ssh-keygen -t rsa -N "" -f ~/.ssh/id_rsa
+systemctl enable sshd
+systemctl start sshd
+exit
+
+# For bigtop_hostname3
+docker exec -it bigtop_hostname3 bash
+ssh-keygen -t rsa -N "" -f ~/.ssh/id_rsa
+systemctl enable sshd
+systemctl start sshd
+exit
+
+# Copy SSH key from server to agents
+docker exec -it bigtop_hostname0 bash
+cat ~/.ssh/id_rsa.pub | docker exec -i bigtop_hostname1 bash -c 'cat >> ~/.ssh/authorized_keys'
+cat ~/.ssh/id_rsa.pub | docker exec -i bigtop_hostname2 bash -c 'cat >> ~/.ssh/authorized_keys'
+cat ~/.ssh/id_rsa.pub | docker exec -i bigtop_hostname3 bash -c 'cat >> ~/.ssh/authorized_keys'
+
+# Test SSH connections
+ssh -o StrictHostKeyChecking=no bigtop_hostname1 echo "Connection successful"
+ssh -o StrictHostKeyChecking=no bigtop_hostname2 echo "Connection successful"
+ssh -o StrictHostKeyChecking=no bigtop_hostname3 echo "Connection successful"
+exit
+```
+
+## 8. Disable Security Features
+
+For development environments, disable SELinux and firewall on all containers:
+
+```bash
+# For each container (bigtop_hostname0, bigtop_hostname1, bigtop_hostname2, bigtop_hostname3)
+docker exec -it bigtop_hostname0 bash
+setenforce 0
+sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
+exit
+```
+
+## 9. Install Required Packages on All Containers
+
+Execute these commands on each container (bigtop_hostname0, bigtop_hostname1, bigtop_hostname2, bigtop_hostname3):
+
+```bash
+# Example for bigtop_hostname0 container
+docker exec -it bigtop_hostname0 bash
+
+# Install basic utilities
+dnf install -y sudo openssh-server openssh-clients which iproute net-tools less vim-enhanced
+
+# Install development tools
+dnf install -y initscripts wget curl tar unzip git
+
+# Enable PowerTools repository (needed for some dependencies)
+dnf install -y dnf-plugins-core
+dnf config-manager --set-enabled powertools
+
+# Update the system
+dnf update -y
+
+# Exit the container
+exit
+```
+
+Repeat for bigtop_hostname1, bigtop_hostname2, and bigtop_hostname3 containers.
+
+## 10. Enable Development Repository
+
+The Rocky Linux development repository needs to be enabled on each container to install dependencies required for Ambari:
+
+```bash
+# For each container (bigtop_hostname0, bigtop_hostname1, bigtop_hostname2, bigtop_hostname3)
+docker exec -it bigtop_hostname0 bash
+
+# Edit the Rocky-Devel repository configuration
+vi /etc/yum.repos.d/Rocky-Devel.repo
+
+# There are two possible scenarios:
+# 1. If all lines are commented (start with #), uncomment all lines
+# 2. If you see "enabled=0", change it to "enabled=1"
+
+# After editing, verify the repository is enabled
+dnf repolist | grep devel
+exit
+```
+
+## Troubleshooting
+
+If you encounter issues with the Docker environment:
+
+### Container Connectivity Issues
+
+```bash
+# Check if all containers are running
+docker ps -a
+
+# Check network configuration
+docker network inspect bridge
+
+# Restart a specific container
+docker restart bigtop_hostname0
+```
+
+### SSH Issues
+
+```bash
+# Check SSH service status
+docker exec -it bigtop_hostname0 systemctl status sshd
+
+# Verify SSH key permissions
+docker exec -it bigtop_hostname0 ls -la ~/.ssh/
+
+# Check SSH configuration
+docker exec -it bigtop_hostname0 cat /etc/ssh/sshd_config | grep PasswordAuthentication
+docker exec -it bigtop_hostname0 cat /etc/ssh/sshd_config | grep PermitRootLogin
+```
+
+### Resource Issues
+
+If containers are terminating unexpectedly, you might need to allocate more resources to Docker:
+
+```bash
+# Check container logs
+docker logs bigtop_hostname0
+
+# Check resource usage
+docker stats
+```
+
+### BigTop Image Specific Issues
+
+If you encounter issues with the BigTop image:
+
+```bash
+# Check if Java is installed correctly
+docker exec -it bigtop_hostname0 java -version
+
+# Verify puppet is available
+docker exec -it bigtop_hostname0 puppet --version
+
+# Check for any BigTop-specific logs
+docker exec -it bigtop_hostname0 ls -la /var/log/
+```
+
+## Next Steps
+
+Now that your Docker environment is set up, proceed to the [Installation Guide](../installation-guide.md) to install and configure Ambari Server and Agents. The installation guide provides standardized instructions that work across all environments (Vagrant, Docker, and bare metal/KVM).
+
+When following the installation guide, remember:
+
+1. All commands should be run as root (which is the default user in the BigTop containers)
+2. Run Ambari Server setup and installation on the `bigtop_hostname0` container
+3. Run Ambari Agent installation on all containers
+4. Access the Ambari Web UI via http://localhost:8080 after installation
+
+The Docker environment provides a lightweight and reproducible way to test and develop with Apache Ambari, while following the same installation and configuration steps as other deployment methods.
diff --git a/docs/quick-start/environment-setup/vagrant-environment-setup.md b/docs/quick-start/environment-setup/vagrant-environment-setup.md
new file mode 100644
index 0000000..e7b8cff
--- /dev/null
+++ b/docs/quick-start/environment-setup/vagrant-environment-setup.md
@@ -0,0 +1,496 @@
+# Vagrant Environment Setup for Apache Ambari
+
+This guide helps you set up a basic multi-node Vagrant environment for Apache Ambari development and testing. The environment consists of one Ambari Server node and two Agent nodes, providing a minimal platform for development and testing.
+
+## Overview
+
+This guide is part of the Quick Start section and covers:
+1. Setting up a basic three-node Vagrant environment
+2. Configuring network and shared storage
+3. Setting up SSH access between nodes
+4. Configuring security settings (firewall, SELinux)
+5. Preparing the environment for Ambari installation
+
+For complete installation instructions, refer to the [Installation Guide](../installation-guide.md).
+
+## System Requirements
+
+- **Minimum Host Machine Resources**:
+  - CPU: 6+ cores (2 cores per VM)
+  - RAM: 24GB+ (8GB per VM)
+  - Storage: 100GB+ free space
+- **Software Requirements**:
+  - VirtualBox 6.1+
+  - Vagrant 2.2+
+  - Operating System: Linux, macOS, or Windows with virtualization support
+
+## Important Notes
+
+1. This configuration provides minimum requirements for basic development and testing
+2. Each VM requires 8GB RAM minimum for basic Hadoop services
+3. The shared folder for RPM repository must exist on the host machine
+4. Port 8080 should be available on the host machine for Ambari Web UI
+5. For production environments, refer to the official sizing guide
+6. Additional resources may be required depending on your specific use case
+
+## Prerequisites
+
+1. Install [VirtualBox](https://www.virtualbox.org/wiki/Downloads)
+2. Install [Vagrant](https://www.vagrantup.com/downloads)
+
+## Environment Architecture
+
+The Vagrant environment creates a minimal distributed setup with the following components:
+
+1. **Ambari Server Node (vm1)**:
+   - Primary controller node
+   - Hosts Ambari Server and Web UI
+   - Manages cluster configuration and operations
+   - IP: 192.168.56.20
+   - Web UI accessible at http://localhost:8080
+
+2. **Agent Nodes (vm2, vm3)**:
+   - Execute and monitor Hadoop services
+   - Report status to Ambari Server
+   - Support service distribution and scaling
+   - IPs: 192.168.56.21-22
+
+3. **Network Layout**:
+   - Private network for inter-node communication
+   - Port 8080 forwarded for Ambari Web UI access
+   - Automated hosts file configuration
+   - Disabled firewall for development ease
+
+4. **Shared Storage**:
+   - RPM repository accessible to all nodes
+   - Consistent package access across cluster
+
+## Setting Up Vagrant Environment
+
+1. Create a new directory for your Vagrant environment:
+```bash
+mkdir ambari-vagrant
+cd ambari-vagrant
+```
+
+2. Create the RPM repository directory:
+```bash
+mkdir -p ./ambari-repo
+```
+
+3. Create a `Vagrantfile`:
+```ruby
+# Vagrantfile for Apache Ambari 3-node development environment
+# This configuration creates a minimal cluster with one server and two agent nodes
+# All manual configuration steps will be performed after VM creation
+
+Vagrant.configure("2") do |config|
+  # VM 1 - Primary Ambari Server Node
+  # This VM will host the Ambari Server and Web UI
+  config.vm.define "vm1" do |vm1|
+    # Use Rocky Linux 8 as the base operating system
+    vm1.vm.box = "generic/rocky8"
+    
+    # Set the hostname to vm1 for proper identification
+    vm1.vm.hostname = "vm1"
+
+    # Port forwarding for Ambari Web UI
+    # This allows accessing the Ambari interface at http://localhost:8080 from your host machine
+    vm1.vm.network "forwarded_port", guest: 8080, host: 8080
+
+    # Private network configuration
+    # Creates a private network for inter-VM communication with a static IP
+    vm1.vm.network "private_network", ip: "192.168.56.20"
+
+    # VirtualBox provider-specific configuration
+    vm1.vm.provider "virtualbox" do |vb|
+      # Disable GUI mode (headless operation)
+      vb.gui = false
+      
+      # Allocate 8GB RAM to this VM (minimum required for Ambari Server)
+      vb.memory = "8192"
+      
+      # Allocate 2 CPU cores to this VM
+      vb.cpus = 2
+    end
+  end
+
+  # VM 2 - First Agent Node
+  # This VM will run Ambari Agent and host Hadoop services
+  config.vm.define "vm2" do |vm2|
+    # Use Rocky Linux 8 as the base operating system
+    vm2.vm.box = "generic/rocky8"
+    
+    # Set the hostname to vm2 for proper identification
+    vm2.vm.hostname = "vm2"
+
+    # Private network configuration
+    # Creates a private network for inter-VM communication with a static IP
+    vm2.vm.network "private_network", ip: "192.168.56.21"
+
+    # VirtualBox provider-specific configuration
+    vm2.vm.provider "virtualbox" do |vb|
+      # Disable GUI mode (headless operation)
+      vb.gui = false
+      
+      # Allocate 8GB RAM to this VM (minimum required for Hadoop services)
+      vb.memory = "8192"
+      
+      # Allocate 2 CPU cores to this VM
+      vb.cpus = 2
+    end
+  end
+
+  # VM 3 - Second Agent Node
+  # This VM will run Ambari Agent and host additional Hadoop services
+  config.vm.define "vm3" do |vm3|
+    # Use Rocky Linux 8 as the base operating system
+    vm3.vm.box = "generic/rocky8"
+    
+    # Set the hostname to vm3 for proper identification
+    vm3.vm.hostname = "vm3"
+
+    # Private network configuration
+    # Creates a private network for inter-VM communication with a static IP
+    vm3.vm.network "private_network", ip: "192.168.56.22"
+
+    # VirtualBox provider-specific configuration
+    vm3.vm.provider "virtualbox" do |vb|
+      # Disable GUI mode (headless operation)
+      vb.gui = false
+      
+      # Allocate 8GB RAM to this VM (minimum required for Hadoop services)
+      vb.memory = "8192"
+      
+      # Allocate 2 CPU cores to this VM
+      vb.cpus = 2
+    end
+  end
+
+  # Shared folder for Ambari RPM repository
+  # This maps ./ambari-repo on the host to /vagrant_data on all VMs
+  # Used for distributing RPM packages to all nodes
+  config.vm.synced_folder "./ambari-repo", "/vagrant_data"
+
+  # Disable VirtualBox Guest Additions auto-update
+  # This prevents potential issues during VM startup
+  config.vbguest.auto_update = false
+  config.vbguest.no_remote = true
+end
+```
+
+4. Install sshpass (required for SSH key distribution):
+```bash
+# For macOS:
+brew install sshpass
+
+# For Linux:
+sudo apt-get install sshpass  # Ubuntu/Debian
+sudo yum install sshpass      # RHEL/CentOS
+```
+
+5. Start the Vagrant environment:
+```bash
+vagrant up
+```
+
+## Manual Configuration Steps
+
+After starting your VMs, you must perform several important configuration steps to ensure proper cluster operation. These manual steps make it easier to understand the configuration process and troubleshoot issues.
+
+### 1. Root User Configuration
+
+By default, `vagrant ssh vm1` logs you in as the `vagrant` user. For Ambari installation and configuration, we'll use the root user for all operations:
+
+1. Switch to the root user on each VM:
+```bash
+# Connect to each VM
+vagrant ssh vm1  # Repeat for vm2, vm3
+
+# Switch to root user
+sudo su -
+```
+
+2. Set a password for the root user:
+```bash
+# While logged in as root
+passwd
+
+# Enter and confirm a new password when prompted
+# Remember this password for future root access
+```
+
+> **Note**: Root access is required for Ambari installation. The Ambari setup process needs to install packages and modify system configurations that require root privileges. All subsequent steps should be performed as the root user.
+
+### 2. SSH Configuration
+
+1. On each VM, modify SSH configuration to allow password authentication and root login:
+```bash
+# Connect to each VM and switch to root
+vagrant ssh vm1  # Repeat for vm2, vm3
+sudo su -
+
+# Edit sshd_config
+vi /etc/ssh/sshd_config
+
+# Make these changes:
+# PasswordAuthentication yes
+# PermitRootLogin yes
+
+# Restart sshd service
+systemctl restart sshd
+```
+
+2. Generate SSH keys on vm1 as root:
+```bash
+# Connect to vm1 and switch to root
+vagrant ssh vm1
+sudo su -
+
+# Generate SSH key if not exists
+if [ ! -f ~/.ssh/id_rsa ]; then
+  ssh-keygen -t rsa -N "" -f ~/.ssh/id_rsa
+fi
+```
+
+3. Set up passwordless SSH from vm1 to all VMs as root:
+```bash
+# On vm1 as root
+# Copy keys to each VM (including vm1 itself)
+ssh-copy-id -o StrictHostKeyChecking=no root@vm1
+ssh-copy-id -o StrictHostKeyChecking=no root@vm2
+ssh-copy-id -o StrictHostKeyChecking=no root@vm3
+```
+
+4. Test SSH connectivity as root:
+```bash
+# Test SSH access between nodes as root
+ssh root@vm2 echo "Connection to vm2 successful"
+ssh root@vm3 echo "Connection to vm3 successful"
+```
+
+### 3. Security Configuration
+
+1. Disable SELinux on each VM as root:
+```bash
+# Connect to each VM and switch to root if not already
+vagrant ssh vm1  # Repeat for vm2, vm3
+sudo su -
+
+# Disable SELinux immediately
+setenforce 0
+
+# Disable SELinux permanently
+sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
+```
+
+2. Ensure firewall is disabled on each VM as root:
+```bash
+# Connect to each VM and switch to root if not already
+vagrant ssh vm1  # Repeat for vm2, vm3
+sudo su -
+
+# Stop firewall
+systemctl stop firewalld
+
+# Disable firewall on boot
+systemctl disable firewalld
+```
+
+### 4. Hosts File Configuration
+
+1. Configure /etc/hosts on each VM as root:
+```bash
+# Connect to each VM and switch to root if not already
+vagrant ssh vm1  # Repeat for vm2, vm3
+sudo su -
+
+# Edit hosts file
+vi /etc/hosts
+
+# Remove or comment out any lines with:
+# 127.0.0.1 vm1
+# 127.0.0.1 vm2
+# 127.0.0.1 vm3
+
+# Add these entries if not present:
+192.168.56.20 vm1
+192.168.56.21 vm2
+192.168.56.22 vm3
+```
+
+### 5. Enable Development Repository
+
+The Rocky Linux development repository needs to be enabled on each VM to install dependencies required for Ambari:
+
+```bash
+# Connect to each VM and switch to root if not already
+vagrant ssh vm1  # Repeat for vm2, vm3
+sudo su -
+
+# Edit the Rocky-Devel repository configuration
+vi /etc/yum.repos.d/Rocky-Devel.repo
+
+# There are two possible scenarios:
+# 1. If all lines are commented (start with #), uncomment all lines
+# 2. If you see "enabled=0", change it to "enabled=1"
+
+# After editing, verify the repository is enabled
+yum repolist | grep devel
+```
+
+> **Note**: Enabling the development repository is critical for installing dependencies required by Ambari. Without this repository, you may encounter package installation failures during Ambari setup.
+
+### 6. Verify Configuration
+
+1. Check SSH connectivity as root:
+```bash
+# Connect to vm1 and switch to root if not already
+vagrant ssh vm1
+sudo su -
+
+# Test SSH connections as root
+ssh root@vm2 echo "Connection to vm2 successful"
+ssh root@vm3 echo "Connection to vm3 successful"
+```
+
+2. Verify security settings as root:
+```bash
+# Connect to vm1 and switch to root if not already
+vagrant ssh vm1
+sudo su -
+
+# Check SELinux status on each VM
+for i in {1..3}; do
+  echo "=== VM$i SELinux Status ==="
+  ssh root@vm$i getenforce  # Should show 'Disabled'
+done
+
+# Check firewall status on each VM
+for i in {1..3}; do
+  echo "=== VM$i Firewall Status ==="
+  ssh root@vm$i systemctl status firewalld  # Should show 'inactive'
+done
+```
+
+3. Verify hosts file configuration as root:
+```bash
+# Connect to vm1 and switch to root if not already
+vagrant ssh vm1
+sudo su -
+
+# Check hosts file on each VM
+for i in {1..3}; do
+  echo "=== VM$i Hosts File ==="
+  ssh root@vm$i cat /etc/hosts
+done
+```
+
+4. Test network connectivity as root:
+```bash
+# Connect to vm1 and switch to root if not already
+vagrant ssh vm1
+sudo su -
+
+# Test ping between all nodes
+for i in {1..3}; do
+  echo "=== Testing from VM$i ==="
+  for j in {1..3}; do
+    [ $i -ne $j ] && ssh root@vm$i ping -c 1 vm$j
+  done
+done
+```
+
+## Troubleshooting
+
+If you encounter issues during the manual configuration:
+
+1. SSH Issues:
+```bash
+# If SSH connection fails, check sshd configuration
+vagrant ssh vm1
+sudo su -
+cat /etc/ssh/sshd_config | grep PasswordAuthentication
+cat /etc/ssh/sshd_config | grep PermitRootLogin
+
+# Restart sshd on problem node
+systemctl restart sshd
+
+# Manually copy SSH keys if needed
+ssh-copy-id -o StrictHostKeyChecking=no root@vm2
+ssh-copy-id -o StrictHostKeyChecking=no root@vm3
+```
+
+2. SELinux/Firewall Issues:
+```bash
+# Connect to vm1 and switch to root
+vagrant ssh vm1
+sudo su -
+
+# Check SELinux status
+ssh root@vm1 getenforce
+
+# Manually disable SELinux
+ssh root@vm1 setenforce 0
+ssh root@vm1 sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
+
+# Check firewall status
+ssh root@vm1 systemctl status firewalld
+
+# Manually disable firewall
+ssh root@vm1 systemctl stop firewalld
+ssh root@vm1 systemctl disable firewalld
+```
+
+3. Hosts File Issues:
+```bash
+# Connect to vm1 and switch to root
+vagrant ssh vm1
+sudo su -
+
+# Check hosts file content
+ssh root@vm1 cat /etc/hosts
+
+# Manually fix hosts file
+ssh root@vm1 sed -i '/127.0.0.1.*vm[123]/d' /etc/hosts
+ssh root@vm1 "echo '192.168.56.20 vm1' >> /etc/hosts"
+ssh root@vm1 "echo '192.168.56.21 vm2' >> /etc/hosts"
+ssh root@vm1 "echo '192.168.56.22 vm3' >> /etc/hosts"
+```
+
+4. Resource Issues:
+   - If VMs are slow or unresponsive, check host resource usage
+   - Ensure each VM has at least 8GB RAM allocated
+   - Verify at least 2 CPU cores per VM
+   - Check available disk space on host
+
+5. Network Connectivity:
+   - Test inter-VM communication with ping
+   - Verify VirtualBox network settings
+   - Check for IP conflicts
+   - Ensure port 8080 is available on host
+
+## Next Steps
+
+After setting up your Vagrant environment:
+
+1. Verify all VMs are running:
+```bash
+vagrant status
+```
+
+2. Test SSH access to each VM:
+```bash
+vagrant ssh vm1  # Similarly for vm2, vm3
+```
+
+3. Proceed to the [Installation Guide](../installation-guide.md) to install and configure Ambari Server and Agents.
+
+## Common Vagrant Commands
+
+- `vagrant up`: Start the VMs
+- `vagrant halt`: Stop the VMs
+- `vagrant destroy`: Remove the VMs
+- `vagrant status`: Check VMs status
+- `vagrant reload`: Restart VMs with new Vagrantfile configuration
+- `vagrant ssh vm1`: Connect to VM1 (similarly for vm2, vm3)
diff --git a/docs/quick-start/installation-guide.md b/docs/quick-start/installation-guide.md
new file mode 100644
index 0000000..db52d1d
--- /dev/null
+++ b/docs/quick-start/installation-guide.md
@@ -0,0 +1,219 @@
+# Ambari Installation Guide
+
+This guide covers the installation and setup of Apache Ambari on bare metal, KVM, Docker, or Vagrant environments.
+
+## Prerequisites
+
+Ensure you have a working environment (bare metal, KVM, Docker, or [Vagrant setup](./environment-setup/vagrant-environment-setup.md)) before proceeding.
+
+## 1. Setting up Ambari Repository
+
+Create a local Ambari RPM repository:
+```bash
+createrepo -o /path /path
+
+# Create repository configuration
+cat > /etc/yum.repos.d/ambari_repo.repo << EOF
+[ambari_repo]
+baseurl = file:///vagrant_data/
+gpgcheck = 0
+name = ambari_repository
+EOF
+```
+
+## 2. Install Dependencies and Ambari Agent
+
+Install the following packages on all hosts:
+```bash
+# Install required dependencies
+yum install -y python3-distro
+yum install -y java-17-openjdk-devel
+yum install -y java-1.8.0-openjdk-devel
+yum install -y ambari-agent
+```
+
+## 3. Install Ambari Server
+
+On the designated Ambari server machine:
+```bash
+yum install -y python3-psycopg2
+yum install -y ambari-server
+```
+
+## 4. Database Setup
+
+Choose either MySQL or PostgreSQL for your database backend.
+
+### 4.1 MySQL Setup
+
+1. Remove existing MySQL packages:
+```bash
+rpm -qa | grep mysql
+rpm -ev <package-name> --nodeps
+```
+
+2. Set up MySQL 8.0 repository:
+```bash
+yum -y install https://dev.mysql.com/get/mysql80-community-release-el8-1.noarch.rpm
+```
+
+3. Install and start MySQL:
+```bash
+yum -y install mysql-server
+systemctl start mysqld.service
+systemctl enable mysqld.service
+```
+
+4. Configure MySQL users and databases:
+```sql
+-- Create Ambari user and grant privileges
+CREATE USER 'ambari'@'localhost' IDENTIFIED BY 'ambari';
+GRANT ALL PRIVILEGES ON *.* TO 'ambari'@'localhost';
+CREATE USER 'ambari'@'%' IDENTIFIED BY 'ambari';
+GRANT ALL PRIVILEGES ON *.* TO 'ambari'@'%';
+
+-- Create required databases
+CREATE DATABASE ambari CHARACTER SET utf8 COLLATE utf8_general_ci;
+CREATE DATABASE hive;
+CREATE DATABASE ranger;
+CREATE DATABASE rangerkms;
+
+-- Create service users
+CREATE USER 'hive'@'%' IDENTIFIED BY 'hive';
+GRANT ALL PRIVILEGES ON hive.* TO 'hive'@'%';
+
+CREATE USER 'ranger'@'%' IDENTIFIED BY 'ranger';
+GRANT ALL PRIVILEGES ON *.* TO 'ranger'@'%' WITH GRANT OPTION;
+
+CREATE USER 'rangerkms'@'%' IDENTIFIED BY 'rangerkms';
+GRANT ALL PRIVILEGES ON rangerkms.* TO 'rangerkms'@'%';
+
+FLUSH PRIVILEGES;
+```
+
+5. Import Ambari schema:
+```bash
+mysql -uambari -pambari ambari < /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql
+```
+
+### 4.2 PostgreSQL Setup
+
+1. Install and initialize PostgreSQL:
+```bash
+yum install -y postgresql
+/usr/bin/postgresql-setup --initdb
+```
+
+2. Configure PostgreSQL:
+```bash
+# Edit postgresql.conf
+sed -i "s/#listen_addresses = 'localhost'/listen_addresses = '*'/" /var/lib/pgsql/data/postgresql.conf
+
+# Add client authentication rules to pg_hba.conf
+cat >> /var/lib/pgsql/data/pg_hba.conf << EOF
+host ambari ambari 0.0.0.0/0 md5
+host hive hive 0.0.0.0/0 md5
+host ranger ranger 0.0.0.0/0 md5
+host rangerkms rangerkms 0.0.0.0/0 md5
+EOF
+```
+
+3. Create users and databases:
+```sql
+-- As postgres user
+CREATE ROLE "ambari" LOGIN PASSWORD 'admin' NOINHERIT;
+CREATE DATABASE ambari;
+GRANT ALL PRIVILEGES ON DATABASE ambari TO ambari;
+```
+
+4. Import schema:
+```bash
+PGPASSWORD='admin' psql -h localhost -p 5432 -U ambari -d ambari \
+  -f /var/lib/ambari-server/resources/Ambari-DDL-Postgres-CREATE.sql
+```
+
+## 5. Configure Ambari Server
+
+### For PostgreSQL:
+```bash
+# Setup JDBC driver
+ambari-server setup --jdbc-db=postgres --jdbc-driver=/usr/share/java/postgresql-42.7.3.jar
+
+# Configure Ambari server
+ambari-server setup -s \
+  -j /usr/lib/jvm/java-1.8.0-openjdk \
+  --ambari-java-home /usr/lib/jvm/java-17-openjdk \
+  --database=postgres \
+  --databasehost=localhost \
+  --databaseport=5432 \
+  --databasename=ambari \
+  --databaseusername=ambari \
+  --databasepassword=admin
+```
+
+### For MySQL:
+```bash
+# Download MySQL JDBC driver
+wget https://repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.28/mysql-connector-java-8.0.28.jar \
+  -O /usr/share/java/mysql-connector-java.jar
+
+# Setup JDBC driver
+ambari-server setup --jdbc-db=mysql --jdbc-driver=/usr/share/java/mysql-connector-java.jar
+
+# Configure MySQL 8 compatibility
+echo "server.jdbc.url=jdbc:mysql://localhost:3306/ambari?useSSL=true&verifyServerCertificate=false&enabledTLSProtocols=TLSv1.2" \
+  >> /etc/ambari-server/conf/ambari.properties
+
+# Configure Ambari server
+ambari-server setup -s \
+  -j /usr/lib/jvm/java-1.8.0-openjdk \
+  --ambari-java-home /usr/lib/jvm/java-17-openjdk \
+  --database=mysql \
+  --databasehost=localhost \
+  --databaseport=3306 \
+  --databasename=ambari \
+  --databaseusername=ambari \
+  --databasepassword=ambari
+```
+
+## 6. Start Services
+
+1. Start Ambari Server:
+```bash
+ambari-server start
+```
+
+2. Configure and start Ambari Agents on all hosts:
+```bash
+# Edit ambari-agent configuration
+sed -i "s/hostname=.*/hostname=your_ambari_server_hostname/" /etc/ambari-agent/conf/ambari-agent.ini
+
+# Start agent
+ambari-agent start
+```
+
+## 7. Access Ambari Web Interface
+
+Once all services are started, access the Ambari Web Interface at:
+```
+http://your_ambari_server_hostname:8080
+```
+Default credentials:
+- Username: admin
+- Password: admin
+
+## Troubleshooting
+
+1. If you encounter firewall issues, disable it (for development environments only):
+```bash
+systemctl stop firewalld
+systemctl disable firewalld
+```
+
+2. Ensure proper hostname resolution by configuring `/etc/hosts` on all nodes.
+
+3. For MySQL 8 connection issues, verify the JDBC URL includes the correct SSL parameters in `ambari.properties`.
+
+4. Check service logs:
+- Ambari Server: `/var/log/ambari-server/ambari-server.log`
+- Ambari Agent: `/var/log/ambari-agent/ambari-agent.log`
diff --git a/docs/quick-start/quick-start-for-new-vm-users.md b/docs/quick-start/quick-start-for-new-vm-users.md
deleted file mode 100644
index 6b7469c..0000000
--- a/docs/quick-start/quick-start-for-new-vm-users.md
+++ /dev/null
@@ -1,410 +0,0 @@
----
-sidebar_position: 2
----
-
-# Quick Start for New VM Users
-
-This Quick Start guide is for readers who are new to the use of virtual machines, Apache Ambari, and/or the Apache Hadoop component stack, who would like to install and use a small local Hadoop cluster. The instructions are for a local host machine running OS X.
-
-The following instructions cover four main steps for installing Ambari and HDP using VirtualBox and Vagrant:
-
-1. Install VirtualBox and Vagrant.
-
-2. Install and start one or more Linux virtual machines. Each machine represents a node in a cluster.
-
-3. On one of the virtual machines, download, install, and deploy the version of Ambari you wish to use.
-
-4. Using Ambari, deploy the version of HDP you wish to use.
-
-When you complete the example in this Quick Start, you should have a three-node cluster of virtual machines running Ambari 2.4.1.0 and HDP 2.5.0 (unless you specify different repository versions).
-
-Once VirtualBox and Vagrant are installed, steps 2 through 4 can be done multiple times to change versions, create a larger cluster, and so on. There is no need to repeat step 1 unless you want to upgrade VirtualBox and/or Vagrant later.
-
-Note: these steps were most recently tested on MacOS 10.11.6, El Capitan.
-
-
-## Terminology
-
-A _virtual machine_, or _VM_, is a software program that exhibits the behavior of a separate computer and is capable of running applications and programs within its own environment.
-
-A virtual machine is often called a _guest_, because it runs within another computing environment--usually known as the _host_. For example, if you install three Linux VMs on a Mac, the Mac is the host machine; the three Linux VMs are guests.
-
-Multiple virtual machines can exist within a single host at one time. In the following examples, one or more virtual machines run on a _host_ machine running OS X. OS X is the primary operating system. The virtual machines (guests) are installed under OS X. The virtual machines run Linux in separate environments on OS X. Thus, your Mac is the "host" machine, and the virtual machines that run Ambari and Hadoop are called "guest" machines.
-
-## Prerequisites
-
-You will need the following resources for this Quick Start:
-
-* A solid internet connection, preferably with at least 5 MB available download bandwidth.
-
-* If you are installing the VMs on a Mac, at least 16 GB of memory (assuming 3 GB per VM)
-
-## Install VirtualBox and Vagrant
-
-VirtualBox is a software virtualization package that installs on an operating system as an application. It allows you to run multiple virtual machines at the same time. In this Quick Start you will use VirtualBox to run Linux nodes within VirtualBox on OS X:
-
-![](/img/guides/virtual_box_env.png "Apache Ambari > Quick Start for New VM Users > Screen Shot 2016-09-24 at 9.18.09 AM.png")
-
-Vagrant is a tool that makes it easier to work with virtual machines. It helps automate the work of setting up, running, and removingvirtual machine environments. Using Vagrant, you can install and run a preconfigured cluster environment with Ambari and the HDP stack.
-
-1. Download and install VirtualBox from [https://www.virtualbox.org/wiki/Downloads](https://www.virtualbox.org/wiki/Downloads). This Quick Start has been tested on version 5.1.6.
-
-2. Download and install Vagrant from [https://www.vagrantup.com/downloads.html](https://www.vagrantup.com/downloads.html) [.<br></br>](http://downloads.vagrantup.com)
-3. Clone the `ambari-vagrant` GitHub repository into a convenient folder on your Mac. Navigate to the folder, and enter the following command from the terminal:
-
-```bash
-git clone https://github.com/u39kun/ambari-vagrant.git
-```
-
-The repository contains scripts for setting up Ambari virtual machines on several Linux distributions.
-
-4. Add virtual machine hostnames and addresses to the `/etc/hosts` file on your computer. The following command copies a set of host names and addresses from `ambari-vagrant/append-to-etc-hosts.txt` to the end of the `/etc/hosts` files:
-
-```bash
-sudo -s 'cat ambari-vagrant/append-to-etc-hosts.txt >> /etc/hosts'
-```
-5. Use the `vagrant` command to create a private key to use with Ambari:
-
-```bash
-vagrant
-```
-
-The `vagrant` command displays Vagrant command information, and then it creates a private key in the file `~/.vagrant.d/insecure_private_key`.
-
-## Start Linux Virtual Machines
-
-The `ambari-vagrant` directory (cloned from GitHub) contains several subdirectories, each for a specific Linux distribution. Each subdirectory has scripts and configuration files for running Ambari and HDP on that version of Linux.
-
-To start one or more virtual machines:
-
-1. Change your current directory to `ambari-vagrant`:
-
-```bash
-cd ambari-vagrant
-```
-
-If you run an `ls` command on the `ambari-vagrant` directory, you will see subdirectories for several different operating systems and operating system versions.
-
-2. `cd` into the OS subdirectory for the OS you wish to use. CentOS is recommended, because it is quicker to launch than other operating systems.
-
-The remainder of this example uses CentOS 7.0. (To install and use a different version or distribution of Linux, specify the other directory name in place of `centos7.0`.)
-
-```bash
-cd centos7.0
-```
-
-**Important**: All VM `vagrant` commands operate within your current directory. Be sure to run them from the local (Mac) subdirectory associated with the VM operating system that you have chosen to use. If you attempt to run a `vagrant` command from another directory, it will not find the VM.
-
-Copy the private key into the directory associated with the chosen operating system.
-
-For this example, which uses `centos7.0`, issue the following command:
-
-```bash
-cp ~/.vagrant.d/insecure_private_key .
-```
-3. (Optional) If you have at least 16 GB of memory on your Mac, consider increasing the amount of memory allocated to the VMs.
-
-Edit the following line in `Vagrantfile` , increasing allocated memory from 3072 to 4096 or more; for example:
-
-```bash
-vb.customize ["modifyvm", :id, "--memory", 4096] # RAM allocated to each VM
-```
-4. Every virtual machine will have a directory called `/vagrant` inside the VM. This corresponds to the `ambari-vagrant/<os></os>` directory on your local computer, making it easy to transfer files back and forth between your host Mac and the virtual machine. If you have any files to access from within the VM, you can place them in this shared directory.
-
-5. Start one or more VMs, using the `./up.sh` command. Each VM will run one HDP node.Recommendation: if you have at least 16GB of RAM on your Mac and wish to run a small cluster, start with three nodes.
-
-```bash
-./up.sh
-```
-
-For example, the following command starts 3 VMs:<br></br> `./up.sh 3`
-
-On an early 2013 MacBook Pro, 2.7 GHz core i7 and 16 GB RAM, this step takes five minutes. For CentOS 7.0, the hostnames are `c7001`, `c7002`, and `c7003`.
-
-Additional notes:
-- If you ran the VMs before and used `vagrant destroy` to remove the VM's, this is the step at which you would recreate and start the VMs.
-
-- The default `Vagrantfile` (in each OS subdirectory) can create up to 10 virtual machines.
-
-- The `up.sh 3` command is equivalent to `vagrant up c700{1..3}`.
-
-- The fully-qualified domain name (FQDN) for each VM has the format `<os-code>[01-10].ambari.apache.org</os-code>`, where `<os-code></os-code>` is `c59` (CentOS 5.9), `c64` (CentOS 6.4), etc. For example, `c5901.ambari.apache.org` will be the FQDN for node 01 running CentOS 5.9.
-
-- The IP address for each VM has the format `192.168.<os-subnet>.1[01-10]</os-subnet>`, where `<os-subnet></os-subnet>` is `64` for CentOS 6.4, `70` for CentOS 7.0, and so on. For example, `192.168.70.101` will be the IP address for CentOS 7.0 node `c7001`.
-
-6. Check the status of your VM(s), and review any errors. The following example shows the results of `./upsh 3` for three VMs running with CentOS 7.0:
-
-```
-LMBP:centos7.0 lkg$ vagrant status
-
-Current machine states:
-c7001                     running (virtualbox)
-c7002                     running (virtualbox)
-c7003                     running (virtualbox)
-c7004                     not created (virtualbox)
-c7005                     not created (virtualbox)
-c7006                     not created (virtualbox)
-c7007                     not created (virtualbox)
-c7008                     not created (virtualbox)
-c7009                     not created (virtualbox)
-c7010                     not created (virtualbox)
-```
-
-In the preceding list, three virtual machines are installed and running.
-
-7. At this point, you can snapshot the VMs to have a fresh set of running machines to reuse if desired. This is especially helpful when installing Apache Ambari and the HDP stack for the first time; it allows you to back out to fresh VMs and reinstall Ambari and HDP if you encounter errors. For more information about snapshots, see the `vagrant snapshot` command in "Basic Vagrant Commands," later in this Quick Start.
-
-## Access Virtual Machines
-
-Use the following steps when you want to access a running virtual machine:
-
-1. To log on to a virtual machine, use the `vagrant ssh` command on your host machine, and specify the hostname; for example:
-
-```
-LMBP:centos7.0 lkg$ vagrant ssh c7001
-
-Last login: Tue Jan 12 11:20:28 2016
-[vagrant@c7001 ~]$
-```
-
-From this point onward, this terminal window is connected to the virtual machine until yo u exit the virtual machine. All commands go to the VM, not to your Mac.
-
-_**Recommendation**_: Open a second terminal window for your Mac. This is useful when accessing the Ambari Web UI. To distinguish between the two, terminal windows typically list the computer name or VM hostname on each command-line prompt and at the top of the terminal window.
-
-2. When you first access the VM you will be logged in as user `vagrant`. Switch to the `root` user; be sure to include the space between "su" and "-":
-
-```
-[vagrant@c7001 ~]$ sudo su -
-
-Last login: Sun Sep 25 01:34:28 AEST 2016 on pts/0
-root@c7001:~#
-```
-
-If at any time you wish to return the terminal window to your host machine:
-
-1.
-
-  1. Use the `logout` command to log out of root
-  2. Use the `exit` command to return to your host machine (Mac)
-
-At this point, the VMs are still running in the background. You can re-issue the `vagrant ssh` command later, to reconnect, or you can stop the virtual machines. For more information, see the `vagrant snapshot` command in "Basic Vagrant Commands," later in this Quick Start.
-
-## Install Ambari on the Virtual Machines
-
-**Prerequisites**: Before installing Ambari, the following software packages must be installed on your VM:
-
-* rpm
-* curl
-* wget
-* pdsh
-
-On CentOS: to check if a package is installed, run `yum info <package-name></package-name>`. To install a package, run `yum install <package-name></package-name>`.
-
-To install Ambari, you can build it yourself from source (see [Ambari Development](../ambari-dev/index.md)), or you can use published binaries.
-
-As this is a Quick Start Guide to get you going quickly, ready-made publicly-available binaries are referenced. Note that these binaries were built and publicly made available via Hortonworks, a commercial vendor for Hadoop. This is for your convenience. Note that using the binaries shown here would make HDP, Hortonworks' distribution, available to be installed via Apache Ambari. The instructions here should still work (only the repo URLs need to be changed) if you have Ambari binaries f [...]
-
-From the terminal window o n the VM where you want to run the main Ambari service, download the Ambari repository. The following comman ds download Ambari version 2.5.1.0 and install `ambari-server`. To install a different version of Ambari, specify the appropriate repo URL. Choose the appropriate commands for the operating system on your VMs:
-
-```bash
-# CentOS 6 (for CentOS 7, replace centos6 with centos7 in the repo URL)
-# 
-# to test public release 2.5.1
-wget -O /etc/yum.repos.d/ambari.repo http://public-repo-1.hortonworks.com/ambari/centos6/2.x/updates/2.5.1.0/ambari.repo
-yum install ambari-server -y
-
-# Ubuntu 14 (for Ubuntu 16, replace ubuntu14 with ubuntu16 in the repo URL)
-# to test public release 2.5.1
-wget -O /etc/apt/sources.list.d/ambari.list http://public-repo-1.hortonworks.com/ambari/ubuntu14/2.x/updates/2.5.1.0/ambari.list
-apt-key adv --recv-keys --keyserver keyserver.ubuntu.com B9733A7A07513CAD
-apt-get update
-apt-get install ambari-server -y
-
-# SUSE 11 (for SUSE 12, replace suse11 with suse12 in the repo URL)
-# to test public release 2.5.1
-wget -O /etc/zypp/repos.d/ambari.repo http://public-repo-1.hortonworks.com/ambari/suse11/2.x/updates/2.5.1.0/ambari.repo
-zypper install ambari-server -y
-```
-
-On an early 2013 MacBook Pro, 2.7 GHz core i7 and 16 GB RAM, this step takes seven minutes. Timing also depends on internet download speeds.
-
-To install Ambari with default settings, set up and start `ambari-server`:
-
-```bash
-ambari-server setup -s
-ambari-server start
-```
-
-To check Ambari Server status, issue the following command:<br></br> `ambari-server status`
-
-
-After Ambari Server has started, launch a browser on your host machine (Mac). Access the Ambari Web UI at ` http://<hostname>.<a href="http://ambari.apache.org">ambari.apache.org</a>:8080</hostname>`. The `<hostname></hostname>` part of the URL specifies the VM where you installed Ambari;for example:
-
-```
-http://c7001.ambari.apache.org:8080
-```
-
-**Note**: The Ambari Server can take some time to launch and be ready to accept connections. Keep trying the URL until you see the login page.
-
-
-At this point, you can snapshot the VMs to have a cluster with Ambari installed, to rerun later if desired. This is especially helpful when installing Apache Ambari and the HDP stack for the first time; it allows you to back out to fresh VMs running Ambari, and reinstall a fresh HDP stack if you encounter errors. For more information about snapshots, see the `vagrant snapshot` command in "Basic Vagrant Commands," later in this Quick Start.
-
-## Install the HDP Stack
-
-The following instructions describe basic steps for using Ambari to install HDP components.
-
-1. On the Ambari screen, login using default username `admin`, password `admin`.
-
-2. On the welcome page, choose "Launch Install Wizard."
-3. Specify a name for your cluster, and then click Next.
-
-4. On the Select Version page, choose which version of HDP to install, and then click Next.
-
-5. On the Install Options page, complete the following steps:
-  1. List the FQDNs of the virtual machines. For example:
-
-```
-c7001.ambari.apache.org
-c7002.ambari.apache.org
-c7003.ambari.apache.org
-```
-
-Alternatively, you can use a range expression:
-
-```
-c70[01-03].ambari.apache.org
-```
-  2. Upload the `insecure_private_key` file that you created earlier: browse to the `ambari-vagrant` directory, navigate to the operating system folder for your VM's, and choose the key file.
-
-  3. Change the SSH User Account to `vagrant`.
-
-  4. Click "Register and Confirm."
-
-6. On the Confirm Hosts page, Ambari displays installation status.
-
-If you see a yellow banner with the following message, click on the link to review warnings:![](/img/guides/confirm_hosts.png "Apache Ambari > Quick Start for New VM Users > Screen Shot 2016-09-24 at 11.31.36 AM.png")
-
-See the Troubleshooting section (later on this page) for more information.
-
-7. When all host checks pass, close the warning window:
-
-![](/img/guides/host_checked.png "Apache Ambari > Quick Start for New VM Users > Screen Shot 2016-09-24 at 11.45.20 AM.png")
-
-8. Click Next to continue:
-9. On the Choose Services page, uncheck any components that you do not expect to use. If any are required for selected components, Ambari will request to add them back in.
-
-10. On the Assign Masters screen, choose hosts or simply click Next to use default values.
-
-11. On the Assign Slaves and Clients screen, choose hosts or simply click Next to use default values.
-
-12. On the Customize Services screen
-  1. Review services with warning notes, such as Hive and Ambari Metrics in the following image:
-![](/img/guides/custom_services.png "Apache Ambari > Quick Start for New VM Users > Screen Shot 2016-09-24 at 11.53.17 AM.png")
-  2. Specify missing property values (such as admin passwords) as directed by the installation wizard. When all configurations have been addressed, click Next.
-
-13. On the Review screen, review the service definitions, and then click Next.
-
-14. The Install, Start and Test page shows deployment status. This step takes a while; on an early 2013 MacBook Pro, 2.7 GHz core i7 and 16 GB RAM, this step takes 45 minutes.
-
-15. When the cluster installs successfully, you can snapshot the VMs to have a fresh cluster with Ambari and HDP installed, to rerun later if desired. This allows you to experiment with the cluster and quickly restore back to a previous state if you wish. For more information about snapshots, see the `vagrant snapshot` command in "Basic Vagrant Commands," later in this Quick Start.
-
-## Troubleshooting
-
-This subsection describes a few error conditions that might occur during Ambari installation and HDP cluster deployment:
-
-### Confirm Hosts
-
-If you see an error similar to the following on the Confirm Hosts page of the Ambari installation wizard, click the link to see the warnings:
-'Some warnings were encountered while performing checks against the 3 registered hosts above. Click here to see the warnings."
-
-**`ntpd` Error**
-
-On the Host Checks window, the following warning indicates that you need to start `ntpd` on each host:
-
-![](/img/guides/services_issues.png "Apache Ambari > Quick Start for New VM Users > Screen Shot 2016-09-24 at 11.32.38 AM.png")
-
-To start the services, for each VM navigate to a terminal window (on your Mac, `vagrant ssh <vm-name></vm-name>`). Issue the following commands:
-
-`service ntpd start`<br></br> `service ntpd status`
-
-You should see messages confirming that `ntpd` is running. Navigate back to the Host Checks window of the Ambari installation wizard and click Rerun Checks. When all checks complete successfully, click Close to continue the installation process.
-
-### Install, Start and Test
-
-If the Install, Start and Test step fails with the following error during DataNode deployment:
-
-```
-Error: Package: snappy-devel-1.0.5-1.el6.x86_64 (HDP-UTILS-1.1.0.20) 
-Requires: snappy(x86-64) = 1.0.5-1.el6 
-Installed: snappy-1.1.0-3.el7.x86_64 (@anaconda/7.2)
-```
-
-Run the following commands under the root account on each VM:
-
-```bash
-yum remove -y snappy-1.1.0-3.el7.x86_64
-yum install snappy-devel -y
-```
-
-### Stopping and Restarting Virtual Machines
-
-Hadoop is a complex ecosystem with a lot of status checks and cross-component messages. This can make it challenging to halt and restart several VMs and restore them later without warnings or errors.
-
-**Recommendations**
-
-If you would like to save state for a period of time and you plan to stop using your Mac during that time, if you sleep your Mac the cluster should continue from where it left off after you wake the Mac.
-
-When stopping a set of VMs--if you don't need to save cluster state--it can be helpful to stop all services first, stop ambari-server (`ambari-server stop`), and then issue a Vagrant `halt` or `suspend` command.
-
-When restarting a cluster after halting or taking a snapshot, check Ambari server status and restart it if necessary:
-
-```bash
-ambari-server status   ambari-server start
-```
-
-After logging into the Ambari Web UI, expect to see alert warnings or errors due to timeout conditions. Check the associated messages to determine whether they might affect your use of the virtual cluster. If so, it can be helpful to stop and restart one or more associated components.
-
-# Reference: Basic Vagrant Commands
-
-The following table lists several common Vagrant commands. For more information, see Vagrant [Command-Line Interface](https://www.vagrantup.com/docs/cli/) documentation.
-
-**vagrant up**
-
-Create and configure guest machines. Example: `vagrant up c6406`
-
-`up.sh` is a wrapper for this call. You can use this command to start more VMs after you called `up.sh`.
-
-Note: if you do not specify the `<vm-name></vm-name>` parameter, Vagrant will attempt to start ten VMs.
-
-**vagrant suspend []**
-
-Save the current running state of a VM and stop the VM. A suspend effectively saves the _exact point-in-time state_ of a machine. When you issue a `resume` command, the VM begins running immediately from that point, rather than doing a full boot.
-
-When you are ready to begin working with it again, run `vagrant up`. The machine will resume where you left off. The main benefit of `suspend` is that it is very fast; it usually takes only 5 to 10 seconds to stop and start your work. The downside is that the operation uses disk space for the VM and to store all VM state information (in RAM, when running) on disk.
-
-Optional: Specify a specific VM to suspend.
-
-**vagrant halt** `vagrant up` `halt` **vagrant destroy -f [**
-
-Remove all traces of the guest machine from your system. The `destroy` command stops the guest machine, powers it down, and removes all guest hard disks. When you are ready to begin working with it again, run `vagrant up`. The benefit of this all disk space and RAM consumed by the guest machine are reclaimed; your host machine is left clean. The downside is that the `vagrant up` operation will take extra time; rebuilding the environment takes the longest (compared with `suspend` and `hal [...]
-
-Optional: Specify a specific VM to destroy.
-
-**vagrant ssh**
-
-Starts a SSH session to the host.
-
-Example: `vagrant ssh c6401`
-**vagrant status []** **vagrant snapshot**
-
-A Vagrant snapshot saves the current state of a VM so that you can restart the VM from the same point at a future time. Commands include push, pop, save, restore, list, and delete. For more information, see [https://www.vagrantup.com/docs/cli/snapshot.html](https://www.vagrantup.com/docs/cli/snapshot.html).
-
-Note: Upon resuming a snapshot, you may find that time-sensitive services such as the (HBase RegionServer) may be down. If this happens, you will need to restart those services.
-
-**vagrant --help**
-
-**Recommendation**: After you start the VMs--but before you run anything on the VMs–save a snapshot. This allows you to restore the initial state of your VMs. This process is much faster than starting the VMs from scratch and then reinstalling Ambari and HDP. You can return to the initial state without destroying other named snapshots that you create later.
-
-More information: [https://www.vagrantup.com/docs/getting-started/teardown.html](https://www.vagrantup.com/docs/getting-started/teardown.html)
-
-If you have favorite ways of starting and stopping VMs running a Hadoop cluster, please feel free to share them in the Comments section. Thanks!
diff --git a/docs/quick-start/quick-start-guide.md b/docs/quick-start/quick-start-guide.md
index ddab91f..aaa8a60 100644
--- a/docs/quick-start/quick-start-guide.md
+++ b/docs/quick-start/quick-start-guide.md
@@ -4,249 +4,87 @@ sidebar_position: 1
 
 # Quick Start Guide
 
-This document shows how to quickly set up a cluster using Ambari on your local machine using virtual machines.
+This document provides a quick overview of setting up Apache Ambari 3.0.0 in various environments. For detailed environment-specific setup instructions, please refer to the appropriate environment setup guide.
 
-This utilizes [VirtualBox](https://www.virtualbox.org/) and [Vagrant](https://www.vagrantup.com/) so you will need to install both.
+## Environment Setup Options
 
-Note that the steps were tested on MacOS 10.8.4 / 10.8.5.
+Apache Ambari 3.0.0 can be installed in several different environments:
 
-After you have installed VirtualBox and Vagrant on your computer, check out the "ambari-vagrant" repo on github:
+### 1. Vagrant Environment
 
-```bash
-git clone https://github.com/u39kun/ambari-vagrant.git
-```
+The Vagrant environment provides a quick way to set up a development cluster using virtual machines on your local computer. This is ideal for testing and development purposes.
 
-Edit your **/etc/hosts** on your computer so that you will be able to resolve hostnames for the VMs:
+[View Vagrant Environment Setup Guide](environment-setup/vagrant-environment-setup.md)
 
-```bash
-sudo -s 'cat ambari-vagrant/append-to-etc-hosts.txt >> /etc/hosts'
-```
+### 2. Docker Environment
 
-Copy the private key to your home directory (or some place convenient for you) so that it's easily accessible for uploading via Ambari Web:
+The Docker environment offers a lightweight, containerized approach using multiple containers with one server and two agents. This setup uses Rocky Linux 8 as the base image and includes container networking, SSH setup, and security configuration.
 
-```bash
-vagrant
-```
+[View Docker Environment Setup Guide](environment-setup/docker-environment-setup.md)
 
-The above command shows the command usage and also creates a private key as ~/.vagrant.d/insecure_private_key. This key will be used in the following steps.
+### 3. Bare Metal/KVM Setup
 
-First, change directory to ambari-vagrant:
+For production deployments or larger development environments, the Bare Metal/KVM setup covers both physical servers and KVM virtual machines. This guide includes detailed system requirements, network configuration, and both development and production security settings.
 
-```bash
-cd ambari-vagrant
-```
+[View Bare Metal/KVM Setup Guide](environment-setup/bare-metal-kvm-setup.md)
 
-You will see subdirectories for different OS's. "cd" into the OS that you want to test. **centos6.8** is recommended as this is quicker to launch than other OS's.
+## Installation Guide
 
-Now you can start VMs with the following command:
+Once you have set up your environment using one of the methods above, you can proceed with the Ambari installation process:
 
-```bash
-cd centos6.8
-cp ~/.vagrant.d/insecure_private_key .
-./up.sh
-```
+[View Installation Guide](installation-guide.md)
 
-For example, **up.sh 3** starts 3 VMs. 3 seems to be a good number with 16GB of RAM without taxing the system too much.
+## Key Features in Ambari 3.0.0
 
-With the default **Vagrantfile**, you can specify up to 10 (if your computer can handle it; you can even add more).
+Apache Ambari 3.0.0 includes numerous enhancements and improvements across various areas:
 
-VMs will have the FQDN
+### New Service Support
 
-If it is your first time running a vagrant command, run:
+- **Alluxio Integration** (AMBARI-26055) - Full support for Alluxio distributed file system
+- **Ozone File System** (AMBARI-24976) - Integration with Apache Hadoop Ozone object store
+- **OceanBase Support** - Added compatibility with OceanBase database systems
 
-```bash
-vagrant init
-```
+### Monitoring and Visualization
 
-Log into the VM:
+- **Grafana Dashboards** (AMBARI-25960) - Enhanced monitoring capabilities with pre-configured Grafana dashboards
+- **HiveServer2 Web UI Quicklink** (AMBARI-26270) - Direct access to HiveServer2 web interface
+- **Improved Metrics Collection** - Enhanced metrics gathering for better system insights
+- **Timeline Service Enhancements** - Improved performance and reliability of the Timeline Service
 
-```bash
-vagrant ssh c6801
-```
+### Development and Code Quality
 
-```bash
-sudo su -
-```
+- **Java 17 Support** - Full compatibility with OpenJDK 17
+- **Python Modernization** - Code improvements including:
+  - Implementation of f-strings for better readability
+  - Python 3 compatibility throughout the codebase
+  - Ruff integration (AMBARI-26147) for code quality
+- **Spark Performance Improvements** - Optimizations for Spark processing
 
-to make yourself root.
+### Security Enhancements
 
-To install Ambari, you can build it yourself from source (see [Ambari Development](../ambari-dev/index.md)), or you can use published binaries.
+- **Multiple CVE Fixes** - Addressing security vulnerabilities
+- **Dependency Updates** - Security-focused upgrades including:
+  - Commons-collections library
+  - Logback framework
+  - PostgreSQL client
+  - Snakeyaml parser
+- **Kerberos Encryption Fixes** - Improved Kerberos authentication security
+- **LDAP/AD Authentication Improvements** - Enhanced directory service integration
 
-As this is a Quick Start Guide to get you going quickly, ready-made, publicly available binaries are referenced in the steps below.
+### Infrastructure Improvements
 
-Note that these binaries were built and made publicly available via Hortonworks, a commercial vendor for Hadoop. This is for your convenience. Note that using the binaries shown here would make HDP, Hortonworks' distribution, available to be installed via Apache Ambari. The instructions here should still work (only the repo URLs need to be changed) if you have Ambari binaries from any other vendor/organization/individuals (the instructions here can be updated if anyone wanted to expand t [...]
+- **Docker and Containerization Support** - Better support for containerized deployments
+- **Rocky Linux 8 Compatibility** - Added support for Rocky Linux 8 deployments
+- **Enhanced Installation Workflows** - Streamlined installation process across environments
 
-```bash
-# CentOS 6 (for CentOS 7, replace centos6 with centos7 in the repo URL)
-# 
-# to test public release 2.5.1
-wget -O /etc/yum.repos.d/ambari.repo http://public-repo-1.hortonworks.com/ambari/centos6/2.x/updates/2.5.1.0/ambari.repo
-yum install ambari-server -y
+For a complete list of new features, improvements, and fixes, please refer to the [Release Notes](release-notes.md)
 
-# Ubuntu 14 (for Ubuntu 16, replace ubuntu14 with ubuntu16 in the repo URL)
-# to test public release 2.5.1
-wget -O /etc/apt/sources.list.d/ambari.list http://public-repo-1.hortonworks.com/ambari/ubuntu14/2.x/updates/2.5.1.0/ambari.list
-apt-key adv --recv-keys --keyserver keyserver.ubuntu.com B9733A7A07513CAD
-apt-get update
-apt-get install ambari-server -y
+## Getting Help
 
-# SUSE 11 (for SUSE 12, replace suse11 with suse12 in the repo URL)
-# to test public release 2.5.1
-wget -O /etc/zypp/repos.d/ambari.repo http://public-repo-1.hortonworks.com/ambari/suse11/2.x/updates/2.5.1.0/ambari.repo
-zypper install ambari-server -y
-```
+If you encounter any issues during setup or installation, please refer to our [FAQ](faq.md) for common questions and troubleshooting tips.
 
-Ambari offers many installation options (see [Ambari User Guides](https://cwiki.apache.org/confluence/display/AMBARI/Ambari+User+Guides)), but to get up and running quickly with default settings, you can run the following to set up and start ambari-server.
+For additional help, you can:
 
-```bash
-ambari-server setup -s
-ambari-server start
-```
-
-_For frontend developers only: see Frontend Development section below for extra setup instructions._
-
-Once Ambari Server is started, hit [http://c6801.ambari.apache.org:8080](http://c6801.ambari.apache.org:8080) (URL depends on the OS being tested) from your browser on your local computer.
-
-Note that Ambari Server can take some time to fully come up and ready to accept connections. Keep hitting the URL until you get the login page.
-
-Once you are at the login page, login with the default username **admin** and password **admin**.
-
-On the Install Options page, use the FQDNs of the VMs. For example:
-
-```
-c6801.ambari.apache.org
-c6802.ambari.apache.org
-c6803.ambari.apache.org
-```
-
-Alternatively, you can use a range expression:
-
-```
-c68[01-03].ambari.apache.org
-```
-
-Specify the the non-root SSH user **vagrant**, and upload **insecure_private_key** file that you copied earlier as the private key.
-
-Follow the onscreen instructions to install your cluster.
-
-When done testing, run **vagrant destroy -f** to purge the VMs.
-
-**vagrant up**
-Starts a specific VM. up.sh is a wrapper for this call.
-
-Note: if you don't specify the
-
-**vagrant destroy -f**
-Destroys all VMs launched from the current directory (deletes them from disk as well)
-You can optionally specify a specific VM to destroy
-
-**vagrant suspend**
-Suspends (snapshot) all VMs launched from the current directory so that you can resume them later
-You can optionally specify a specific VM to suspend
-
-**vagrant resume**
-Resumes all suspended VMs launched from the current directory
-You can optionally specify a specific VM to resume
-
-**vagrant status**
-Shows which VMs are running, suspended, etc.
-
-## Modifying RAM for the VMs
-
-Each VM is allocated 2GB of RAM. These can be changed by editing **Vagrantfile**. To change the RAM allocation, modify the following line:
-
-```bash
-vb.customize ["modifyvm", :id, "--memory", 2048]
-```
-
-## Taking Snapshots
-
-Vagrant makes it easy to take snapshots of the entire cluster.
-
-First, install the snapshot plugin:
-
-```bash
-vagrant plugin install vagrant-vbox-snapshot --plugin-version=0.0.2
-```
-
-This enables the "vagrant snapshot" command. Note that the above installs vesion 0.0.2. if you install the latest plugin version 0.0.3 does not allow taking snapshots of the whole cluster at the same time (you have to specify a VM name).
-
-Run **vagrant snapshot** to see the syntax.
-
-Note that the plugin tries to take a snapshot of all VMs configured in Vagrantfile. If you are always using 3 VMs, for example, you can comment out c68[04-10] in Vagrantfile so that the snapshot commands only operate on c68[01-03].
-
-Note: Upon resuming a snapshot, you may find that time-sensitive services may be down (e.g, HBase RegionServer is down, etc.)
-
-Tip: After starting the VMs but before you do anything on the VMs, run "vagrant snapshot take init". This way, you can go back to the initial state of the VMs by running "vagrant snapshot go init"; this only takes seconds (much faster than starting the VMs up from scratch by using up.sh or "vagrant up"). Another advantage of this is that you can always go back to the initial state without destroying other named snapshots that you created.
-
-## Misc
-
-All VMs launched will have a directory called **/vagrant** inside the VM. This maps to the **ambari-vagrant/** directory on your local computer. You can use this shared directory mapping to push files, etc.
-
-If you want to test OS's other than what's currently in the **ambari-vagrant** repo, please see [http://www.vagrantbox.es/](http://www.vagrantbox.es/) for all the readily available OS images you can test. Note that Ambari currently works on RHEL 5/6, CentOS 5/6, Oracle Linux 5/6, SUSE 11, and SLES 11. Ubuntu support is work in progress.
-
-## Kerberos Support
-
-Ambari supports adding Kerberos security to an existing Ambari-installed cluster. First setup any one host as the KDC as follows:
-
-Install the Kerberos server on the chosen host. e.g. for Centos/RedHat
-
-```bash
-yum install krb5-server krb5-libs krb5-auth-dialog rng-tools -y
-```
-
-Create the Kerberos database.
-
-```bash
-rngd -r /dev/urandom -o /dev/random
-/usr/sbin/kdb5_util create -s
-```
-
-Update `/etc/krb5.conf` on the KDC host. e.g. if your realm is `EXAMPLE.COM` and kdc host is `c6801.ambari.apache.org`
-
-```bash
-[realms]
-  EXAMPLE.COM = {
-    admin_server = c6801.ambari.apache.org
-    kdc = c6801.ambari.apache.org
-  }
-```
-
-Restart Kerberos services. e.g. for Centos/RedHat
-
-```bash
-/etc/rc.d/init.d/krb5kdc restart
-/etc/rc.d/init.d/kadmin restart
-```
-
-```bash
-$ sudo kadmin.local
-kadmin.local:  add_principal admin/admin@EXAMPLE.COM
-WARNING: no policy specified for admin/admin@EXAMPLE.COM; defaulting to no policy
-Enter password for principal "admin/admin@EXAMPLE.COM":
-Re-enter password for principal "admin/admin@EXAMPLE.COM":
-Principal "admin/admin@EXAMPLE.COM" created.
-
-```
-
-Remember the password for this principal. The Ambari Kerberos Wizard will request it later.Distribute the updated `/etc/krb5.conf` file to remaining hosts in the cluster.
-
-Navigate to _Ambari Dashboard —> Admin —> Kerberos_ to launch the Kerberos Wizard and follow the wizard steps. If you run into errors, the Ambari server logs can be found at `/var/log/ambari-server/ambari-server.log`.
-
-## Pre-Configured Development Environment
-
-Simply edit **Vagrantfile** to launch a VM with all the tools necessary to build Ambari from source.
-
-```bash
-cd ambari-vagrant/centos6.8
-vi Vagrantfile  Frontend DevelopmentYou can use this set up to develop and test out Ambari Web frontend code against a real Ambari Server on a multi-node environment.You need to first fork the apache/ambari repository if you haven't already. Read the How to Contribute guide for instructions on how to fork.On the host machine:cd ambari-vagrant/centos6.8
-# Replace the [forked-repository-url] with your fork's clone url
-git clone [forked-repository-url] ambari
-cd ambari/ambari-web
-npm install
-brunch wOn c6801 (where Ambari Server is installed):cd /usr/lib/ambari-server
-mv web web-orig
-ln -s /vagrant/ambari/ambari-web/public web
-ambari-server restartWith this setup, whenever you change the content of ambari-web files (under ambari-vagrant/ambari/) on the host machine, brunch will pick up changes in the background and update ambari-vagrant/ambari/ambari-web/public. Because of the symbolic link, the changes are automatically picked up by Ambari Server. All you have to do is hit refresh on the browser to see the frontend code changes reflected.Not seeing code changes as expected? If you have run the maven command t [...]
-
-```
+- Join the [Ambari mailing lists](https://ambari.apache.org/mail-lists.html)
+- File issues in the [Ambari JIRA](https://issues.apache.org/jira/projects/AMBARI)
+- Contribute to the [Ambari Wiki](https://cwiki.apache.org/confluence/display/AMBARI/Ambari)
diff --git a/docs/release-notes.md b/docs/release-notes.md
new file mode 100644
index 0000000..25f84e9
--- /dev/null
+++ b/docs/release-notes.md
@@ -0,0 +1,297 @@
+---
+sidebar_position: 2
+---
+
+# Apache Ambari 3.0.0 Release Notes
+
+## Overview
+
+Apache Ambari 3.0.0 represents a significant milestone in the project's development, bringing major improvements to cluster management capabilities, user experience, and platform support. This release focuses on modernizing the technology stack, enhancing security features, and improving overall stability and performance.
+
+## Release Highlights
+
+### Platform Support
+
+- Added support for Rocky Linux 8 and 9 ([AMBARI-26133](https://issues.apache.org/jira/browse/AMBARI-26133))
+- Added support for openEuler-22.03 ([AMBARI-26126](https://issues.apache.org/jira/browse/AMBARI-26126))
+- Added Java 17 support ([AMBARI-26142](https://issues.apache.org/jira/browse/AMBARI-26142), [AMBARI-26186](https://issues.apache.org/jira/browse/AMBARI-26186))
+- Added MySQL 8 support for Hive ([AMBARI-26130](https://issues.apache.org/jira/browse/AMBARI-26130))
+- Enhanced Docker environment with bigtop/puppet:trunk-rockylinux-8 image
+
+### New Services and Components
+
+- **Alluxio Support**: Added support for Alluxio distributed file system ([AMBARI-26055](https://issues.apache.org/jira/browse/AMBARI-26055))
+- **Ozone Support**: Added Ozone as a file system service ([AMBARI-24976](https://issues.apache.org/jira/browse/AMBARI-24976))
+- **Livy Support**: Added Livy as individual service to Ambari Bigtop Stack ([AMBARI-26090](https://issues.apache.org/jira/browse/AMBARI-26090))
+- **Ranger KMS Support**: Added Ranger KMS support ([AMBARI-26056](https://issues.apache.org/jira/browse/AMBARI-26056))
+- **Ambari Infra Support**: Added support for Ambari Infra in Ambari Server Bigtop Stack ([AMBARI-25934](https://issues.apache.org/jira/browse/AMBARI-25934))
+- **YARN Timeline Service V2**: Added YARN TimelineService V2 and Registrydns support ([AMBARI-25971](https://issues.apache.org/jira/browse/AMBARI-25971))
+- **DFSRouter Support**: Added DFSRouter via 'Actions Button' in HDFS summary page ([AMBARI-26109](https://issues.apache.org/jira/browse/AMBARI-26109))
+
+### Monitoring and Metrics Improvements
+
+- **Grafana Dashboards**: Added component Grafana dashboards in Ambari metrics ([AMBARI-25960](https://issues.apache.org/jira/browse/AMBARI-25960))
+- **Grafana Upgrade**: Fixed issues in metrics Grafana dashboards after upgrade to 9.x ([AMBARI-25975](https://issues.apache.org/jira/browse/AMBARI-25975))
+- **Dashboard Updates**: Update dashboard definition when dashboard version is changed ([AMBARI-25944](https://issues.apache.org/jira/browse/AMBARI-25944))
+- **Metrics Improvements**: 
+  - Fixed metrics sortable functionality ([AMBARI-26207](https://issues.apache.org/jira/browse/AMBARI-26207))
+  - Fixed Ambari Grafana datasource plugin loading ([AMBARI-25941](https://issues.apache.org/jira/browse/AMBARI-25941))
+  - Fixed Ambari grafana ambari-server-jvm dashboard loading ([AMBARI-25940](https://issues.apache.org/jira/browse/AMBARI-25940))
+  - Resolved mutate related graphs for HBase & AMS-HBase ([AMBARI-25995](https://issues.apache.org/jira/browse/AMBARI-25995))
+  - Synchronized batch size in Ambari metrics collector and AMS HBase ([AMBARI-25945](https://issues.apache.org/jira/browse/AMBARI-25945))
+
+### Security Improvements
+
+- **Dependency Upgrades to Address CVEs**:
+  - Upgraded commons-collections to resolve CVEs ([AMBARI-26185](https://issues.apache.org/jira/browse/AMBARI-26185))
+  - Upgraded logback to 1.5.16 ([AMBARI-26306](https://issues.apache.org/jira/browse/AMBARI-26306), [AMBARI-26074](https://issues.apache.org/jira/browse/AMBARI-26074))
+  - Upgraded PostgreSQL from 42.2.2 to 42.3.8 ([AMBARI-25953](https://issues.apache.org/jira/browse/AMBARI-25953))
+  - Upgraded spring-security-core from 5.7.2 to 5.7.8 ([AMBARI-25952](https://issues.apache.org/jira/browse/AMBARI-25952))
+  - Upgraded net.sf.ehcache to 3.10.0 ([AMBARI-26076](https://issues.apache.org/jira/browse/AMBARI-26076))
+  - Resolved snakeyaml 1.12 CVE ([AMBARI-26184](https://issues.apache.org/jira/browse/AMBARI-26184))
+  - Updated org.codehaus.jackson:jackson-mapper-asl dependency ([AMBARI-25848](https://issues.apache.org/jira/browse/AMBARI-25848))
+  - Upgraded Hadoop dependency version ([AMBARI-25986](https://issues.apache.org/jira/browse/AMBARI-25986))
+
+- **Security Enhancements**:
+  - Fixed Kerberos encryption issues ([AMBARI-26277](https://issues.apache.org/jira/browse/AMBARI-26277))
+  - Fixed Kerberos Jinja2 Template Error ([AMBARI-26093](https://issues.apache.org/jira/browse/AMBARI-26093))
+  - Fixed security vulnerability CVE-2016-2183 ([AMBARI-26122](https://issues.apache.org/jira/browse/AMBARI-26122))
+  - Fixed default SSL Ciphers of port 8440/8441 that were too weak ([AMBARI-26118](https://issues.apache.org/jira/browse/AMBARI-26118))
+  - Added password validation criteria for Ambari local users ([AMBARI-26061](https://issues.apache.org/jira/browse/AMBARI-26061))
+  - Improved database password character type requirements ([AMBARI-26236](https://issues.apache.org/jira/browse/AMBARI-26236))
+  - Fixed Knox SSO login to Ambari ([AMBARI-26307](https://issues.apache.org/jira/browse/AMBARI-26307))
+  - Added documentation on how to report security issues ([AMBARI-26012](https://issues.apache.org/jira/browse/AMBARI-26012))
+
+### User Interface Improvements
+
+- **UI Framework Upgrades**:
+  - Upgraded jQuery and Bootstrap to latest versions ([AMBARI-25289](https://issues.apache.org/jira/browse/AMBARI-25289))
+  - Fixed outdated ember-collection dependency ([AMBARI-25988](https://issues.apache.org/jira/browse/AMBARI-25988))
+  - Fixed test failures caused by jQuery upgrade ([AMBARI-26146](https://issues.apache.org/jira/browse/AMBARI-26146))
+
+- **UI Fixes and Enhancements**:
+  - Fixed tooltip display issues ([AMBARI-26251](https://issues.apache.org/jira/browse/AMBARI-26251))
+  - Fixed Configuration Group creation ([AMBARI-26257](https://issues.apache.org/jira/browse/AMBARI-26257))
+  - Fixed stack and versions page display issues ([AMBARI-26200](https://issues.apache.org/jira/browse/AMBARI-26200))
+  - Fixed style rendering errors ([AMBARI-26199](https://issues.apache.org/jira/browse/AMBARI-26199))
+  - Fixed dropdown menu flex layout overflow ([AMBARI-26205](https://issues.apache.org/jira/browse/AMBARI-26205))
+  - Fixed Ambari host page action button ([AMBARI-26194](https://issues.apache.org/jira/browse/AMBARI-26194))
+  - Fixed redirection issue of cluster creation flow ([AMBARI-26183](https://issues.apache.org/jira/browse/AMBARI-26183))
+  - Improved time range selector ([AMBARI-26198](https://issues.apache.org/jira/browse/AMBARI-26198))
+  - Reduced websocket connections in web UI to improve performance ([AMBARI-25928](https://issues.apache.org/jira/browse/AMBARI-25928))
+  - Added validation for Download CSV on Admin/Kerberos tab ([AMBARI-26102](https://issues.apache.org/jira/browse/AMBARI-26102))
+  - Fixed issue with selecting all hosts in install wizard ([AMBARI-26120](https://issues.apache.org/jira/browse/AMBARI-26120))
+
+- **Service UI Enhancements**:
+  - Added quicklink for HiveServer2 web UI ([AMBARI-26270](https://issues.apache.org/jira/browse/AMBARI-26270))
+  - Added server link for ZK Admin server ([AMBARI-26201](https://issues.apache.org/jira/browse/AMBARI-26201))
+  - Fixed capacity-scheduler views ([AMBARI-26255](https://issues.apache.org/jira/browse/AMBARI-26255))
+  - Removed Google Analytics as per ASF Privacy Policy ([AMBARI-26103](https://issues.apache.org/jira/browse/AMBARI-26103))
+
+### Core Improvements
+
+- **Java 17 Support**: 
+  - Full compatibility with JDK 17 ([AMBARI-26142](https://issues.apache.org/jira/browse/AMBARI-26142))
+  - Added Ambari Java Home configuration for JDK 17 ([AMBARI-26238](https://issues.apache.org/jira/browse/AMBARI-26238))
+  - Fixed ambari-env.sh after JDK upgrade ([AMBARI-26233](https://issues.apache.org/jira/browse/AMBARI-26233))
+  - Fixed NoClassesFoundToAnalyzeException when compiling with JDK 17 ([AMBARI-26275](https://issues.apache.org/jira/browse/AMBARI-26275))
+  - Fixed annotation processing issue in ConfigurationTest ([AMBARI-26203](https://issues.apache.org/jira/browse/AMBARI-26203))
+
+- **Python 3 Support**: 
+  - Made Ambari support Python 3 environment ([AMBARI-26000](https://issues.apache.org/jira/browse/AMBARI-26000))
+  - Fixed Python 3 compilation errors ([AMBARI-26121](https://issues.apache.org/jira/browse/AMBARI-26121))
+  - Fixed Python 3 type encoding errors ([AMBARI-26062](https://issues.apache.org/jira/browse/AMBARI-26062), [AMBARI-26068](https://issues.apache.org/jira/browse/AMBARI-26068))
+  - Fixed SyntaxWarnings after moving to Python 3 ([AMBARI-26070](https://issues.apache.org/jira/browse/AMBARI-26070))
+  - Fixed all Python script files for Python 3 ([AMBARI-26100](https://issues.apache.org/jira/browse/AMBARI-26100))
+  - Fixed Ranger script file for Python 3 ([AMBARI-26096](https://issues.apache.org/jira/browse/AMBARI-26096))
+  - Added dependency python3-distro for ambari-server ([AMBARI-26119](https://issues.apache.org/jira/browse/AMBARI-26119))
+  - Fixed PortAlert test failures due to Python 2 to 3 upgrade ([AMBARI-26105](https://issues.apache.org/jira/browse/AMBARI-26105))
+  - Fixed TestConfigs Python test case failures ([AMBARI-26081](https://issues.apache.org/jira/browse/AMBARI-26081))
+
+- **Code Modernization**:
+  - Added Ruff integration for Python code linting ([AMBARI-26147](https://issues.apache.org/jira/browse/AMBARI-26147))
+  - Converted string formatting to f-strings ([AMBARI-26243](https://issues.apache.org/jira/browse/AMBARI-26243), [AMBARI-26244](https://issues.apache.org/jira/browse/AMBARI-26244), [AMBARI-26245](https://issues.apache.org/jira/browse/AMBARI-26245), [AMBARI-26286](https://issues.apache.org/jira/browse/AMBARI-26286))
+  - Implemented Git Version Control for Ambari Jenkinsfile ([AMBARI-26097](https://issues.apache.org/jira/browse/AMBARI-26097))
+  - Switched PhantomJS used by Karma tests to chromium-browser ([AMBARI-26113](https://issues.apache.org/jira/browse/AMBARI-26113))
+  - Configured Chromium Browser in Jenkins file ([AMBARI-26114](https://issues.apache.org/jira/browse/AMBARI-26114))
+
+- **Build and Packaging Improvements**:
+  - Fixed Ambari Server parallel compilation and packaging issues ([AMBARI-26191](https://issues.apache.org/jira/browse/AMBARI-26191))
+  - Fixed RPM build failures ([AMBARI-26319](https://issues.apache.org/jira/browse/AMBARI-26319))
+  - Fixed RPM packaging errors for ambari-web and ambari-views ([AMBARI-26125](https://issues.apache.org/jira/browse/AMBARI-26125))
+  - Fixed server build failure due to ambari-serviceadvisor version ([AMBARI-25920](https://issues.apache.org/jira/browse/AMBARI-25920))
+  - Fixed ambari-admin compilation issues ([AMBARI-25968](https://issues.apache.org/jira/browse/AMBARI-25968))
+  - Fixed issue with ambari-admin build entering testing phase ([AMBARI-26132](https://issues.apache.org/jira/browse/AMBARI-26132))
+  - Added distro dependency to Ambari Agent ([AMBARI-26197](https://issues.apache.org/jira/browse/AMBARI-26197))
+  - Fixed jersey conflict error when starting Ambari server ([AMBARI-26320](https://issues.apache.org/jira/browse/AMBARI-26320))
+
+- **Service Improvements**:
+  - Updated component versions to align with Ambari Bigtopstack 3.3.0 ([AMBARI-26087](https://issues.apache.org/jira/browse/AMBARI-26087))
+  - Upgraded service versions to Bigtop 3.3.0 ([AMBARI-25965](https://issues.apache.org/jira/browse/AMBARI-25965))
+  - Upgraded Bigtop Stack ZK to Zookeeper 3.7.2 ([AMBARI-26088](https://issues.apache.org/jira/browse/AMBARI-26088))
+  - Enabled Spark to use Hadoop native libraries for better performance ([AMBARI-25987](https://issues.apache.org/jira/browse/AMBARI-25987))
+  - Fixed Hive installation failures due to missing dependencies ([AMBARI-26326](https://issues.apache.org/jira/browse/AMBARI-26326))
+  - Set up Hive's xms config ([AMBARI-26305](https://issues.apache.org/jira/browse/AMBARI-26305))
+  - Fixed HDFS web service check ([AMBARI-26276](https://issues.apache.org/jira/browse/AMBARI-26276))
+  - Fixed incorrect Ambari infra-solr service config ([AMBARI-25970](https://issues.apache.org/jira/browse/AMBARI-25970))
+  - Fixed wrong config file name in Spark service advisor ([AMBARI-25932](https://issues.apache.org/jira/browse/AMBARI-25932))
+  - Increased default value of phoenix.mutate.maxSizeBytes ([AMBARI-25977](https://issues.apache.org/jira/browse/AMBARI-25977))
+  - Fixed HBase config issue ([AMBARI-25827](https://issues.apache.org/jira/browse/AMBARI-25827))
+  - Fixed default value in hive-site.xml ([AMBARI-25897](https://issues.apache.org/jira/browse/AMBARI-25897))
+  - Added host and user to the tagsync log's file name ([AMBARI-26139](https://issues.apache.org/jira/browse/AMBARI-26139))
+  - Fixed issue with Zeppelin not downloading interpreter dependencies ([AMBARI-25981](https://issues.apache.org/jira/browse/AMBARI-25981))
+  - Removed hive.load.data.owner from Hive configuration ([AMBARI-26129](https://issues.apache.org/jira/browse/AMBARI-26129))
+  - Removed Phoenix configuration from HBase ([AMBARI-25921](https://issues.apache.org/jira/browse/AMBARI-25921))
+  - Fixed missing theme.json in HDFS/YARN/MR ([AMBARI-25917](https://issues.apache.org/jira/browse/AMBARI-25917))
+  - Fixed missing service_advisor.py in some services ([AMBARI-25894](https://issues.apache.org/jira/browse/AMBARI-25894))
+  - Fixed issue with 'supported-refresh-commands' element ([AMBARI-25863](https://issues.apache.org/jira/browse/AMBARI-25863))
+  - Reduced excess Zookeeper and Hadoop logging ([AMBARI-24140](https://issues.apache.org/jira/browse/AMBARI-24140))
+
+- **Bug Fixes**:
+  - Fixed OceanBase support in Ambari MySQL DDL ([AMBARI-26273](https://issues.apache.org/jira/browse/AMBARI-26273))
+  - Fixed regex pattern flag position in ambari_jinja2 filters ([AMBARI-26269](https://issues.apache.org/jira/browse/AMBARI-26269))
+  - Fixed invalid parameter issue in HostInfo.py ([AMBARI-26271](https://issues.apache.org/jira/browse/AMBARI-26271))
+  - Fixed initialization issue in InitializerModule ([AMBARI-26111](https://issues.apache.org/jira/browse/AMBARI-26111), [AMBARI-25883](https://issues.apache.org/jira/browse/AMBARI-25883))
+  - Fixed PYTHONPATH resolution ([AMBARI-26115](https://issues.apache.org/jira/browse/AMBARI-26115))
+  - Fixed issue with checking firewalld status ([AMBARI-26235](https://issues.apache.org/jira/browse/AMBARI-26235))
+  - Fixed ClusterNotFoundException during host confirmation ([AMBARI-26234](https://issues.apache.org/jira/browse/AMBARI-26234))
+  - Fixed NumberFormatException handling ([AMBARI-26144](https://issues.apache.org/jira/browse/AMBARI-26144))
+  - Fixed OozieUtils ([AMBARI-26239](https://issues.apache.org/jira/browse/AMBARI-26239))
+  - Fixed shell.py execution and import order ([AMBARI-26232](https://issues.apache.org/jira/browse/AMBARI-26232))
+  - Fixed Ambari cluster deployment blockage ([AMBARI-26187](https://issues.apache.org/jira/browse/AMBARI-26187))
+  - Enhanced error logging for run function in shell script ([AMBARI-26094](https://issues.apache.org/jira/browse/AMBARI-26094))
+  - Fixed various test failures after JDK upgrade ([AMBARI-26222](https://issues.apache.org/jira/browse/AMBARI-26222), [AMBARI-26215](https://issues.apache.org/jira/browse/AMBARI-26215), [AMBARI-26211](https://issues.apache.org/jira/browse/AMBARI-26211))
+  - Fixed checkstyle errors ([AMBARI-26212](https://issues.apache.org/jira/browse/AMBARI-26212))
+  - Fixed Ambari Component Installation Failure ([AMBARI-26323](https://issues.apache.org/jira/browse/AMBARI-26323))
+  - Fixed alter dispatcher ([AMBARI-26240](https://issues.apache.org/jira/browse/AMBARI-26240))
+  - Corrected spelling mistakes in documentation ([AMBARI-26104](https://issues.apache.org/jira/browse/AMBARI-26104))
+
+## Known Issues
+
+- Timeline Service Reader may fail to start if HBase is not installed ([AMBARI-26248](https://issues.apache.org/jira/browse/AMBARI-26248))
+- Timeline Service v2 may fail to start due to issues with leveldb state store directory creation ([AMBARI-26249](https://issues.apache.org/jira/browse/AMBARI-26249))
+- Some LDAP/AD authentication issues may occur with previously synced users ([AMBARI-26304](https://issues.apache.org/jira/browse/AMBARI-26304))
+- DFSRouter command script path may not be correct ([AMBARI-26116](https://issues.apache.org/jira/browse/AMBARI-26116))
+- Module 'status_params' may have no attribute 'router_pid_file' ([AMBARI-26141](https://issues.apache.org/jira/browse/AMBARI-26141))
+- _threadlocal may have no uid because it is always None ([AMBARI-26241](https://issues.apache.org/jira/browse/AMBARI-26241))
+
+## Roadmap
+
+The Apache Ambari project has an ambitious roadmap for future releases. The following initiatives are planned for upcoming development cycles:
+
+### Technology Stack Modernization
+
+- **Spring Framework 6 Upgrade**: Migrate from current Spring version to Spring 6 to leverage the latest features, performance improvements, and security enhancements.
+- **Ubuntu Support**: Extend platform compatibility to include Ubuntu, providing more deployment options for users.
+
+### Deployment and Operations
+
+- **Docker Automation**: Develop comprehensive Docker-based automation for cluster deployment, making it easier to provision and manage Ambari clusters in containerized environments.
+- **Enhanced Containerization**: Improve container orchestration capabilities for both development and production environments.
+
+### Frontend Modernization
+
+- **jQuery Bug Fixes**: Continue to address and resolve UI issues resulting from the jQuery upgrade.
+- **Micro-Frontend Architecture**: Implement a gradual transition from the current Ember.js framework to React using a micro-frontend approach, allowing for incremental modernization without disrupting existing functionality.
+- **UI/UX Improvements**: Enhance the user interface with modern design patterns and improved user experience.
+
+These roadmap items represent the project's commitment to continuous improvement and adaptation to evolving technologies in the big data ecosystem. Community contributions and feedback on these initiatives are welcome.
+
+## Upgrading to Apache Ambari 3.0.0
+
+:::note
+
+TODO
+
+:::
+
+For detailed instructions on upgrading from previous versions, please refer to the Upgrade Guide.
+
+## Compatibility Matrix
+
+| Component | Supported Versions |
+|-----------|-------------------|
+| Operating Systems | Rocky Linux 8, Rocky Linux 9, openEuler-22.03, CentOS 7.x, RHEL 7.x, RHEL 8.x |
+| Java | OpenJDK 8, OpenJDK 11, OpenJDK 17 |
+| Database | PostgreSQL 10+, MySQL 5.7+, MySQL 8+, MariaDB 10.2+, OceanBase |
+| Browser | Chrome 80+, Firefox 78+, Edge 80+ |
+
+## Download
+
+Apache Ambari 3.0.0 can be downloaded from the [Apache Ambari Download Page](https://ambari.apache.org/download.html).
+
+## Verification
+
+It is essential that you verify the integrity of the downloaded files using the PGP signatures and SHA256 checksums.
+
+```bash
+# Verify the SHA256 checksum
+sha256sum --check apache-ambari-3.0.0.tar.gz.sha256
+
+# Verify the PGP signature
+gpg --verify apache-ambari-3.0.0.tar.gz.asc apache-ambari-3.0.0.tar.gz
+```
+
+The PGP signatures can be verified using the public keys of the Apache Ambari Release Managers, which can be found on the [Apache Ambari Download Page](https://ambari.apache.org/download.html).
+
+## Acknowledgments
+
+Apache Ambari 3.0.0 is the result of significant contributions from the Apache Ambari community. We would like to thank all the contributors who have helped make this release possible:
+
+- jialiang
+- zrain
+- Peng Lu
+- Mohammad Arshad
+- yaruyng
+- tongxiaojun
+- Sandeep Kumar
+- coldless177
+- Vishal Suvagia
+- zhenye zhang
+- yaolei
+- xjmu
+- Himanshu Maurya
+- timyuer
+- Ananya Singh
+- rzuo
+- Viraj Jasani
+- William Horn
+- vanshuhassija
+- Yu Hou
+- basapuram-kumar
+- Prabhjyot Singh
+- Brahma Reddy Battula
+- Basapuram Kumar
+- Shreeya Sand
+- Bhavik Patel
+- lupeng
+- piaolingzxh
+- Murali Krishna
+- LiJie20190102
+- HARSHITH GANDHE
+- userhimanshuverma
+- Arnout Engelen
+- wangda
+- Dmytro Sen
+- Rich Bowen
+- Shubham Sharma
+- Weijian Wen
+- Will Guo
+- guluo
+- Peng Lee
+- liqinwyyx
+- and many others
+
+Special thanks to our Release Manager(s) for their dedication and hard work in preparing this release.
+
+## Community
+
+We welcome your feedback and contributions to Apache Ambari:
+
+- [Mailing Lists](https://ambari.apache.org/mail-lists.html)
+- [Issue Tracker](https://issues.apache.org/jira/projects/AMBARI)
+- [GitHub Repository](https://github.com/apache/ambari)
+
+## License
+
+Apache Ambari is released under the [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0).
diff --git a/docusaurus.config.js b/docusaurus.config.js
index d46e806..ae2f5f3 100644
--- a/docusaurus.config.js
+++ b/docusaurus.config.js
@@ -10,7 +10,7 @@ const config = {
   tagline: 'The Apache Ambari project is aimed at making Hadoop management simpler by developing software for provisioning, managing, and monitoring Apache Hadoop clusters. Ambari provides an intuitive, easy-to-use Hadoop management web UI backed by its RESTful APIs.',
   url: 'https://your-docusaurus-test-site.com',
   baseUrl: '/',
-  onBrokenLinks: 'throw',
+  onBrokenLinks: 'warn',
   onBrokenMarkdownLinks: 'warn',
   favicon: 'img/favicon.ico',
   organizationName: 'apache', 
@@ -37,6 +37,25 @@ const config = {
           // Remove this to remove the "edit this page" links.
           editUrl:
             'https://github.com/vivostar/vivostar.github.io/tree/master/',
+          lastVersion: '3.0.0',
+          versions: {
+            current: {
+              label: 'Next',
+              path: 'next',
+            },
+            '3.0.0': {
+              label: '3.0.0',
+              path: '3.0.0',
+            },
+            '2.7.6': {
+              label: '2.7.6',
+              path: '2.7.6',
+            },
+            '2.7.5': {
+              label: '2.7.5',
+              path: '2.7.5',
+            },
+          },
         },
         blog: {
           showReadingTime: true,
@@ -84,6 +103,10 @@ const config = {
             position: 'left',
             label: 'Releases',
             items: [
+              {
+                label: '3.0.0',
+                href: 'https://www.apache.org/dyn/closer.cgi/ambari/ambari-3.0.0',
+              },
               {
                 label: '2.7.6',
                 href: 'https://www.apache.org/dyn/closer.cgi/ambari/ambari-2.7.6',
diff --git a/sidebars.js b/sidebars.js
index 76c665a..c571cba 100644
--- a/sidebars.js
+++ b/sidebars.js
@@ -17,6 +17,8 @@ const sidebars = {
 
   ambariSidebar: [
     "introduction",
+    "release-notes",
+    "faq",
     {
       type: "category", 
       label: "Quick Start",
@@ -24,7 +26,18 @@ const sidebars = {
       collapsed: false,
       items: [
         "quick-start/quick-start-guide",
-        "quick-start/quick-start-for-new-vm-users"
+        {
+          type: "category",
+          label: "Environment Setup",
+          collapsible: true,
+          collapsed: false,
+          items: [
+            "quick-start/environment-setup/vagrant-environment-setup",
+            "quick-start/environment-setup/docker-environment-setup",
+            "quick-start/environment-setup/bare-metal-kvm-setup"
+          ]
+        },
+        "quick-start/installation-guide"
       ]
     },
     {
@@ -108,14 +121,14 @@ const sidebars = {
             "ambari-design/views/view-definition"
           ]
         }
-
       ]
     },
-    
     {
       type: "category", 
       label: "Ambari Development",
-      link: {type: "doc", id: "ambari-dev/index"},
+      collapsible: true,
+      collapsed: false,
+      link: {type: 'doc', id: 'ambari-dev/index'},
       items: [
         "ambari-dev/development-process-for-new-major-features",
         "ambari-dev/ambari-code-layout",
@@ -133,11 +146,10 @@ const sidebars = {
         "ambari-dev/verifying-release-candidate"
       ]
     },
-
     {
       type: "category", 
       label: "Ambari Plugin Contributions",
-      link: {type: "doc", id: "ambari-plugin-contribution/index"},
+      link: {type: 'doc', id: 'ambari-plugin-contribution/index'},
       items: [
         {
           type: "category", 
@@ -150,10 +162,8 @@ const sidebars = {
         "ambari-plugin-contribution/step-by-step"
       ]
     },
-
     "ambari-alerts"
   ]
-
 };
 
 module.exports = sidebars;
diff --git a/src/pages/index.tsx b/src/pages/index.tsx
index 17514b1..360296a 100644
--- a/src/pages/index.tsx
+++ b/src/pages/index.tsx
@@ -54,7 +54,7 @@ function HomepageHeader() {
         <div className={styles.buttons}>
           <Link
             className="button button--primary button--lg margin-bottom--sm"
-            to="/docs/quick-start/quick-start-guide">
+            to="/docs/3.0.0/introduction">
             GET STARTED
           </Link>
         </div>
@@ -82,7 +82,7 @@ function HomepageHeader() {
         <div className={styles.buttons}>
          <Link
             className="button button--primary button--lg margin-right--sm"
-            to="/docs/quick-start/quick-start-guide">
+            to="/docs/3.0.0/introduction">
             GET STARTED
           </Link>
           <Link
diff --git a/versioned_docs/version-3.0.0/quick-start/quick-start-guide.md b/versioned_docs/version-3.0.0/quick-start/quick-start-guide.md
index 605740c..aaa8a60 100644
--- a/versioned_docs/version-3.0.0/quick-start/quick-start-guide.md
+++ b/versioned_docs/version-3.0.0/quick-start/quick-start-guide.md
@@ -14,25 +14,25 @@ Apache Ambari 3.0.0 can be installed in several different environments:
 
 The Vagrant environment provides a quick way to set up a development cluster using virtual machines on your local computer. This is ideal for testing and development purposes.
 
-[View Vagrant Environment Setup Guide](/docs/quick-start/environment-setup/vagrant-environment-setup)
+[View Vagrant Environment Setup Guide](environment-setup/vagrant-environment-setup.md)
 
 ### 2. Docker Environment
 
 The Docker environment offers a lightweight, containerized approach using multiple containers with one server and two agents. This setup uses Rocky Linux 8 as the base image and includes container networking, SSH setup, and security configuration.
 
-[View Docker Environment Setup Guide](/docs/quick-start/environment-setup/docker-environment-setup)
+[View Docker Environment Setup Guide](environment-setup/docker-environment-setup.md)
 
 ### 3. Bare Metal/KVM Setup
 
 For production deployments or larger development environments, the Bare Metal/KVM setup covers both physical servers and KVM virtual machines. This guide includes detailed system requirements, network configuration, and both development and production security settings.
 
-[View Bare Metal/KVM Setup Guide](/docs/quick-start/environment-setup/bare-metal-kvm-setup)
+[View Bare Metal/KVM Setup Guide](environment-setup/bare-metal-kvm-setup.md)
 
 ## Installation Guide
 
 Once you have set up your environment using one of the methods above, you can proceed with the Ambari installation process:
 
-[View Installation Guide](/docs/quick-start/installation-guide)
+[View Installation Guide](installation-guide.md)
 
 ## Key Features in Ambari 3.0.0
 
@@ -77,11 +77,11 @@ Apache Ambari 3.0.0 includes numerous enhancements and improvements across vario
 - **Rocky Linux 8 Compatibility** - Added support for Rocky Linux 8 deployments
 - **Enhanced Installation Workflows** - Streamlined installation process across environments
 
-For a complete list of new features, improvements, and fixes, please refer to the [Release Notes](/docs/release-notes).
+For a complete list of new features, improvements, and fixes, please refer to the [Release Notes](release-notes.md)
 
 ## Getting Help
 
-If you encounter any issues during setup or installation, please refer to our [FAQ](/docs/faq) for common questions and troubleshooting tips.
+If you encounter any issues during setup or installation, please refer to our [FAQ](faq.md) for common questions and troubleshooting tips.
 
 For additional help, you can:
 


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@ambari.apache.org
For additional commands, e-mail: commits-help@ambari.apache.org