diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
index 6363c1564..e210ccbab 100644
--- a/.github/CODEOWNERS
+++ b/.github/CODEOWNERS
@@ -116,4 +116,4 @@ README.md @xwu2intel
/tools/visual-pipeline-and-platform-evaluation-tool/README.md @p-zak @ktaube26 @tmatenko @dlemiech @pmalatyn @dmichalo @msmiatac @grey-eminence @open-edge-platform/open-edge-platform-docs-write
# frameworks
-/frameworks/edgedevice-enablement-framework/ @chinthap @ANUSHABHASKAR @mutra-vamsi
+/frameworks/edgedevice-enablement-framework/ @chinthap @ANUSHABHASKAR @mutra-vamsi @k-mochi
diff --git a/frameworks/edgedevice-enablement-framework/base/va_enablement_node_profile/README.md b/frameworks/edgedevice-enablement-framework/base/va_enablement_node_profile/README.md
index 4d8f67771..e6f322bba 100644
--- a/frameworks/edgedevice-enablement-framework/base/va_enablement_node_profile/README.md
+++ b/frameworks/edgedevice-enablement-framework/base/va_enablement_node_profile/README.md
@@ -16,6 +16,14 @@ Additional command line parameters are not required.
"./va_enablement_node_profile.sh tfcc"
"./va_enablement_node_profile.sh vpp"
```
+- Input parameter for vPRO platform Enablement
+```
+"./va_enablement_node_profile.sh vpro"
+```
+- Input parameter to configure the prerequisite tools for 'Magic-9' on the target edge node.
+```
+"./va_enablement_node_profile.sh magic9"
+```
- Execute it with --help/-h for checking the availability of any additional use case support
```bash
"./va_enablement_node_profile.sh -h"
diff --git a/frameworks/edgedevice-enablement-framework/docs/dictionary_append.txt b/frameworks/edgedevice-enablement-framework/docs/dictionary_append.txt
new file mode 100644
index 000000000..49afcbdde
--- /dev/null
+++ b/frameworks/edgedevice-enablement-framework/docs/dictionary_append.txt
@@ -0,0 +1,106 @@
+Enablement
+md
+Innersource
+edgesoftware
+Scalable
+Observability
+Telegraf
+Grafana
+cAdvisor
+Istio
+FFmpeg
+Libva
+iMTL
+ECI
+Multus
+Akri
+Kubevirt
+realtime
+iEP
+Uncore
+th
+Carlsville
+Columbiaville
+enablement
+virtualized
+Distro
+Containerd
+OTel
+config
+mgmt
+RoT
+Ffmpeg
+Fluentbit
+CAdvisor
+Qemu
+KVM
+oneVPL
+discreteTPM
+ubuntu
+containerD
+Openebs
+xxxx
+Gpu
+CaaS
+bootable
+hostname
+wrk
+Wrk
+hostnames
+va
+caas
+chmod
+https
+edgeorchestration
+oauth
+kubectl
+rke
+mtl
+rpl
+bootup
+Rke
+Kubectl
+Kubernetes
+Orchestrator
+systemctl
+Namespaces
+namespaces
+gpu
+grafana
+sudo
+observability
+Grafana
+Prometheus
+Promtail
+ContainerD
+otel
+curation
+iGPU
+renderD
+modprobe
+webpage
+Inband
+DL
+validators
+geo
+fluentbit
+telegraf
+Opencv
+Baremetal
+Dev
+adl
+spr
+SRIOV
+AKri
+cryptographic
+groupname
+baremetal
+Uninstallation
+ffmpeg
+qemu
+kvm
+otelcol
+openssl
+dpdk
+inbc
+openvino
diff --git a/frameworks/edgedevice-enablement-framework/docs/linkcheck_ignore_append.txt b/frameworks/edgedevice-enablement-framework/docs/linkcheck_ignore_append.txt
new file mode 100644
index 000000000..7d640272c
--- /dev/null
+++ b/frameworks/edgedevice-enablement-framework/docs/linkcheck_ignore_append.txt
@@ -0,0 +1,2 @@
+https://releases.ubuntu.com/22.04/*
+https://www.dell.com/en-us/shop/servers-storage-and-networking/poweredge-r760-rack-server/spd/poweredge-r760/pe_r760_tm_vi_vp_sb
diff --git a/frameworks/edgedevice-enablement-framework/docs/toc.rst b/frameworks/edgedevice-enablement-framework/docs/toc.rst
new file mode 100644
index 000000000..67928b90b
--- /dev/null
+++ b/frameworks/edgedevice-enablement-framework/docs/toc.rst
@@ -0,0 +1,3 @@
+.. toctree::
+
+ user-guide/index
\ No newline at end of file
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/Acronyms.md b/frameworks/edgedevice-enablement-framework/docs/user-guide/Acronyms.md
new file mode 100644
index 000000000..e87af72ee
--- /dev/null
+++ b/frameworks/edgedevice-enablement-framework/docs/user-guide/Acronyms.md
@@ -0,0 +1,16 @@
+# Acronyms
+
+| **Abbreviation** | **Definition** |
+|-------------------|-----------------------------------|
+|CaaS | Cluster as a Service |
+|ECI | Edge Control for Industrial |
+|EEF | Edge Device Enablement Framework |
+|EN | Edge Node |
+|ESH | Edge Software Hub |
+|IPM | Infrastructure Power Manager |
+|JWT | JSON Web token |
+|OS | Operating System |
+|RT | Real Time |
+|RTPM | Real-Time Performance Measurement |
+|TOD | Time of Day |
+|VA | Video Analytics |
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/Get-Started-Guide.md b/frameworks/edgedevice-enablement-framework/docs/user-guide/Get-Started-Guide.md
new file mode 100644
index 000000000..efabb80f7
--- /dev/null
+++ b/frameworks/edgedevice-enablement-framework/docs/user-guide/Get-Started-Guide.md
@@ -0,0 +1,1473 @@
+# Get Started
+
+The installation flow for Intel Edge Device Enablement Framework – Edge Software Hub is primarily intended for Public / External users. The Edge Device Enablement Framework Software is installed through ESH QA (Edge Software Hub). The user logs in to ESH, selects the desired Edge Node Profile, and can download the installer package for a specific profile of Edge Node. The profiles will have descriptions for the type of scenarios / use cases they are optimized for.
+The user extracts and copies the EN install package to the target systems and executes the installer to install the node software. The install package defines what software packages should be installed on the device and fetches the artifacts from an Intel release service.
+If the profile contains CaaS configuration, a cluster template is additionally provided that allows for simple cluster creation through RKE2 by importing the cluster to the Management Station for the targeted edge nodes.
+
+> NOTE: The software update to the Foundation Edge Nodes is done manually by downloading an Intel updated version of a given Edge Node Profile, hence there is no automatic update process of Edge Nodes in this scenario.
+
+## Installation Process for Intel® EEF
+
+
+*
Figure 1: Flow for Intel® Edge Device Enablement Framework*
+
+## Step 1: Prerequisites & System Set-UP
+
+Before starting the Edge Node deployment, perform the following steps:-
+
+- System bootable to a fresh Ubuntu 24.04 for profile 1,2 & Ubuntu 22.04 OS for profile 3.
+- Internet connectivity is available on the Node
+- The target node(s) hostname must be in lowercase, numerals, and hyphen’ – ‘.
+ - For example: wrk-8 is acceptable; wrk_8, WRK8, and Wrk^8 are not accepted as hostnames.
+- Required proxy settings must be added to the /etc/environment file.
+- Get access to the Edge Software Hub portal.
+- Below are the BIOS settings required across the profiles.
+
+ BIOS Settings
+
+ ### Please follow the below BIOS settings for the three profiles
+
+ | **Settings** | **Profile 1** | **Profile 2** | **Profile 3** |
+ |------------------------------------|-----------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+ | **Secure Boot** | **Dell R760** :–
- BIOS Settings → System Security → Secure Boot → Enabled | **Dell R760** :–
- BIOS Settings → System BIOS → System Security → Secure Boot → Enabled
**ASRock iEP-7020E, ASUS PE3000G** :–
- Press F2 → Go to UEFI Firmware Settings → Security Section → Secure Boot Section → Set Secure Boot Mode to Custom → Select Secure Boot → Enabled → Save Changes → Boot to setup. | **Dell R760** :–
- BIOS Settings → System BIOS → System Security → Secure Boot → Enabled
**ASRock iEP-7020E, ASUS PE3000G** :–
- Press F2 → Go to UEFI Firmware Settings → Security Section → Secure Boot Section → Set Secure Boot Mode to Custom → Select Secure Boot → Enabled → Save Changes → Boot to setup. |
+ | **Hyperthreading** | N/A | N/A | **Xeon** :–
- Processor Settings → Logical Processor → Disabled
**Core** :–
- Intel Advanced Menu ⟶ CPU Configuration → Disabled |
+ | **C-States and Power Management** | N/A | N/A | **Xeon** :–
- Processor Settings → Uncore Frequency RAPL → Disabled
- System Profile Settings → Optimized Power Mode → Disabled
- System Profile Settings → C1E → Disabled
- System Profile Settings → Workload Configuration → IO Sensitive
- System Profile Settings → Dynamic Load Line Switch → Disabled
- System Profile Settings → C-States → Disabled
- System Profile Settings → Turbo Boost → Disabled
- System Profile Settings → Uncore Frequency → Maximum
- System Profile Settings → Energy Efficient Policy → Performance
- System Profile Settings → CPU Interconnect Bus Link Power Management → Disabled
- System Profile Settings → PCI ASPM L1 Link Power Management → Disabled
**Core** :–
- Intel Advanced Menu ⟶ Power & Performance ⟶ CPU - Power Management Control → Disabled |
+ | **Intel (VMX) Virtualization** | N/A | N/A | **Core** :–
- Intel Advanced Menu ⟶ CPU Configuration → Disabled |
+ | **Intel(R) SpeedStep** | N/A | N/A | **Core** :–
- Intel Advanced Menu ⟶ Power & Performance ⟶ CPU - Power Management Control → Disabled |
+ | **Turbo Mode** | N/A | N/A | **Core** :–
- Intel Advanced Menu ⟶ Power & Performance ⟶ CPU - Power Management Control → Disabled |
+ | **RC6 (Render Standby)** | N/A | N/A | **Core** :–
- Intel Advanced Menu ⟶ Power & Performance ⟶ CPU - Power Management Control → Disabled |
+ | **Maximum GT freq** | N/A | N/A | **Core** :–
- Intel Advanced Menu ⟶ Power & Performance ⟶ CPU - Power Management Control → Lowest (usually 100MHz) |
+ | **SA GV** | N/A | N/A | **Core** :–
- Intel Advanced Menu ⟶ Memory Configuration → Fixed High |
+ | **VT-d** | N/A | N/A | **Core** :–
- Intel Advanced Menu ⟶ System Agent (SA) Configuration → Enabled |
+ | **PCI Express Clock Gating** | N/A | N/A | **Core** :–
- Intel Advanced Menu ⟶ System Agent (SA) Configuration ⟶ PCI Express Configuration → Disabled |
+ | **Gfx Low Power Mode** | N/A | N/A | **Core** :–
- Intel Advanced Menu ⟶ System Agent (SA) Configuration ⟶ Graphics Configuration → Disabled |
+ | **ACPI S3 Support** | N/A | N/A | **Core** :–
- Intel Advanced Menu ⟶ ACPI Settings → Disabled |
+ | **Native ASPM** | N/A | N/A | **Core** :–
- Intel Advanced Menu ⟶ ACPI Settings → Disabled |
+ | **Legacy IO Low Latency** | N/A | N/A | **Core** :–
- Intel Advanced Menu ⟶ PCH-IO Configuration → Enabled |
+ | **PCH Cross Throttling** | N/A | N/A | **Core** :–
- Intel Advanced Menu ⟶ PCH-IO Configuration → Disabled |
+ | **Delay Enable DMI ASPM** | N/A | N/A | **Core** :–
- Intel Advanced Menu ⟶ PCH-IO Configuration ⟶ PCI Express Configuration → Disabled |
+ | **DMI Link ASPM** | N/A | N/A | **Core** :–
- Intel Advanced Menu ⟶ PCH-IO Configuration ⟶ PCI Express Configuration → Disabled |
+ | **Aggressive LPM Support** | N/A | N/A | **Core** :–
- Intel Advanced Menu ⟶ PCH-IO Configuration ⟶ SATA And RST Configuration → Disabled |
+ | **USB Periodic SMI** | N/A | N/A | **Core** :–
- Intel Advanced Menu ⟶ LEGACY USB Configuration → Disabled |
+
+
+## Step 2: Download the ESH Profiles
+
+1. Select Configure & Download to download the Intel® Edge Enablement package.
+Configure & Download
+
+2. Download ESH Package
+
+ Recommended Configuration Package Download
+
+ #### Download steps for Profile 1 & Profile 3
+ 1. Select the profile for package download.
+ 2. Click on “Download”
+ 
+ *Figure 2: ESH Package for Intel® Edge Device Enablement Framework*
+ 3. Read the License Agreement and Click on “Accept”
+ 
+ *Figure 3: Accept the License Agreement*
+ 4. Package Download Begins.
+ 
+ *Figure 4: Package Download Process Begins *
+ 5. Provide file name to save the zip file
+ 
+ *Figure 5: Provide File Name *
+
+
+
+ Custom Configuration Package Download(Available for Profile 2 Only)
+
+ #### Download steps for Profile 2
+
+ 6. Select the `Va_Enablement_Node_Profile_24.11` for package download.
+ 7. Click on “Custom Configuration”
+ 
+ *Figure 2: ESH Package for Intel® Edge Device Enablement Framework*
+ 8. Select the containers & click Next
+ 
+ *Figure 2: Select the Containers*
+ 9. Select curation script & click on Next
+ 
+ *Figure 2: Select the Curation Script*
+ 10. Read the License Agreement and Click on “Accept”
+ 
+ *Figure 3: Accept the License Agreement*
+ 11. Package Download Begins.
+ 
+ *Figure 4: Package Download Process Begins *
+ 12. Provide file name to save the zip file
+ 
+ *Figure 5: Provide File Name *
+
+
+
+## Step 3: Configure
+
+The ESH Package will be downloaded on your Local System in a zip format, labeled as “.zip”.
+> Note: The curation script might set up a component using a reference configuration, which means it's the responsibility of the user or the VBU (Vertical Business Unit) to ensure that it is configured and deployed securely. For instance, when deploying OpenTelemetry (otel), it should be done with security in mind.
+
+1. Copy the ESH package from the Local System to a Edge Node running Ubuntu 22.04
+ 
+ *Figure 6: Copy ESH Package to Target System*
+2. Proceed to extract the compressed file to obtain the ESH Installer.
+ ```bash
+ $ unzip va_no_caas.zip
+ ```
+ 
+ *Figure 7: Unzip the ESH Package*
+3. Navigate to the extracted folder & modify the permissions of the ‘edgesoftware’ file to make it executable.
+ ```bash
+ $ chmod +x edgesoftware
+ ```
+
+ 
+ *Figure 8: Change Installer Permission*
+4. Create a Python virtual environment
+ - Navigate to the directory where you want to create the virtual environment, and then run below commands
+ ```bash
+ $ sudo apt install python3.12-venv
+ ```
+ ```bash
+ $ python3 -m venv venv
+ ```
+ - Activate the virtual environment:
+ ```bash
+ $ source ./venv/bin/activate
+ ```
+ 
+ *Figure 8: Starting the Python Virtual Environment*
+
+### Note:
+- The curation script might set up a component using a reference configuration, which means it's the responsibility of the user or the VBU (Vertical Business Unit) to ensure that it is configured and deployed securely. For instance, when deploying OpenTelemetry (otel), it should be done with security in mind.
+- For Base Profile-1 (va_enablement_node_k8s_profile), setting up certificate-based authentication as an alternative to password authentication can enhance security by relying on cryptographic mechanisms.
+- The curation script does not explicitly validate input parameters such as username, groupname, IP, password, and token. If these parameters are invalid, the respective utilities will throw an error.
+
+> Please refer to below secure config details-
+
+| **Agent/Component** | **Secure Config Detail** |
+|---------------------|--------------------------|
+| platform-observability-agent | [grafana datasource config](https://grafana.com/docs/grafana/latest/datasources/loki/)
[otel config](https://opentelemetry.io/docs/collector/configuration/) |
+| Prometheus | [prometheus config](https://prometheus.io/docs/prometheus/latest/configuration/configuration/) |
+
+#### Steps to modify curation script
+
+1. Navigate to the extracted folder & execute ./edgesoftware with download option.
+ ```bash
+ $ ./edgesoftware download
+ ```
+
+ 
+
+2. Navigate to the dir which contains curation script.
+ ```bash
+ $ vi va_enablement_node_k8s_profile.sh
+ ```
+
+ 
+ 
+
+## Step 4: Deploy
+
+1. This step is common across all the profiles. Execute the ESH Installer to begin the installation process by using the following command.
+ ```bash
+ $ ./edgesoftware install
+ ```
+ 
+ *Figure 10: Block Diagram*
+
+
+ Know more about Edge Node Worker & Controller
+
+### Edge Node Worker & Controller Block Diagram
+
+#### Master Node (Edge Node - Controller)
+
+Script on Edge Node Controller will perform following actions:
+
+- Install Kubectl and the necessary packages
+- Install and enable the RKE2 server
+
+Script on Edge Node Worker will perform following actions:
+- Install the native components
+- Install and enable the RKE2 agent
+- Establishes a connection between edge-node controller and worker node using controller node’s IP and token[requires user inputs]
+
+
+*Figure 10: Block Diagram*
+
+
+*Figure 11: Rke2 server bringup Master Node*
+
+
+*Figure 12: Rke2 server bringup Worker Node*
+
+
+
+
+### 4.1 User Inputs Required for Profile 1 Execution
+
+
+ User Input VA Enablement Node K8s Profile - Profile 1
+
+#### 1. Execute the below script to set-up the rke2 Server(Edge Node - Controller) with the correct proxy, install kubectl and RKE2 server and other essential packages
+
+ > Below script installs the RKE2 Kubernetes Server distribution and runs the services. It installs the kubectl (Kubernetes Command-Line Interface) for Creating and managing the resources on the cluster like Pods, Services and Deployments and to get their current running states.
+
+ ```bash
+
+ #!/bin/bash
+
+ #shellcheck source=/dev/null
+ # Load environment variables
+ load_environment_variables() {
+ source /etc/environment
+ export http_proxy https_proxy ftp_proxy socks_server no_proxy
+ }
+
+ # Install Docker
+ install_docker() {
+ echo "Commencing Docker installation..."
+ mkdir -p /etc/systemd/system/docker.service.d
+ cat << EOF > /etc/systemd/system/docker.service.d/proxy.conf
+ [Service]
+ Environment="HTTP_PROXY=${http_proxy}"
+ Environment="HTTPS_PROXY=${https_proxy}"
+ Environment="NO_PROXY=${no_proxy}"
+ EOF
+ }
+
+ # Configure RKE2 proxy settings
+ configure_rke2_proxy() {
+ echo "Configuring RKE2 proxy settings..."
+ rke_proxy_conf="[Service]\nHTTP_PROXY=$http_proxy\nHTTPS_PROXY=$https_proxy\nNO_PROXY=$no_proxy\n"
+ echo -e "$rke_proxy_conf" | tee /etc/default/rke2-server >/dev/null
+ cat /etc/default/rke2-server
+ }
+
+ # Install Kubectl
+ install_kubectl() {
+ echo "Installing Kubectl..."
+ curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
+ chmod +x ./kubectl
+ mv ./kubectl /usr/local/bin/kubectl
+ }
+
+ # Install required packages
+ install_required_packages() {
+ echo "Updating package lists and installing required packages..."
+ apt-get update
+ apt-get install -y ca-certificates curl
+ install -m 0755 -d /etc/apt/keyrings
+ curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
+ chmod a+r /etc/apt/keyrings/docker.asc
+ echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
+ apt-get update
+ apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
+ usermod -aG docker "$USER"
+ systemctl daemon-reload
+ systemctl restart docker
+ chmod 666 /var/run/docker.sock
+ }
+
+ # Install RKE2 server
+ install_rke2_server() {
+ echo "Installing RKE2 server..."
+ curl -sfL https://get.rke2.io | INSTALL_RKE2_VERSION=v1.28.10+rke2r1 sh -
+ echo "Configuring RKE2 server..."
+ timeout 120 rke2 server > /dev/null 2>&1
+ sudo mkdir -p /etc/rancher/rke2
+ cat << EOF > /etc/rancher/rke2/config.yaml
+ write-kubeconfig-mode: "0640"
+ cni:
+ - multus
+ - calico
+ https-listen-port: 9345
+ EOF
+ sudo systemctl enable rke2-server.service
+ sudo systemctl start rke2-server.service
+ }
+
+ # Display RKE2 server token
+ display_rke2_server_token() {
+ echo "RKE2 Server Token for EdgeNode Worker:"
+ echo "--- 8< --- start of server token info --- 8< ---"
+ cat /var/lib/rancher/rke2/server/node-token
+ echo "--- 8< --- end of server token info --- 8< ---"
+ }
+
+ # Configure kubectl
+ configure_kubectl() {
+ echo "Configuring kubectl..."
+ mkdir -p /"$USER"/.kube
+ cp /etc/rancher/rke2/rke2.yaml /"$USER"/.kube/config
+ chmod 755 /etc/rancher/rke2/rke2.yaml
+ echo "chmod 755 /etc/rancher/rke2/rke2.yaml" >>~/.profile
+ chmod 755 /"$USER"/.kube/config
+ chown "$USER":"$USER" /"$USER"/.kube/config
+ kubectl get pods -A
+ }
+
+ # Main function to orchestrate the setup
+ main() {
+ load_environment_variables
+ install_docker
+ configure_rke2_proxy
+ install_kubectl
+ install_required_packages
+ install_rke2_server
+ display_rke2_server_token
+ configure_kubectl
+ echo "Setup complete."
+ }
+
+ # Execute the main function
+ main
+
+ ```
+
+#### 2. Fetch the server token
+
+ ```bash
+ $ cat /var/lib/rancher/rke2/server/node-token
+ ```
+
+#### 3. The user needs to set-up the server(Edge Node - Controller) and then execute the installer script with the below input parameters on the Edge Node - Worker(Supports Multi Worker Nodes).
+
+#### Parameters:-
+
+| Prompt | User Input |
+|-----------------------|-----------------------------------------------|
+| Server IP | Provide Server IP |
+| Server Token | Provide Server token (steps to fetch server token are provided below) |
+| Username | Server Username |
+| Password | Server Password |
+| License Agreement | Y |
+
+#### 4. Once the connection is established, execute the below script on Edge Node - Controller to install Helm Charts(Grafana, Network SRIOV Plugins, AKri, IPSEC Stack, GPU Plugins)
+
+ ```bash
+ #!/bin/bash
+
+ if test "$(id -u)" -ne 0;then
+ exec sudo "$0" ${1+"$@"};
+ fi
+ set -e
+
+ echo 'NTP=corp.intel.com' >> /etc/systemd/timesyncd.conf
+
+ STATUS_DIR=$(pwd)
+ LOGFILE="$STATUS_DIR/output.log"
+ exec > >(tee -a "$LOGFILE") 2>&1
+
+ declare -i Intel_DMZ_Proxy_mod_build_status
+ declare -i intel_proxy_build_status
+ declare -i Disable_Popup_mod_build_status
+ declare -i disable_popup_build_status
+ declare -i Build_Dependency_mod_build_status
+ declare -i Build_Dependency_build_status
+ declare -i CA_Cert_Installation_mod_build_status
+ declare -i ca_certificate_installation_build_status
+ declare -i Docker_Install_mod_build_status
+ declare -i docker_ce_build_status
+ declare -i docker_compose_build_status
+ declare -i docker_install_build_status
+ declare -i rke2_dependency_mod_build_status
+ declare -i rke2_agent_dependency_build_status
+ declare -i Helm_Login_mod_build_status
+ declare -i helm_login_build_status
+ declare -i Device_Discovery_mod_build_status
+ declare -i nfd_build_status
+ declare -i akri_build_status
+ declare -i Istio_Service_Mesh_mod_build_status
+ declare -i istio_build_status
+ declare -i Kubernetes_Virtualisation_mod_build_status
+ declare -i kubevirt_build_status
+ declare -i loki_mod_build_status
+ declare -i loki_build_status
+ declare -i cert_manager_mod_build_status
+ declare -i cert_manager_build_status
+ declare -i Network_Sriov_Plugins_mod_build_status
+ declare -i sriov_network_operator_build_status
+ declare -i Kubernetes_Persistent_Volumes_mod_build_status
+ declare -i openebs_build_status
+ declare -i Oras_mod_build_status
+ declare -i oras_build_status
+ declare -i Observability_Stack_for_Kubernetes_Cluster_mod_build_status
+ declare -i rke2_multus_build_status
+ declare -i cdi_build_status
+ declare -i rke2_coredns_build_status
+ declare -i prometheus_build_status
+ declare -i Intel_GPU_Plugin_mod_build_status
+ declare -i intel_gpu_plugin_build_status
+ declare -i HW_BOM_mod_build_status
+ declare -i os_build_status
+ declare -i hw_bom_build_status
+ declare -i Secure_Boot_mod_build_status
+ declare -i secure_boot_build_status
+ declare -i Validation_Report_Generation_mod_build_status
+ declare -i validation_report_generation_build_status
+
+ SETUP_STATUS_FILENAME="install_pkgs_status"
+ PACKAGE_BUILD_FILENAME="package_build_time"
+ STATUS_DIR=$(pwd)
+ STATUS_DIR_FILE_PATH=$STATUS_DIR/$SETUP_STATUS_FILENAME
+ PACKAGE_BUILD_TIME_FILE=$STATUS_DIR/$PACKAGE_BUILD_FILENAME
+
+ touch "$PACKAGE_BUILD_TIME_FILE"
+ if [ -e "$STATUS_DIR_FILE_PATH" ]; then
+ echo "FIle $STATUS_DIR_FILE_PATH exists"
+ else
+ touch "$STATUS_DIR_FILE_PATH"
+ {
+ echo "Intel_DMZ_Proxy_mod_build_status=0"
+ echo "intel_proxy_build_status=0"
+ echo "Disable_Popup_mod_build_status=0"
+ echo "disable_popup_build_status=0"
+ echo "Build_Dependency_mod_build_status=0"
+ echo "Build_Dependency_build_status=0"
+ echo "CA_Cert_Installation_mod_build_status=0"
+ echo "ca_certificate_installation_build_status=0"
+ echo "Docker_Install_mod_build_status=0"
+ echo "docker_ce_build_status=0"
+ echo "docker_compose_build_status=0"
+ echo "docker_install_build_status=0"
+ echo "rke2_dependency_mod_build_status=0"
+ echo "rke2_agent_dependency_build_status=0"
+ echo "Helm_Login_mod_build_status=0"
+ echo "helm_login_build_status=0"
+ echo "Device_Discovery_mod_build_status=0"
+ echo "nfd_build_status=0"
+ echo "akri_build_status=0"
+ echo "Istio_Service_Mesh_mod_build_status=0"
+ echo "istio_build_status=0"
+ echo "Kubernetes_Virtualisation_mod_build_status=0"
+ echo "kubevirt_build_status=0"
+ echo "loki_mod_build_status=0"
+ echo "loki_build_status=0"
+ echo "cert_manager_mod_build_status=0"
+ echo "cert_manager_build_status=0"
+ echo "Network_Sriov_Plugins_mod_build_status=0"
+ echo "sriov_network_operator_build_status=0"
+ echo "Kubernetes_Persistent_Volumes_mod_build_status=0"
+ echo "openebs_build_status=0"
+ echo "Oras_mod_build_status=0"
+ echo "oras_build_status=0"
+ echo "Observability_Stack_for_Kubernetes_Cluster_mod_build_status=0"
+ echo "rke2_multus_build_status=0"
+ echo "cdi_build_status=0"
+ echo "rke2_coredns_build_status=0"
+ echo "prometheus_build_status=0"
+ echo "Intel_GPU_Plugin_mod_build_status=0"
+ echo "intel_gpu_plugin_build_status=0"
+ echo "HW_BOM_mod_build_status=0"
+ echo "os_build_status=0"
+ echo "hw_bom_build_status=0"
+ echo "Secure_Boot_mod_build_status=0"
+ echo "secure_boot_build_status=0"
+ echo "Validation_Report_Generation_mod_build_status=0"
+ echo "validation_report_generation_build_status=0"
+ }>> "$STATUS_DIR_FILE_PATH"
+ fi
+
+ #shellcheck source=/dev/null
+ source "$STATUS_DIR_FILE_PATH"
+
+
+ if [ "$Intel_DMZ_Proxy_mod_build_status" -ne 1 ]; then
+ if [ "$intel_proxy_build_status" -ne 1 ]; then
+ SECONDS=0
+ https_proxy="http://proxy-dmz.intel.com:911"
+ ftp_proxy="http://proxy-dmz.intel.com:911"
+ socks_proxy="socks://proxy-dmz.intel.com:1080"
+ no_proxy="localhost,*.intel.com,*intel.com,192.168.0.0/16,172.16.0.0/12,127.0.0.0/8,10.0.0.0/8,/var/run/docker.sock,.internal"
+ http_proxy="http://proxy-dmz.intel.com:911"
+ HTTP_PROXY="http://proxy-dmz.intel.com:911/"
+ HTTPS_PROXY="http://proxy-dmz.intel.com:912/"
+ NO_PROXY="localhost,*.intel.com,*intel.com,192.168.0.0/16,172.16.0.0/12,127.0.0.0/8,10.0.0.0/8,/var/run/docker.sock"
+ if grep -q "http_proxy" /etc/environment && grep -q "https_proxy" /etc/environment && grep -q "ftp_proxy" /etc/environment && grep -q "no_proxy" /etc/environment && grep -q "HTTP_PROXY" /etc/environment && grep -q "LD_LIBRARY_PATH" /etc/environment; then
+ echo "Proxies are already present in /etc/environment."
+ else
+ {
+ echo http_proxy=$http_proxy
+ echo https_proxy=$https_proxy
+ echo ftp_proxy=$ftp_proxy
+ echo socks_proxy=$socks_proxy
+ echo no_proxy="$no_proxy"
+ echo HTTP_PROXY=$HTTP_PROXY
+ echo HTTPS_PROXY=$HTTPS_PROXY
+ echo NO_PROXY="$NO_PROXY"
+ echo LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/
+ } >> /etc/environment
+ echo "Proxies added to /etc/environment."
+ fi
+ #shellcheck source=/dev/null
+ source /etc/environment
+ export http_proxy https_proxy ftp_proxy socks_proxy no_proxy;
+
+ sed -i 's/intel_proxy_build_status=0/intel_proxy_build_status=1/g' "$STATUS_DIR_FILE_PATH"
+
+ elapsedseconds=$SECONDS
+ echo "intel_proxy build time = $((elapsedseconds))" >> "$PACKAGE_BUILD_TIME_FILE"
+
+ fi
+
+ sed -i 's/Intel_DMZ_Proxy_mod_build_status=0/Intel_DMZ_Proxy_mod_build_status=1/g' "$STATUS_DIR_FILE_PATH"
+
+ fi
+
+ if [ "$Disable_Popup_mod_build_status" -ne 1 ]; then
+ if [ "$disable_popup_build_status" -ne 1 ]; then
+ SECONDS=0
+ if [ -e /etc/needrestart/needrestart.conf ]; then
+ echo "Disable hints on pending kernel upgrades"
+ sed -i "s/\#\\\$nrconf{kernelhints} = -1;/\$nrconf{kernelhints} = -1;/g" /etc/needrestart/needrestart.conf
+ sed -i "s/^#\\\$nrconf{restart} = 'i';/\$nrconf{restart} = 'a';/" /etc/needrestart/needrestart.conf
+ grep "nrconf{kernelhints}" /etc/needrestart/needrestart.conf
+ grep "nrconf{restart}" /etc/needrestart/needrestart.conf
+ fi
+
+ sed -i 's/disable_popup_build_status=0/disable_popup_build_status=1/g' "$STATUS_DIR_FILE_PATH"
+
+ elapsedseconds=$SECONDS
+ echo "disable_popup build time = $((elapsedseconds))" >> "$PACKAGE_BUILD_TIME_FILE"
+
+ fi
+
+ sed -i 's/Disable_Popup_mod_build_status=0/Disable_Popup_mod_build_status=1/g' "$STATUS_DIR_FILE_PATH"
+
+ fi
+
+ if [ "$Build_Dependency_mod_build_status" -ne 1 ]; then
+ if [ "$Build_Dependency_build_status" -ne 1 ]; then
+ SECONDS=0
+ echo \\\"Install build essentials\\\"
+ apt-get update
+ apt-get install -y bash python3 python3-dev ca-certificates wget python3-pip git
+ apt-get -y -q install bc build-essential ccache gcc git wget xz-utils libncurses-dev flex
+ apt-get -y -q install bison openssl libssl-dev dkms libelf-dev libudev-dev libpci-dev
+ apt-get -y -q install libiberty-dev autoconf cpio
+ apt-get -y install lz4 debhelper unzip jq
+ systemctl daemon-reload
+ systemctl restart snapd
+ snap install oras --classic
+ echo \\\"Build essentials installation done\\\"
+
+
+ sed -i 's/Build_Dependency_build_status=0/Build_Dependency_build_status=1/g' "$STATUS_DIR_FILE_PATH"
+
+ elapsedseconds=$SECONDS
+ echo "Build_Dependency build time = $((elapsedseconds))" >> "$PACKAGE_BUILD_TIME_FILE"
+
+ fi
+
+ sed -i 's/Build_Dependency_mod_build_status=0/Build_Dependency_mod_build_status=1/g' "$STATUS_DIR_FILE_PATH"
+
+ fi
+
+ if [ "$CA_Cert_Installation_mod_build_status" -ne 1 ]; then
+ if [ "$ca_certificate_installation_build_status" -ne 1 ]; then
+ SECONDS=0
+ mkdir -p ca_cert
+ cd ca_cert
+ wget http://owrdropbox.intel.com/dropbox/public/Ansible/certificates/IntelCA5A-base64.crt --no-proxy
+ wget http://owrdropbox.intel.com/dropbox/public/Ansible/certificates/IntelCA5B-base64.crt --no-proxy
+ wget http://owrdropbox.intel.com/dropbox/public/Ansible/certificates/IntelSHA256RootCA-base64.crt --no-proxy
+ cp Intel* /usr/local/share/ca-certificates/
+ update-ca-certificates
+ cd ..
+ rm -r ca_cert
+
+ sed -i 's/ca_certificate_installation_build_status=0/ca_certificate_installation_build_status=1/g' "$STATUS_DIR_FILE_PATH"
+
+ elapsedseconds=$SECONDS
+ echo "ca_certificate_installation build time = $((elapsedseconds))" >> "$PACKAGE_BUILD_TIME_FILE"
+
+ fi
+
+ sed -i 's/CA_Cert_Installation_mod_build_status=0/CA_Cert_Installation_mod_build_status=1/g' "$STATUS_DIR_FILE_PATH"
+
+ fi
+
+ if [ "$Docker_Install_mod_build_status" -ne 1 ]; then
+ if [ "$docker_ce_build_status" -ne 1 ]; then
+ SECONDS=0
+
+ sed -i 's/docker_ce_build_status=0/docker_ce_build_status=1/g' "$STATUS_DIR_FILE_PATH"
+
+ elapsedseconds=$SECONDS
+ echo "docker_ce build time = $((elapsedseconds))" >> "$PACKAGE_BUILD_TIME_FILE"
+
+ fi
+ if [ "$docker_compose_build_status" -ne 1 ]; then
+ SECONDS=0
+
+ sed -i 's/docker_compose_build_status=0/docker_compose_build_status=1/g' "$STATUS_DIR_FILE_PATH"
+
+ elapsedseconds=$SECONDS
+ echo "docker_compose build time = $((elapsedseconds))" >> "$PACKAGE_BUILD_TIME_FILE"
+
+ fi
+ if [ "$docker_install_build_status" -ne 1 ]; then
+ SECONDS=0
+ echo \"Installing Docker\"
+ mkdir -p /etc/systemd/system/docker.service.d
+ cat << EOF > /etc/systemd/system/docker.service.d/proxy.conf
+ [Service]
+ Environment="HTTP_PROXY=http://proxy-dmz.intel.com:911/"
+ Environment="HTTPS_PROXY=http://proxy-dmz.intel.com:912/"
+ Environment="NO_PROXY=localhost,*.intel.com,*intel.com,192.168.0.0/16,172.16.0.0/12,127.0.0.0/8,10.0.0.0/8,/var/run/docker.sock"
+ EOF
+
+ echo \"***installing docker***\"
+ for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do apt-get -y remove $pkg; done
+
+ apt-get update
+ apt-get -y install ca-certificates curl cmake g++ wget unzip
+ install -m 0755 -d /etc/apt/keyrings
+ curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
+ chmod a+r /etc/apt/keyrings/docker.asc
+ #shellcheck source=/dev/null
+ echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null
+
+ apt-get update
+
+ apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
+
+ systemctl daemon-reload
+ systemctl restart docker
+
+
+ sed -i 's/docker_install_build_status=0/docker_install_build_status=1/g' "$STATUS_DIR_FILE_PATH"
+
+ elapsedseconds=$SECONDS
+ echo "docker_install build time = $((elapsedseconds))" >> "$PACKAGE_BUILD_TIME_FILE"
+
+ fi
+
+ sed -i 's/Docker_Install_mod_build_status=0/Docker_Install_mod_build_status=1/g' "$STATUS_DIR_FILE_PATH"
+
+ fi
+
+
+ if [ "$rke2_dependency_mod_build_status" -ne 1 ]; then
+ if [ "$rke2_agent_dependency_build_status" -ne 1 ]; then
+ SECONDS=0
+ apt-get install -y sshpass jq unzip curl
+ echo "Installing Helm"
+ snap set system proxy.http="http://proxy-dmz.intel.com:911"
+ snap set system proxy.https="http://proxy-dmz.intel.com:912"
+ snap install helm --classic
+
+ sed -i 's/rke2_agent_dependency_build_status=0/rke2_agent_dependency_build_status=1/g' "$STATUS_DIR_FILE_PATH"
+
+ elapsedseconds=$SECONDS
+ echo "rke2_agent_dependency build time = $((elapsedseconds))" >> "$PACKAGE_BUILD_TIME_FILE"
+
+ fi
+
+ sed -i 's/rke2_dependency_mod_build_status=0/rke2_dependency_mod_build_status=1/g' "$STATUS_DIR_FILE_PATH"
+
+ fi
+
+ if [ "$Helm_Login_mod_build_status" -ne 1 ]; then
+ if [ "$helm_login_build_status" -ne 1 ]; then
+ SECONDS=0
+ registry="registry-rs.internal.ledgepark.intel.com"
+ read -r -p "Please paste your id token here:" TKN
+ helm_login_status=$(echo "$TKN" | helm registry login --password-stdin $registry 2>&1)
+
+ if [[ $helm_login_status != *"Succeeded"* ]]
+ then
+ echo "Please Enter Valid ID Token for Helm Login."
+ exit 1
+ fi
+
+ oras_login_status=$(echo "$TKN" | oras login --password-stdin $registry)
+ if [[ $oras_login_status != *"Succeeded"* ]]
+ then
+ echo "Please Enter Valid ID Token for Oras Login."
+ exit 1
+ fi
+
+
+ sed -i 's/helm_login_build_status=0/helm_login_build_status=1/g' "$STATUS_DIR_FILE_PATH"
+
+ elapsedseconds=$SECONDS
+ echo "helm_login build time = $((elapsedseconds))" >> "$PACKAGE_BUILD_TIME_FILE"
+
+ fi
+
+ sed -i 's/Helm_Login_mod_build_status=0/Helm_Login_mod_build_status=1/g' "$STATUS_DIR_FILE_PATH"
+
+ fi
+
+ if [ "$Device_Discovery_mod_build_status" -ne 1 ]; then
+ if [ "$nfd_build_status" -ne 1 ]; then
+ SECONDS=0
+ #Installing nfd/node feature discovery
+
+ helm pull oci://"${registry}"/one-intel-edge/edge-node/nfd --version 0.1.3
+ helm install --create-namespace --namespace=nfd nfd nfd-0.1.3.tgz
+
+ kubectl get all -A | grep nfd
+
+ sed -i 's/nfd_build_status=0/nfd_build_status=1/g' "$STATUS_DIR_FILE_PATH"
+
+ elapsedseconds=$SECONDS
+ echo "nfd build time = $((elapsedseconds))" >> "$PACKAGE_BUILD_TIME_FILE"
+
+ fi
+ if [ "$akri_build_status" -ne 1 ]; then
+ SECONDS=0
+ #Installing Akri
+
+ helm pull oci://"${registry}"/one-intel-edge/edge-node/akri --version 0.12.13
+ helm install --create-namespace --namespace=akri akri akri-0.12.13.tgz
+
+ kubectl get all -A | grep akri
+
+ sed -i 's/akri_build_status=0/akri_build_status=1/g' "$STATUS_DIR_FILE_PATH"
+
+ elapsedseconds=$SECONDS
+ echo "akri build time = $((elapsedseconds))" >> "$PACKAGE_BUILD_TIME_FILE"
+
+ fi
+
+ sed -i 's/Device_Discovery_mod_build_status=0/Device_Discovery_mod_build_status=1/g' "$STATUS_DIR_FILE_PATH"
+
+ fi
+
+ if [ "$Istio_Service_Mesh_mod_build_status" -ne 1 ]; then
+ if [ "$istio_build_status" -ne 1 ]; then
+ SECONDS=0
+ curl -L https://istio.io/downloadIstio | ISTIO_VERSION=1.18.1 TARGET_ARCH=x86_64 sh -
+ cd istio-1.18.1 || exit
+ export PATH=$PWD/bin:$PATH
+ istioctl install -y
+
+ kubectl get all -A | grep istio-system
+
+ cd ../
+
+ sed -i 's/istio_build_status=0/istio_build_status=1/g' "$STATUS_DIR_FILE_PATH"
+
+ elapsedseconds=$SECONDS
+ echo "istio build time = $((elapsedseconds))" >> "$PACKAGE_BUILD_TIME_FILE"
+
+ fi
+
+ sed -i 's/Istio_Service_Mesh_mod_build_status=0/Istio_Service_Mesh_mod_build_status=1/g' "$STATUS_DIR_FILE_PATH"
+
+ fi
+
+ if [ "$Kubernetes_Virtualisation_mod_build_status" -ne 1 ]; then
+ if [ "$kubevirt_build_status" -ne 1 ]; then
+ SECONDS=0
+ helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
+ helm repo update
+ kubectl create ns monitoring
+ kubectl create ns observability
+ helm fetch prometheus-community/kube-prometheus-stack --version 65.0.0
+ tar -xvzf kube-prometheus-stack-65.0.0.tgz
+ cd kube-prometheus-stack
+ sed -i 's/^ isDefaultDatasource: true/ isDefaultDatasource: false/' values.yaml
+ sed -i '/## HTTP path to scrape for metrics/{n;n;s|# path: /metrics| ##\n ##\n path: http://localhost:9091/metrics|}' values.yaml
+ helm install -n monitoring -f values.yaml prometheus prometheus-community/kube-prometheus-stack
+
+ #Install Kubevirt
+ helm pull oci://"${registry}"/one-intel-edge/edge-node/kubevirt --version 1.1.3
+ helm install --create-namespace --namespace=kubevirt kubevirt kubevirt-1.1.3.tgz
+ helm pull oci://"${registry}"/one-intel-edge/edge-node/cdi --version 1.58.2
+ helm install --create-namespace --namespace=cdi cdi cdi-1.58.2.tgz
+
+ kubectl get all -A | grep kubevirt
+ kubectl get all -A | grep cdi
+
+ sed -i 's/kubevirt_build_status=0/kubevirt_build_status=1/g' "$STATUS_DIR_FILE_PATH"
+
+ elapsedseconds=$SECONDS
+ echo "kubevirt build time = $((elapsedseconds))" >> "$PACKAGE_BUILD_TIME_FILE"
+
+ fi
+
+ sed -i 's/Kubernetes_Virtualisation_mod_build_status=0/Kubernetes_Virtualisation_mod_build_status=1/g' "$STATUS_DIR_FILE_PATH"
+
+ fi
+
+ if [ "$loki_mod_build_status" -ne 1 ]; then
+ if [ "$loki_build_status" -ne 1 ]; then
+ SECONDS=0
+ #Installing loki
+
+ helm repo add grafana https://grafana.github.io/helm-charts
+ helm repo list
+ helm repo update
+
+ helm install loki grafana/loki-stack -n monitoring
+
+ sed -i 's/loki_build_status=0/loki_build_status=1/g' "$STATUS_DIR_FILE_PATH"
+
+ elapsedseconds=$SECONDS
+ echo "loki build time = $((elapsedseconds))" >> "$PACKAGE_BUILD_TIME_FILE"
+
+ fi
+
+ sed -i 's/loki_mod_build_status=0/loki_mod_build_status=1/g' "$STATUS_DIR_FILE_PATH"
+
+ fi
+
+ if [ "$cert_manager_mod_build_status" -ne 1 ]; then
+ if [ "$cert_manager_build_status" -ne 1 ]; then
+ SECONDS=0
+ helm pull oci://"${registry}"/one-intel-edge/edge-node/cert-manager --version 1.14.3
+ helm install --create-namespace --namespace=cert-manager cert-manager cert-manager-1.14.3.tgz
+
+ sed -i 's/cert_manager_build_status=0/cert_manager_build_status=1/g' "$STATUS_DIR_FILE_PATH"
+
+ elapsedseconds=$SECONDS
+ echo "cert_manager build time = $((elapsedseconds))" >> "$PACKAGE_BUILD_TIME_FILE"
+
+ fi
+
+ sed -i 's/cert_manager_mod_build_status=0/cert_manager_mod_build_status=1/g' "$STATUS_DIR_FILE_PATH"
+
+ fi
+
+ if [ "$Network_Sriov_Plugins_mod_build_status" -ne 1 ]; then
+ if [ "$sriov_network_operator_build_status" -ne 1 ]; then
+ SECONDS=0
+ echo "SRIOV"
+ snap install go --classic
+ # Clone the repository
+ git clone https://github.com/k8snetworkplumbingwg/sriov-network-operator.git
+ cd sriov-network-operator
+
+ # Initialize a Go module (if not already initialized)
+ #if [ ! -f "go.mod" ]; then
+ # go mod init github.com/k8snetworkplumbingwg/sriov-network-operator
+ #fi
+ # Download the dependencies
+ #go mod tidy
+ #echo "sriov-network-operator repository has been cloned and Go module has been set up successfully."
+ #make deploy-setup-k8s
+
+ #kubectl create ns sriov-network-operator
+ #kubectl -n sriov-network-operator create secret tls operator-webhook-cert --cert=cert.pem --key=key.pem
+ #kubectl -n sriov-network-operator create secret tls network-resources-injector-cert --cert=cert.pem --key=key.pem
+ #export ADMISSION_CONTROLLERS_ENABLED=true
+ #export ADMISSION_CONTROLLERS_CERTIFICATES_OPERATOR_CA_CRT=$(base64 -w 0 < cacert.pem)
+ #export ADMISSION_CONTROLLERS_CERTIFICATES_INJECTOR_CA_CRT=$(base64 -w 0 < cacert.pem)
+ #make deploy-setup-k8s
+
+ #kubectl apply -f https://github.com/jetstack/cert-manager/releases/download/v1.3.0/cert-manager.yaml
+
+ kubectl create ns sriov-network-operator
+ cat <> "$PACKAGE_BUILD_TIME_FILE"
+
+ fi
+
+ sed -i 's/Network_Sriov_Plugins_mod_build_status=0/Network_Sriov_Plugins_mod_build_status=1/g' "$STATUS_DIR_FILE_PATH"
+
+ fi
+
+ if [ "$Kubernetes_Persistent_Volumes_mod_build_status" -ne 1 ]; then
+ if [ "$openebs_build_status" -ne 1 ]; then
+ SECONDS=0
+ helm pull oci://"${registry}"/one-intel-edge/edge-node/openebs --version 3.10.0
+ helm install --create-namespace --namespace=openebs openebs openebs-3.10.0.tgz
+ kubectl port-forward svc/prometheus-grafana -n monitoring 3000:80 &
+ kubectl port-forward svc/prometheus-kube-prometheus-prometheus -n monitoring 9090:9090 &
+
+ sed -i 's/openebs_build_status=0/openebs_build_status=1/g' "$STATUS_DIR_FILE_PATH"
+
+ elapsedseconds=$SECONDS
+ echo "openebs build time = $((elapsedseconds))" >> "$PACKAGE_BUILD_TIME_FILE"
+
+ fi
+
+ sed -i 's/Kubernetes_Persistent_Volumes_mod_build_status=0/Kubernetes_Persistent_Volumes_mod_build_status=1/g' "$STATUS_DIR_FILE_PATH"
+
+ fi
+
+ if [ "$Oras_mod_build_status" -ne 1 ]; then
+ if [ "$oras_build_status" -ne 1 ]; then
+ SECONDS=0
+ echo \"###### Checking and Installing oras######\"
+ if ! command -v oras &> /dev/null
+ then
+ echo \"oras is not available. Installing..\"
+ systemctl daemon-reload
+ systemctl restart snapd
+ snap install oras --classic
+ if oras version &> /dev/null
+ then
+ echo \"oras installation is successful\"
+ else
+ echo \"oras installation Failed!!\"
+ fi
+ else
+ echo \"oras is already available on the setup. Proceeding further..\"
+ fi
+
+ sed -i 's/oras_build_status=0/oras_build_status=1/g' "$STATUS_DIR_FILE_PATH"
+
+ elapsedseconds=$SECONDS
+ echo "oras build time = $((elapsedseconds))" >> "$PACKAGE_BUILD_TIME_FILE"
+
+ fi
+
+ sed -i 's/Oras_mod_build_status=0/Oras_mod_build_status=1/g' "$STATUS_DIR_FILE_PATH"
+
+ fi
+
+ if [ "$Observability_Stack_for_Kubernetes_Cluster_mod_build_status" -ne 1 ]; then
+ if [ "$rke2_multus_build_status" -ne 1 ]; then
+ SECONDS=0
+
+ sed -i 's/rke2_multus_build_status=0/rke2_multus_build_status=1/g' "$STATUS_DIR_FILE_PATH"
+
+ elapsedseconds=$SECONDS
+ echo "rke2_multus build time = $((elapsedseconds))" >> "$PACKAGE_BUILD_TIME_FILE"
+
+ fi
+ if [ "$cdi_build_status" -ne 1 ]; then
+ SECONDS=0
+
+ sed -i 's/cdi_build_status=0/cdi_build_status=1/g' "$STATUS_DIR_FILE_PATH"
+
+ elapsedseconds=$SECONDS
+ echo "cdi build time = $((elapsedseconds))" >> "$PACKAGE_BUILD_TIME_FILE"
+
+ fi
+ if [ "$rke2_coredns_build_status" -ne 1 ]; then
+ SECONDS=0
+
+ sed -i 's/rke2_coredns_build_status=0/rke2_coredns_build_status=1/g' "$STATUS_DIR_FILE_PATH"
+
+ elapsedseconds=$SECONDS
+ echo "rke2_coredns build time = $((elapsedseconds))" >> "$PACKAGE_BUILD_TIME_FILE"
+
+ fi
+
+ if [ "$prometheus_build_status" -ne 1 ]; then
+ SECONDS=0
+
+ sed -i 's/prometheus_build_status=0/prometheus_build_status=1/g' "$STATUS_DIR_FILE_PATH"
+
+ elapsedseconds=$SECONDS
+ echo "prometheus build time = $((elapsedseconds))" >> "$PACKAGE_BUILD_TIME_FILE"
+
+ fi
+
+ sed -i 's/Observability_Stack_for_Kubernetes_Cluster_mod_build_status=0/Observability_Stack_for_Kubernetes_Cluster_mod_build_status=1/g' "$STATUS_DIR_FILE_PATH"
+
+ fi
+
+ if [ "$Intel_GPU_Plugin_mod_build_status" -ne 1 ]; then
+ if [ "$intel_gpu_plugin_build_status" -ne 1 ]; then
+ SECONDS=0
+ kubectl apply -k 'https://github.com/intel/intel-device-plugins-for-kubernetes/deployments/nfd?ref=v0.28.0'
+ kubectl apply -k 'https://github.com/intel/intel-device-plugins-for-kubernetes/deployments/nfd/overlays/node-feature-rules?ref=v0.28.0'
+ kubectl apply -k 'https://github.com/intel/intel-device-plugins-for-kubernetes/deployments/gpu_plugin/overlays/nfd_labeled_nodes?ref=v0.28.0'
+
+ sed -i 's/intel_gpu_plugin_build_status=0/intel_gpu_plugin_build_status=1/g' "$STATUS_DIR_FILE_PATH"
+
+ elapsedseconds=$SECONDS
+ echo "intel_gpu_plugin build time = $((elapsedseconds))" >> "$PACKAGE_BUILD_TIME_FILE"
+
+ fi
+
+ sed -i 's/Intel_GPU_Plugin_mod_build_status=0/Intel_GPU_Plugin_mod_build_status=1/g' "$STATUS_DIR_FILE_PATH"
+
+ fi
+
+ if [ "$HW_BOM_mod_build_status" -ne 1 ]; then
+ if [ "$os_build_status" -ne 1 ]; then
+ SECONDS=0
+
+ sed -i 's/os_build_status=0/os_build_status=1/g' "$STATUS_DIR_FILE_PATH"
+
+ elapsedseconds=$SECONDS
+ echo "os build time = $((elapsedseconds))" >> "$PACKAGE_BUILD_TIME_FILE"
+
+ fi
+ if [ "$hw_bom_build_status" -ne 1 ]; then
+ SECONDS=0
+
+ sed -i 's/hw_bom_build_status=0/hw_bom_build_status=1/g' "$STATUS_DIR_FILE_PATH"
+
+ elapsedseconds=$SECONDS
+ echo "hw_bom build time = $((elapsedseconds))" >> "$PACKAGE_BUILD_TIME_FILE"
+
+ fi
+
+ sed -i 's/HW_BOM_mod_build_status=0/HW_BOM_mod_build_status=1/g' "$STATUS_DIR_FILE_PATH"
+
+ fi
+
+ if [ "$Secure_Boot_mod_build_status" -ne 1 ]; then
+ if [ "$secure_boot_build_status" -ne 1 ]; then
+ SECONDS=0
+
+ sed -i 's/secure_boot_build_status=0/secure_boot_build_status=1/g' "$STATUS_DIR_FILE_PATH"
+
+ elapsedseconds=$SECONDS
+ echo "secure_boot build time = $((elapsedseconds))" >> "$PACKAGE_BUILD_TIME_FILE"
+
+ fi
+
+ sed -i 's/Secure_Boot_mod_build_status=0/Secure_Boot_mod_build_status=1/g' "$STATUS_DIR_FILE_PATH"
+
+ fi
+
+ if [ "$Validation_Report_Generation_mod_build_status" -ne 1 ]; then
+ if [ "$validation_report_generation_build_status" -ne 1 ]; then
+ SECONDS=0
+
+ sed -i 's/validation_report_generation_build_status=0/validation_report_generation_build_status=1/g' "$STATUS_DIR_FILE_PATH"
+
+ elapsedseconds=$SECONDS
+ echo "validation_report_generation build time = $((elapsedseconds))" >> "$PACKAGE_BUILD_TIME_FILE"
+
+ fi
+
+ sed -i 's/Validation_Report_Generation_mod_build_status=0/Validation_Report_Generation_mod_build_status=1/g' "$STATUS_DIR_FILE_PATH"
+
+ fi
+
+ ```
+
+#### 5. Signing Kernel for secure boot enablement (Post Installer Script execution)
+ Please Refer to section [4.4](#44-signing-kernel-for-secure-boot-enablement-post-installer-script-execution-required-for-profile-1--2) for kernel signing
+
+### 4.2 User Inputs Required for Profile 2 Execution
+
+
+ User Input VA Enablement Node - Profile 2
+
+#### Parameters:-
+
+| Prompt | User Input |
+|-----------------------|-----------------------------------------------------|
+| Docker Group | For AI BOX team enter ‘yes’, other users enter NO |
+| System is a production SKU or non-production SKU | Enter SKU info(mtl/rpl/adl/spr)
(Needed only for Non-Production Boards) |
+| License Agreement | Y |
+
+1. Signing Kernel for secure boot enablement (Post Installer Script execution)
+ Please Refer to section [4.4](#44-signing-kernel-for-secure-boot-enablement-post-installer-script-execution-required-for-profile-1--2) for kernel signing
+
+
+
+### 4.3 User Inputs Required for Profile 3 Execution
+
+
+ User Input Real Time (RT) Enablement Node - Profile 3
+
+#### Parameters
+
+| Prompt | User Input |
+|-----------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| Docker Group | For AI BOX team enter ‘yes’, other users enter NO |
+
+
+
+### 4.4 Signing Kernel for secure boot enablement (Post Installer Script execution, required for profile 1 & 2)
+
+
+ Steps for Signing Kernel
+
+- Once the installer script execution is completed & system has booted to the default Ubuntu kernel, the user needs to execute the below steps to sign kernel 6.6 and enable Secure Boot
+- Pre-requisites: BIOS settings for Secure Boot are done.
+- Steps to sign kernel:
+
+```bash
+$ sudo apt-get install -y mokutil sbsigntool
+
+```
+
+```bash
+$ sudo openssl req -newkey rsa:4096 -nodes -keyout mok.key -new -x509 -sha512 -days 3650 -subj "/CN=Custom Ubuntu Kernel" -addext "nsComment=Custom Ubuntu Kernel certificate" -out mok.crt
+
+```
+
+```bash
+$ sudo openssl x509 -in mok.crt -inform PEM -out mok.cer -outform DER
+
+```
+
+```bash
+$ sudo mokutil --import mok.cer
+
+```
+
+> Set a password, which would be used later during boot-up to enroll MOK
+
+```bash
+$ sudo sbsign --key mok.key --cert mok.crt --output /boot/signed_vmlinuz- /boot/vmlinuz-
+eg: sudo sbsign --key mok.key --cert mok.crt --output /boot/signed_vmlinuz-6.6-intel /boot/vmlinuz-6.6-intel
+
+```
+
+```bash
+$ sudo mv /boot/signed_vmlinuz- /boot/vmlinuz-
+(use Command "uname -r" for checking kernel version)
+eg: sudo mv /boot/signed_vmlinuz-6.6-intel /boot/vmlinuz-6.6-intel
+
+```
+
+```bash
+$ sudo apt-get install sbsigntool openssl grub-efi-amd64-signed shim-signed
+
+```
+
+```bash
+$ sudo grub-install --uefi-secure-boot
+
+```
+
+```bash
+$ sudo reboot
+
+```
+
+- Follow the below steps at system bootup.
+
+*Figure 13: Prompt to perform MOK management*
+
+*Figure 14: Prompt to enroll MOK*
+
+*Figure 15: Click Continue*
+
+*Figure 16: Click OK*
+
+*Figure 17: Prompt to provide the password*
+
+*Figure 18: Prompt to initiate a Reboot*
+
+*Figure 19: After Reboot, check the Secure boot state*
+
+
+
+## Step 5: Validate
+
+This section highlights the validation steps for the Edge Node profiles.
+
+### 5.1 Validation of Profile 1
+
+
+ Validation VA Enablement Node K8s - Profile 1
+
+#### Edge Node - Controller
+
+1. RKE2 Server Status:
+ ``` bash
+ sudo systemctl status rke2-server.service
+ ```
+ 
+2. Pod Status: After enabling the RKE2 server
+ ``` bash
+ sudo kubectl get pods -A
+ ```
+ 
+3. Nodes List/Status: After enabling the RKE2 server
+ ``` bash
+ sudo kubectl get nodes
+ ```
+ 
+
+#### Edge Node - Worker
+
+##### Worker Node 1:
+
+1. RKE2 Agent Status:
+ ``` bash
+ sudo systemctl status rke2-agent.service
+ ```
+ 
+2. Pod Status: After enabling the RKE2 Agent (Before, Helm Chart Installation)
+ ``` bash
+ sudo kubectl get pods -A
+ ```
+ 
+3. Nodes List/Status: After enabling the RKE2 server
+ ``` bash
+ sudo kubectl get nodes
+ ```
+ 
+
+##### Worker Node 2:
+
+1. RKE2 Agent Status:
+ ``` bash
+ sudo systemctl status rke2-agent.service
+ ```
+ 
+ 
+2. Pod Status: After enabling the RKE2 Agent (Before, Helm Chart Installation)
+ ``` bash
+ sudo kubectl get pods -A
+ ```
+ 
+3. Nodes Status: After enabling the RKE2 server
+ ``` bash
+ sudo kubectl get nodes
+ ```
+ 
+
+#### Edge Node Controller (Post worker & Controller node connection establishment):
+> Executed the installer script on the multiple edge worker nodes and established a connection between edge-node controller and worker node using controller node’s IP and token and executed helm chart installation script on the Controller Node, to install helm charts
+1. Nodes List/Status: (one controller node and five edge worker nodes)
+ ``` bash
+ sudo kubectl get nodes
+ ```
+ 
+2. Pod Status: After, Helm Chart Installation
+ ``` bash
+ sudo kubectl get pods -A -o wide
+ ```
+ 
+ 
+ 
+ 
+3. Helm List:
+ ``` bash
+ sudo helm list -A
+ ```
+ 
+4. Monitoring List:
+ ``` bash
+ sudo kubectl get pods -A -o wide | grep monitoring
+ ```
+ 
+
+#### Worker Nodes
+
+1. XPU Manager Status:
+ ``` bash
+ sudo systemctl status xpum.service
+ ```
+ 
+2. Platform-observability Status:
+ ``` bash
+ sudo systemctl status platform-observability-collector.service
+ ```
+ 
+ ``` bash
+ sudo systemctl status platform-observability-metrics.service
+ ```
+ 
+ ``` bash
+ sudo systemctl status platform-observability-logging.service
+ ```
+ 
+3. Docker and Docker Compose Version:
+ 
+4. Kubectl: (Server and Client version:)
+ 
+5. ffmpeg -version:
+ 
+6. qemu and kvm version:
+ 
+7. IPSEC
+ 
+8. Fluent Bit:
+ 
+9. Telegraf
+ 
+10. otelcol:
+ 
+11. openssl
+ 
+12. dpdk
+ 
+13. inbc status:
+ 
+14. Openvino:
+ 
+15. OpenCV_VERSION:
+ 
+
+
+
+
+### 5.2 Validation of Profile 2
+
+
+ Validation VA Enablement Node - Profile 2
+
+#### MTL Platform:
+
+##### Ubuntu 24.04:
+1. OS Version:
+ 
+2. Kernel Version:
+ 
+3. Docker:
+ - Docker version:
+ 
+ - Docker Compose Version:
+ 
+4. XPU:
+ - Status:
+ 
+ - CLI output of GPU device info, telemetries and firmware update:
+ ``` bash
+ $ xpumcli discovery -d 0
+ ```
+ 
+5. KVM and Qemu Version:
+ 
+6. ffmpeg version:
+ 
+7. Grafana version:
+ 
+8. Open Vino version:
+ 
+9. OpenCV version:
+ 
+10. GPU Execution:
+ 
+ 
+11. Platform Observability Status:
+ 
+ 
+ 
+
+##### Ubuntu 22.04:
+1. OS Version:
+ 
+2. Kernel Version:
+ 
+3. Docker:
+ - docker images:
+ 
+ - docker compose version:
+ 
+ - docker version
+ 
+4. XPU:
+ - Status:
+ 
+ - CLI output of GPU device info, telemetries and firmware update:
+ ``` bash
+ $ xpumcli discovery -d 0
+ ```
+ 
+
+
+
+
+### 5.3 Validation of Profile 3
+
+
+ Validation Real Time (RT) Enablement Node - Profile 3
+
+1. OS Configuration:
+ 
+2. Kernel:
+ 
+3. Component Installation Status:
+ 
+4. Docker Status:
+ 
+5. Prometheus Status:
+ 
+6. Grafana Status:
+ 
+7. Node-Exporter Status:
+ 
+8. Prometheus Target Devices:
+ 
+
+
+
+
+## Step 6: Enabling of Time of Day (TOD)
+
+Once the Installer script execution has completed, user can follow below steps to deploy Time of Day(TOD).
+
+
+ Time of Day (TOD) Provisioning
+
+The TOD allows power management provisioning to save power at a specific time of day and delivers power savings during non-peak hours on the Edge device using the Intel® Infrastructure Power Manager (IPM) .
+The user needs to download the [Time of Day Provisioning software package](https://www.intel.com/content/www/us/en/secure/content-details/828016/time-of-day-provisioning-with-intel-tiber-edge-platform.html?DocID=828016) and the technology guide which is available through the same link as shown in the Figure. To deploy this feature, the user needs to follow the instructions mentioned in Chapter 9 of the TOD technology guide.
+
+
+*Figure 20: Time of Day Home Page*
+
+
+
+## Step 7: Uninstall the installed Profile
+
+- Navigate to the directory where ESH installer is extracted
+- Execute execute ./edgesoftware with uninstall option
+ ```bash
+ $ ./edgesoftware uninstall
+ ```
+
+*Figure 21: Uninstall Execution*
+
+
+*Figure 22: Uninstall Execution logs*
\ No newline at end of file
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/Known Issues.md b/frameworks/edgedevice-enablement-framework/docs/user-guide/Known Issues.md
new file mode 100644
index 000000000..9480a72e9
--- /dev/null
+++ b/frameworks/edgedevice-enablement-framework/docs/user-guide/Known Issues.md
@@ -0,0 +1,2 @@
+# Known Issues in this Release
+This project utilizes open source components that may have known vulnerabilities, as identified by Common Vulnerabilities and Exposures (CVEs). By using this project, you acknowledge and accept the risks associated with open source components and agree to take responsibility for maintaining the security of your systems.
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/Overview.md b/frameworks/edgedevice-enablement-framework/docs/user-guide/Overview.md
new file mode 100644
index 000000000..8bc1d03c2
--- /dev/null
+++ b/frameworks/edgedevice-enablement-framework/docs/user-guide/Overview.md
@@ -0,0 +1,91 @@
+# Intel® Edge Device Enablement Framework (EEF)
+Provides a set of curated, validated infrastructure Profiles for edge applications.
+
+## Overview
+
+**EEF Release - 25.12**
+
+The Intel® Edge Device Enablement Framework (EEF) delivers a set of curated, validated infrastructure stacks (aka profiles), providing a runtime for edge applications. It is built on a modular framework where each node is based on a common foundation of hardware, OS, and container runtime.
+
+This document is a quick start guide to configure and deploy nodes using the Intel® Edge Device Enablement Framework on Intel® Core™ and Intel® Xeon® Scalable processors with Intel® Iris® Xe Integrated Graphics for Core platform.
+
+## How It Works
+
+This release of the Edge Device Enablement Framework currently supports three curated profiles tailoring mainly the needs of Video Analytics (VA) and industrial controller workloads.
+
+|Profile Name |Description |
+|-------------------------|-----------------|
+|**Profile 1**: Video Analytics (VA) Enablement Node K8s Profile | - This profile has Video Analytics and Observability components along with the RKE2 K8s Cluster in a multi node
- Typical use case for this profile is Media and Video Analytics |
+|**Profile 2**: Video Analytics (VA) Enablement Node Profile | - This profile has Video Analytics and Observability components installed on Bare metal for Intel® Core and Intel® Xeon® systems.
- Typical use case for this profile is [Intel Edge AI Box](https://www.intel.com/content/www/us/en/developer/articles/reference-implementation/intel-edge-ai-box.html) |
+|**Profile 3**: Real Time (RT) Enablement Node Profile | - This profile has RT kernel related components such as Real-Time Performance Measurements and Intel® Edge Controls for Industrial (ECI) customization with Ubuntu RT
- Typical use case for this profile is to provide real-time analytics for Industrial Controller and for Real-Time Performance Measurement (RTPM) |
+
+## Main Supported Features
+
+|**Category** |**Feature** |
+|-------------------------------|--------------------------|
+|**Hardware** | - Support for 4th & 5th Gen Intel® Xeon® Scalable processor
- Support for Intel® Core™ Ultra processor and 12th & 13th Gen Intel® Core™ industrial processors
- Support for Intel® Iris® Xe Integrated Graphics for Core platform - Intel® Atom® Processor |
+|**OS** | - Ubuntu 24.04
- Ubuntu 22.04 + Real Time (RT) kernel |
+|**CAAS** | - Model: Bare Metal; containerized/virtualized
- K8s Distro; RKE v2 w K8s 1.28+
- ContainerD; Docker CE; Docker Compose
- Kubevirt|
+|**Observability/Telemetry** | - Aggregate/query telemetry (e.g. Prometheus)
- GPU, CPU/Memory Telemetry
- Visualization / Logs analysis |
+|**Security** | - Secure Boot (documentation) (Enabled for SPR, RPL. Not supported on MTL internal SKUs)
- A hardware RoT-based foundation (TPM chip SW)
- Secure network & comm. IPSEC, OpenSSL |
+|**Framework** | - OVPL; OpenVINO LTS; DLStreamer; GStreamer; Graph Compute Runtime; OpenCV with Ffmpeg; IMTL
- ECI meta-packages |
+
+## Key Hardware Elements Supported
+
+|**Hardware Element** | **Description** |
+|-------------------------------------------------------|---------------------------------------------------------------------------------------------------|
+|**Processor** | - 4th & 5th Gen Intel® Xeon® Scalable processors
- Intel® Core™ Ultra processors
- 12th & 13th Gen Intel® Core™ mobile processor-based server |
+|**Supported – Reference Platforms & Commercial HW** | - 4th & 5th Gen Intel® Xeon® Scalable processors on [Dell PowerEdge R760](https://www.dell.com/en-us/shop/servers-storage-and-networking/poweredge-r760-rack-server/spd/poweredge-r760/pe_r760_tm_vi_vp_sb)
- Intel® Core™ Ultra processors on Intel reference platform
- 12th Gen Intel® Core™ desktop processors on [ASUS PE3000G]()
13th Gen Intel® Core™ desktop processors on ASRock [iEP-7020E Series](https://www.asrockind.com/en-gb/iEP-7020E)
- Intel® Atom® Processor [iEP-5020G Series](https://www.asrockind.com/en-gb/iEP-5020G%20Series) |
+|**Network** | - Intel Integrated i229
- Intel integrated i226
- Intel® X710 Ethernet Network Adapter
-Intel® E810 Ethernet Network Adapter |
+|**GPU** | - Intel® Iris® Xe Graphics (integrated with 13th Gen Intel® Core™ mobile processor) |
+
+## Key Software Capabilities Updates
+
+| **Capability** | **Software Packages** |
+|---------------------------------|------------------------------|
+| **Latest Software Support Summary** | - Intel® Platform Observability 1.3.0
- Telegraf 1.29.4
- Open Telemetry 0.93.0
- FluentBit 2.2.2
- Prometheus 2.52.0
- Grafana 10.2.2
- cAdvisor v0.49.1
- Intel® XPU Manager 1.2.36
- Loki 3.0.0
- OpenVINO 2023.1.0
- OpenCV 4.10.0
- QEMU-KVM 6.2.0
- Intel® In-Band Manageability Framework software v.4.2.3
- FFmpeg 2024Q1
- oneVPL 24.2.5
- Intel® Media Driver 24.1.5
- Libva 2.22.0
- Mesa Driver 24.2
- Intel Level Zero for GPU 1.3.29735.27-914~22.04
- Media Transport Library 23.12
- Media Communication Mesh 24.6
- discreteTPM ubuntu-22.04
- OpenSSL 3.1.4
- Real-Time Performance Measurement (RTPM) 1.11
- ECI Customization components 1.0
- Intel® RT Kernel 5.15
- Intel® LTS Kernel 6.6-intel
- RKE2 Agent 1.28.10
- Docker Compose 2.29
- DockerCE 27.2
- ContainerD 1.7.22
- IPSEC Stack v1.4
- Istio Operator 1.18.1
- Calico v3.27.3
- Multus 4.0.2
- Network Feature Discovery 0.15.1
- Akri 0.12.13
- GPU driver i915 v0.28.0
- Kubevirt 1.1.1 |
+
+## Intel® Edge Device Enablement Framework Profile Architecture
+
+
+*Figure 1: Architecture of the Video Analytics (VA) Enablement Node K8s Profile Intel® Edge Device Enablement Framework*
+
+
+*Figure 2: Architecture of the Video Analytics (VA) Enablement Node Profile Intel® Edge Device Enablement Framework*
+
+
+*Figure 3: Architecture of the Real Time (RT) Enablement Node Profile Intel® Edge Device Enablement Framework*
+
+## Hardware Bill of Materials (HBOM)
+
+| Feature | Profile 1 | Profile 2 | Profile 3 |
+|--------------------------|-------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------|
+| **Supported Target Platforms** | 4th & 5th Gen Intel® Xeon® Scalable Processor-based server (Dell PowerEdge R760 BIOS version) | - 4th & 5th Gen Intel® Xeon® Scalable Processor-based server (Dell PowerEdge R760 BIOS version)
- 12th & 13th Gen Intel® Core™ mobile processor-based server (ASRock on iEP-7020E Series BIOS version)
- Intel® Core™ Ultra processors | - 4th & 5th Gen Intel® Xeon® Scalable Processor-based server (Dell PowerEdge R760 BIOS version)
- 12th & 13th Gen Intel® Core™ mobile processor-based server (ASRock on iEP-7020E Series BIOS version) - Intel® Atom® Processor iEP-5020G Series|
+| **GPU** | N/A | - Intel® Iris® Xe Graphics (integrated with 13th Gen Intel® Core™ mobile processor) | - Intel® Iris® Xe Graphics (integrated with 13th Gen Intel® Core™ mobile processor) |
+| **Storage** | - Minimum: 128 GB
- Recommended: 512 GB | - Minimum: 128 GB
- Recommended: 256 GB | - Minimum: 128 GB
- Recommended: 256 GB |
+| **Memory** | 128 GB | - Core: 64 GB
- Xeon: 128 GB | - Core: 64 GB
- Xeon: 128 GB |
+| **Ethernet Adapter** | - Intel integrated i229
- Intel® X710 Ethernet Network Adapter
- Intel® E810 Ethernet Network Adapter | - Xeon:
o Intel® X710 Ethernet Network Adapter
o Intel® E810 Ethernet Network Adapter
- Core:
o Intel integrated i226 | - Xeon:
o Intel® X710 Ethernet Network Adapter
o Intel® E810 Ethernet Network Adapter
- Core:
o Intel integrated i226 |
+
+## Software Bill of Materials (SBOM)
+
+| Feature | Profile 1 | Profile 2 | Profile 3 |
+|----------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------|
+| **Observability & Telemetry** | - Platform-Observability
- Telegraf
- Open Telemetry
- Fluent Bit
- Prometheus
- Grafana
- cAdvisor
- Loki | - Platform-Observability
- Prometheus
- Grafana
- cAdvisor
- Intel® XPU Manager | - Platform-Observability
- Telegraf
- Open Telemetry
- Fluent Bit
- Prometheus
- Grafana
- cAdvisor
- Loki |
+| **Frameworks/ Test Suite** | - OpenVINO™ Toolkit
- OpenCV
- IPSEC Stack | - OpenVINO™ Toolkit
- DLStreamer
- OpenCV | Real-Time Performance Measurement (RTPM) |
+| **Remote Device Management** | Intel In-Band Manageability Framework | Intel In-Band Manageability Framework | N/A |
+| **Kubernetes Security Service Mesh** | - Istio operator | | |
+| **Power Management** | - Intel Power Management | | |
+| **Libraries** | - GPU A780
- GPU Flex 140
- Flex 170 | - FFmpeg
- Intel® OneVPL
- Intel® Media Driver
- Libva
- Lib Mesa Driver
- Intel® Level Zero for GPU
- GPU A780
- Intel® Media Transport Library (iMTL)
- Media Communication Mesh (MCM) | ECI-Customization |
+| **Networking & Connectivity** | N/A | N/A | N/A |
+| **Security** | - OpenSSL | - TPM
- OpenSSL | N/A |
+| **Operators & Device Plugins** | - Calico
- Multus
- Network Feature Discovery
- Akri | N/A | N/A |
+| **Scheduling** | N/A | N/A | N/A |
+| **Orchestration** | RKE2 Agent | N/A | N/A |
+| **Container Runtime** | Container-D | Docker Compose | N/A |
+| **Virtualization** | - QEMU-KVM
- Kubevirt | QEMU-KVM KVM | N/A |
+| **Kernel** | 6.8 | 6.8 (Xeon Server), 6.11 (Core Desktop) | 5.15-realtime |
+| **OS** | Ubuntu 24.04
- Xeon- [ubuntu-24.04.2-live-server-amd64.iso](https://releases.ubuntu.com/24.04/ubuntu-24.04.2-live-server-amd64.iso) | Ubuntu 24.04
- Core- [ubuntu-24.04.2-desktop-amd64.iso](https://releases.ubuntu.com/24.04/ubuntu-24.04.2-desktop-amd64.iso)
- Xeon - [ubuntu-24.04.2-live-server-amd64.iso](https://releases.ubuntu.com/24.04/ubuntu-24.04.2-live-server-amd64.iso) |
+
+## Enabling of Time of Day (TOD) Provisioning
+
+The Intel® Edge Device Enablement Framework offers the possibility to enable the feature Time of Day (TOD) provisioning. It is implemented with the Intel® Infrastructure Power Manager (IPM) technology. This software allows power management provisioning to save power at a specific time of day when Edge Node’s may be unused or underutilized. This feature delivers power savings during non-peak hours for Edge services. You can install the feature on bare metal once you have completed the deployment of the Edge Node. To install the feature please follow the steps in [Section 6](Get-Started-Guide.md#step-6-enabling-of-time-of-day-tod)
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/Release Notes.md b/frameworks/edgedevice-enablement-framework/docs/user-guide/Release Notes.md
new file mode 100644
index 000000000..d383e20b0
--- /dev/null
+++ b/frameworks/edgedevice-enablement-framework/docs/user-guide/Release Notes.md
@@ -0,0 +1,32 @@
+# Release Notes
+
+## Revision History - 24.06
+
+| **Profile** | **Summary** |
+|--------------------------------------------|----------------------------------|
+|Profile 1 : VA Enablement Node K8s Profile | 1. Installed RKE2 agent |
+|Profile 2 : VA Enablement Node Profile | 1. Installed Media Tools - Opencv, FFMPEG, MTL, Mesa Driver, oneVPL, MCM, Intel XPU Manager, Intel Media Driver
2. Installer Observability Stack for Baremetal OS - Platform-Observability-agent, Prometheus, Grafana, cAdvisor
3. KVM and QEMU: Supported for bare-metal virtualization.
4. Installed AI BOX Components - VA Base, VA Base-Dev, VA DLStreamer, VA OpenCV FFMPEG
5. Inband Management: Support for Turtle Creek has been added.
6. iGPU support enabled for core platforms. |
+|Profile 3 : RT Enablement Node Profile | 1. Installed RT kernel
2. Installed Real-Time Performance Measurement (RTPM)
3. Installed ECI Packages|
+
+
+## Revision History - 24.08
+
+| **Profile** | **Summary** |
+|--------------------------------------------|----------------------------------|
+|Profile 1 : VA Enablement Node K8s Profile | 1. Inband Management: Support for Turtle Creek has been added.
2. Observability Stack for Kubernetes Cluster:
- Platform-Observability Agent Installed directly on the OS, covering OpenTelemetry (Otel), FluentBit, and Telegraf.
- cAdvisor: Installed for monitoring container resource usage.
- Prometheus: Installed using the `prometheus-community/prometheus` Helm chart.
- Grafana: Installed using the `grafana/grafana` Helm chart.
3. Network SRIOV Plugins: Added for enhanced networking capabilities.
4. Network Feature Discovery: Implemented using Docker.
5. Akri: Deployed with Docker for edge device discovery.
6. IPSec Stack: Introduced for enhanced network security.
7. GPU Plugins: Available through Helm charts for improved GPU management.
8. KVM and QEMU: Supported for bare-metal virtualization.
9. Istio Operator: Installed to manage service mesh architecture.
10. OpenVINO Runtime and OpenCV: Added for AI inference and computer vision tasks.
11. GPU Drivers: Integrated to enhance GPU support.
12. Kubernetes Virtualization: Improved virtualization capabilities within the Kubernetes environment.
|
+|Profile 2 : VA Enablement Node Profile | 1. Enabled GPU drivers for Xeon platforms
2. Introduced separate sets of AI Box Docker files and Docker validators for each supported platform, incorporating the necessary GPU/CPU enablement in the Release service.
Included support for the Alder lake platform in AI Box Docker image build and validation.
3. Enhanced the installer to set "6.6-intel" as the default kernel, which remains the default even after a reboot.
4. Resolved DL-Streamer Docker build failures by generating separate installation scripts for each platform, addressing the required GPU/CPU enablement.
5. Implemented functionality to handle the expiration of the External Release service token and automatically re-authenticate using a refresh token.
6. Added dynamic geo-location detection and automatic GitHub mirror updates specifically for the PRC region. |
+|Profile 3 : RT Enablement Node Profile | 1. Enabled Observability Stack: Integrated the Observability Stack along with the ECI packages.
2. Installed the observability components (Platform-Observability-agent (covers, Otel, fluentbit, telegraf) Prometheus, Grafana, cAdvisor).
3. Installed Docker Images: Installed Docker images for Grafana, Loki, and Promtail.
|
+
+
+## Revision History - 24.11
+
+### Feature :-
+
+- Added Uninstallation feature for all the profiles
+
+### SBOM :-
+
+| **Profile** | **Summary** |
+|--------------------------------------------|----------------------------------|
+|Profile 1 : VA Enablement Node K8s Profile | 1. Upgraded to Ubuntu 24.04
2. enabled multi-node configuration
3. Integrated Media Tools and DPDK
4. Removed the helm chart installation steps from profile 1 script
5. Created a new script for helm chart installation to support the multi-edge worker nodes
6. Removed platform observability , fluent bit, telegraf, from baremetal
7. Enabled SRIOV plugin support |
+|Profile 2: VA Enablement Node Profile | 1. Removed Release service token dependency
2. Enabled NPU Support
3. Added NTP Server prompt. User can directly enter their preferred NTP server |
\ No newline at end of file
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/Profile1.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/Profile1.png
new file mode 100644
index 000000000..1e9ae4b6e
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/Profile1.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/Profile1_blockdiag.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/Profile1_blockdiag.png
new file mode 100644
index 000000000..eb5fdffd7
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/Profile1_blockdiag.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/Profile1_flow1.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/Profile1_flow1.png
new file mode 100644
index 000000000..13576e183
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/Profile1_flow1.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/Profile1_flow2.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/Profile1_flow2.png
new file mode 100644
index 000000000..3c8f91ef1
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/Profile1_flow2.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/Profile2.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/Profile2.png
new file mode 100644
index 000000000..dfd55a9dc
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/Profile2.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/Profile3.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/Profile3.png
new file mode 100644
index 000000000..7fad354df
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/Profile3.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/chmod.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/chmod.png
new file mode 100644
index 000000000..0fbd8879a
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/chmod.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/container-list.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/container-list.png
new file mode 100644
index 000000000..0d1daf1c7
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/container-list.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/copy_pkg.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/copy_pkg.png
new file mode 100644
index 000000000..b24a8f3de
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/copy_pkg.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/customize.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/customize.png
new file mode 100644
index 000000000..e1349f349
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/customize.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/download-p2.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/download-p2.png
new file mode 100644
index 000000000..044199529
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/download-p2.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/download.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/download.png
new file mode 100644
index 000000000..24b34a042
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/download.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/download_structure.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/download_structure.png
new file mode 100644
index 000000000..240857bbf
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/download_structure.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/esh-install-dir.jpg b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/esh-install-dir.jpg
new file mode 100644
index 000000000..f540f40c0
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/esh-install-dir.jpg differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/esh_customise.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/esh_customise.png
new file mode 100644
index 000000000..67296f486
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/esh_customise.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/esh_home-P1-P3.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/esh_home-P1-P3.png
new file mode 100644
index 000000000..f2692d2d4
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/esh_home-P1-P3.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/esh_home-p2.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/esh_home-p2.png
new file mode 100644
index 000000000..efbd962fe
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/esh_home-p2.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/extracted_files.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/extracted_files.png
new file mode 100644
index 000000000..fe32d275e
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/extracted_files.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/install_wo_download.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/install_wo_download.png
new file mode 100644
index 000000000..337911a63
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/install_wo_download.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/installation_flow.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/installation_flow.png
new file mode 100644
index 000000000..b70a1d183
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/installation_flow.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/license-agreement-p2.jpg b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/license-agreement-p2.jpg
new file mode 100644
index 000000000..828e434ba
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/license-agreement-p2.jpg differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/license_aggrement.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/license_aggrement.png
new file mode 100644
index 000000000..a15b97b03
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/license_aggrement.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/pkg_download.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/pkg_download.png
new file mode 100644
index 000000000..f73a738d3
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/pkg_download.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/product_key.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/product_key.png
new file mode 100644
index 000000000..5ffa22143
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/product_key.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1_architecture.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1_architecture.png
new file mode 100644
index 000000000..7bca1cea5
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1_architecture.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val1.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val1.png
new file mode 100644
index 000000000..1b0f73e59
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val1.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val10.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val10.png
new file mode 100644
index 000000000..d25fbbbf8
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val10.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val11.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val11.png
new file mode 100644
index 000000000..09c46e3d8
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val11.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val12.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val12.png
new file mode 100644
index 000000000..d78f29043
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val12.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val13.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val13.png
new file mode 100644
index 000000000..9ea384565
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val13.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val14.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val14.png
new file mode 100644
index 000000000..122f2e632
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val14.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val15.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val15.png
new file mode 100644
index 000000000..fa5c04e26
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val15.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val16.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val16.png
new file mode 100644
index 000000000..d801a1803
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val16.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val17.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val17.png
new file mode 100644
index 000000000..a6e383fda
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val17.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val18.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val18.png
new file mode 100644
index 000000000..d95115e2f
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val18.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val19.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val19.png
new file mode 100644
index 000000000..e05e485b2
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val19.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val2.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val2.png
new file mode 100644
index 000000000..0b21b87e6
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val2.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val20.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val20.png
new file mode 100644
index 000000000..deb38e142
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val20.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val21.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val21.png
new file mode 100644
index 000000000..75fe1f562
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val21.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val22.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val22.png
new file mode 100644
index 000000000..dc30a3e29
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val22.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val23.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val23.png
new file mode 100644
index 000000000..6a0b71d10
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val23.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val24.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val24.png
new file mode 100644
index 000000000..fac4b59c6
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val24.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val25.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val25.png
new file mode 100644
index 000000000..7a26bfa75
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val25.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val26.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val26.png
new file mode 100644
index 000000000..68451448e
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val26.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val27.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val27.png
new file mode 100644
index 000000000..9e22a766e
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val27.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val28.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val28.png
new file mode 100644
index 000000000..8f7d19d02
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val28.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val29.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val29.png
new file mode 100644
index 000000000..87b478074
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val29.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val3.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val3.png
new file mode 100644
index 000000000..1ff6a7a81
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val3.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val30.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val30.png
new file mode 100644
index 000000000..86995373f
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val30.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val31.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val31.png
new file mode 100644
index 000000000..e71012d2f
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val31.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val32.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val32.png
new file mode 100644
index 000000000..3adf9ed0b
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val32.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val33.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val33.png
new file mode 100644
index 000000000..ac6c0858b
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val33.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val34.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val34.png
new file mode 100644
index 000000000..d87a6d461
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val34.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val4.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val4.png
new file mode 100644
index 000000000..b8b327409
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val4.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val5.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val5.png
new file mode 100644
index 000000000..02e3c42f9
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val5.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val6.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val6.png
new file mode 100644
index 000000000..08918df43
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val6.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val7.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val7.png
new file mode 100644
index 000000000..3de21e03d
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val7.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val8.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val8.png
new file mode 100644
index 000000000..dc1912dbc
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val8.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val9.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val9.png
new file mode 100644
index 000000000..aebd01200
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile1val9.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile2_architecture.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile2_architecture.png
new file mode 100644
index 000000000..c67d7807b
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile2_architecture.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile2val1.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile2val1.png
new file mode 100644
index 000000000..4a31dde6b
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile2val1.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile2val10.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile2val10.png
new file mode 100644
index 000000000..79bfd654b
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile2val10.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile2val11.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile2val11.png
new file mode 100644
index 000000000..0c838e490
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile2val11.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile2val12.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile2val12.png
new file mode 100644
index 000000000..3c0e93189
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile2val12.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile2val13.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile2val13.png
new file mode 100644
index 000000000..ec47b101f
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile2val13.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile2val14.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile2val14.png
new file mode 100644
index 000000000..c59d088a6
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile2val14.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile2val15.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile2val15.png
new file mode 100644
index 000000000..45c2a9a27
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile2val15.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile2val16.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile2val16.png
new file mode 100644
index 000000000..59c8df2f0
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile2val16.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile2val17.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile2val17.png
new file mode 100644
index 000000000..4a31dde6b
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile2val17.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile2val18.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile2val18.png
new file mode 100644
index 000000000..b72e25f46
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile2val18.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile2val19.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile2val19.png
new file mode 100644
index 000000000..675469ac0
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile2val19.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile2val2.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile2val2.png
new file mode 100644
index 000000000..b72e25f46
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile2val2.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile2val20.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile2val20.png
new file mode 100644
index 000000000..01b9ddea4
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile2val20.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile2val21.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile2val21.png
new file mode 100644
index 000000000..336946283
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile2val21.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile2val22.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile2val22.png
new file mode 100644
index 000000000..305e8c3ef
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile2val22.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile2val23.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile2val23.png
new file mode 100644
index 000000000..fcfa7b0c4
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile2val23.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile2val3.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile2val3.png
new file mode 100644
index 000000000..b24515dd9
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile2val3.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile2val4.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile2val4.png
new file mode 100644
index 000000000..e74e3b571
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile2val4.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile2val5.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile2val5.png
new file mode 100644
index 000000000..6093d860f
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile2val5.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile2val6.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile2val6.png
new file mode 100644
index 000000000..20394b2c9
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile2val6.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile2val7.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile2val7.png
new file mode 100644
index 000000000..295782bd3
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile2val7.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile2val8.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile2val8.png
new file mode 100644
index 000000000..62c383510
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile2val8.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile2val9.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile2val9.png
new file mode 100644
index 000000000..7a5dd64a4
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile2val9.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile3_architecture.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile3_architecture.png
new file mode 100644
index 000000000..1fa46eeb6
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile3_architecture.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile3val1.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile3val1.png
new file mode 100644
index 000000000..1573bc152
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile3val1.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile3val10.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile3val10.png
new file mode 100644
index 000000000..2749c1b9b
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile3val10.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile3val2.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile3val2.png
new file mode 100644
index 000000000..8078978d6
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile3val2.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile3val3.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile3val3.png
new file mode 100644
index 000000000..8e4a0cb81
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile3val3.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile3val4.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile3val4.png
new file mode 100644
index 000000000..d0ae0a005
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile3val4.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile3val5.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile3val5.png
new file mode 100644
index 000000000..e2956abd0
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile3val5.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile3val6.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile3val6.png
new file mode 100644
index 000000000..425cbe2a5
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile3val6.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile3val7.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile3val7.png
new file mode 100644
index 000000000..f9a78f37b
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile3val7.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile3val8.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile3val8.png
new file mode 100644
index 000000000..fbe463a93
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile3val8.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile3val9.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile3val9.png
new file mode 100644
index 000000000..fa914f9d8
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/profile3val9.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/save_zip.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/save_zip.png
new file mode 100644
index 000000000..f5054300f
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/save_zip.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/script.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/script.png
new file mode 100644
index 000000000..25f0f2655
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/script.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/select-container-p2.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/select-container-p2.png
new file mode 100644
index 000000000..3d674b406
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/select-container-p2.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/select-profile2.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/select-profile2.png
new file mode 100644
index 000000000..efbd962fe
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/select-profile2.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/select-script.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/select-script.png
new file mode 100644
index 000000000..e9c72a3e9
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/select-script.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/signing1.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/signing1.png
new file mode 100644
index 000000000..8dbb3fb78
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/signing1.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/signing2.jpg b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/signing2.jpg
new file mode 100644
index 000000000..361f01bb0
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/signing2.jpg differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/signing3.jpg b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/signing3.jpg
new file mode 100644
index 000000000..3b899a399
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/signing3.jpg differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/signing4.jpg b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/signing4.jpg
new file mode 100644
index 000000000..32416a569
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/signing4.jpg differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/signing5.jpg b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/signing5.jpg
new file mode 100644
index 000000000..e3bce412a
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/signing5.jpg differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/signing6.jpg b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/signing6.jpg
new file mode 100644
index 000000000..4d8dd66ac
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/signing6.jpg differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/signing7.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/signing7.png
new file mode 100644
index 000000000..8a44816a1
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/signing7.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/tod.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/tod.png
new file mode 100644
index 000000000..f275e7663
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/tod.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/uninstall-commands.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/uninstall-commands.png
new file mode 100644
index 000000000..b577d27b6
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/uninstall-commands.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/uninstall-logs.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/uninstall-logs.png
new file mode 100644
index 000000000..05d420646
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/uninstall-logs.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/unzip.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/unzip.png
new file mode 100644
index 000000000..73c60f2eb
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/unzip.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/venev.jpg b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/venev.jpg
new file mode 100644
index 000000000..f540f40c0
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/venev.jpg differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/venv.png b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/venv.png
new file mode 100644
index 000000000..432ee9b71
Binary files /dev/null and b/frameworks/edgedevice-enablement-framework/docs/user-guide/_images/venv.png differ
diff --git a/frameworks/edgedevice-enablement-framework/docs/user-guide/index.rst b/frameworks/edgedevice-enablement-framework/docs/user-guide/index.rst
new file mode 100644
index 000000000..e274315da
--- /dev/null
+++ b/frameworks/edgedevice-enablement-framework/docs/user-guide/index.rst
@@ -0,0 +1,6 @@
+.. toctree::
+ Overview
+ Get-Started-Guide
+ Known Issues
+ Release Notes
+ Acronyms