# Image Onboarding and Certification (Private Beta) The Image Self Onboarding platform lets vendors and users independently onboard their virtual network functions (vNFs) on Equinix Network Edge. Upload a private virtual device image, create a device profile, and deploy a virtual device from the Equinix Customer Portal to validate the image. > **Important** > > * This private beta is not intended for production use. Do not use it for live workloads or customer traffic where disruptions could have business impact. > * Only KVM-based QCOW2 images are supported in this release. Images in other formats are not supported. > * Image onboarding is provided on a best-effort basis. The product team may encounter technical limitations, and successful onboarding or deployment is not guaranteed for all submitted images. > * Beta devices cannot be moved to production when the beta period ends. Plan accordingly. > * Delete all test devices and associated resources after testing is completed. ## Licensing[​](#licensing "Enlace directo a Licensing") Device profiles support **Bring Your Own License (BYOL)**. You purchase a separate device-level support contract directly from the device vendor. > **Important** > > License File upload is not currently supported. ## Beta Considerations[​](#beta-considerations "Enlace directo a Beta Considerations") * Virtual devices created through the Image Onboarding workflow can only be deployed in the Helsinki, Montreal, and Paris metros. * The virtual device and its associated connections are free during the Beta, with these caveats: * Day 1 connections to Equinix Internet Access (EIA) from Network Edge data interfaces are not supported. * Connection to Port is free when the port is customer-owned. * Device to CSP is free when you are responsible for the applicable CSP-side charges. * Clustering is not supported in the Beta. At General Availability, Network Edge will provide clustering support at the infrastructure layer; you will be responsible for configuring and managing the cluster within your virtual appliances. ## Onboard an Image[​](#onboard-an-image "Enlace directo a Onboard an Image") ### Before You Begin[​](#before-you-begin "Enlace directo a Before You Begin") To access the Image Self Onboarding platform, set up your account and obtain the necessary permissions: 1. Go to [Equinix Customer Portal](https://portal.equinix.com/) and create a user account. If you are a new organization, create the account directly. If you belong to an existing organization, request an invitation from your organization admin. 2. Share your username with Equinix so that Equinix can assign the necessary permissions. ### Create the Device Profile[​](#create-the-device-profile "Enlace directo a Create the Device Profile") 1. Sign in to the [Equinix Customer Portal](https://portal.equinix.com/) and go to the Network Edge Dashboard. 2. From the *Network Edge* menu, select **Image Onboarding**. ![](https://docs.equinix.com/es/assets/images/ne-byoi-menu-91d51b9494c414c750967573a08e18e1.png) 3. Select Marketplace Type: * **Private Marketplace** is for users who want to bring their own image and onboard it for use within their own organization. * **Public Marketplace** is for vendors who want to test and certify an image before it is published to the Network Edge public marketplace. ![](https://docs.equinix.com/es/assets/images/ne-byoi-profile-details1-4fb13b21c668f3414561b8b7f982fb6a.png) 4. Click **Create Device Profile**. 5. In the **Device Profile Details** section, enter a **Device Model Name**. 6. Enter the device Vendor Name. 7. Drag and drop a vendor logo image into the Vendor Logo Upload section. If you don’t upload a logo, Equinix applies a default logo. ![](https://docs.equinix.com/es/assets/images/ne-byoi-drag-logo-4e8a7c5d4e876a1915955cd7755129a6.png) 8. Enter a device **Category**. 9. Enter a device **Description**. ![](https://docs.equinix.com/es/assets/images/ne-byoi-device-description-f584fbe0144503ecc1f22c3d9320391a.png) 10. Click **Next**. ### Configure the Device Profile With Equinix IP Address[​](#configure-the-device-profile-with-equinix-ip-address "Enlace directo a Configure the Device Profile With Equinix IP Address") 1. In the **Configure Your Device Profile** section, select **Bring Your Own License**. **Subscription** licensing is not supported in Beta. 2. Select a licensing method (**License Token** or **None**). **License File Upload** is not supported in Beta. ![](https://docs.equinix.com/es/assets/images/ne-byoi-byol-9ae4b11d1411b76cfe3677ba6e3337ad.png) 3. In the **Device Configuration** section, **With Equinix Public IP Address** is selected by default. Click **Configure** to open the **Device Configuration** drawer. A Without Equinix Public IP Address option is also available for onboarding devices without a public IP. ![](https://docs.equinix.com/es/assets/images/ne-byoi-with-IP-c65a8e80f1f21fc85367e5884a09663b.png) 4. Select a **Software Package** and a **Public IP Subnet**. 5. In the **Device Resource and Interface** section, configure **Core**, **Memory**, **Volume in GB**, **Min Interface Count** and **Max Interface Count**. ![](https://docs.equinix.com/es/assets/images/ne-byoi-config-withIP-0a76113dfaa9c1c1f2415981b0a43cbd.png) 6. In the **Software Version** section, enter the software version. 7. Select a Bootloader Type: GRUB/LILO or UEFI (SCSI). 8. Upload your image file in QCOW2 format. ![](https://docs.equinix.com/es/assets/images/ne-byoi-day0-01e7b4ead41511dd8982496cff85a9f9.png) 9. Select the Day 0 Location Type: **User Data** or **Custom Path**. * If you selected **User Data,** copy and paste the Day 0 Template File (see Day 0 Configuration) * If you selected **Custom Path**, enter the custom path and the Day 0 configuration in the Day 0 Template section. 10. *(Optional)* Click **+ Add More Day0** to add additional Day 0 files. 11. *(Optional)* Click **+ Add More Software Version** to add additional software versions. 12. *(Optional)* In the **Custom Configurable Parameters** section, select a Field. The Label, Name and Data Type fields auto-fill based on your selection. ![](https://docs.equinix.com/es/assets/images/ne-byoi-custom-config-param-9287e82d78be74359654a1f83050df8b.png) 13. *(Optional)* Click **Make Mandatory** to make a parameter mandatory. 14. *(Optional)* Click **+ Add More Parameters** to add additional parameters. 15. In the **Custom Configurable Parameters** section, add a customized parameter by selecting a Field. The Label, Name, and Data Type fields will auto-fill based on your selection. 16. Click **Save**. 17. *(Optional)* Provide the **Default Access Control List Rule (ACL)** for DNS and NTP that should be applied. Administrators can pre-configure ACLs for DNS and NTP, which will be automatically applied when the device is created. ![](https://docs.equinix.com/es/assets/images/ne-byoi-default-ACL-4755420539f93e0ea97524afc5fd139b.png) ### Finalize and Test the Device Profile[​](#finalize-and-test-the-device-profile "Enlace directo a Finalize and Test the Device Profile") 1. Click **Next** and review the details of your device profile. ![](https://docs.equinix.com/es/assets/images/ne-byoi-review-f7f672211121137664b5867b62f412cd.png) 2. Click **Submit** to complete the device profile creation. 3. Go to the **Device Profile Inventory** to view the device profile. 4. Click **Test** to start the device creation workflow. ## Download the Serial Port Logs[​](#download-the-serial-port-logs "Enlace directo a Download the Serial Port Logs") The Tools tab of the Virtual Device Details page provides access to serial port logs for your virtual device. You can download the logs if messages are being written to the serial port. They are useful for debugging boot-time issues, such as a device that fails to boot or stalls during initialization. ![](https://docs.equinix.com/es/assets/images/ne-byoi-tools-tab-5cc5d0b44ab096703e55a23aad85b749.png) 1. Go to the **Virtual Device Details** page and click the *Tools* tab. 2. Scroll down to the **Serial Port Logs** section and click **Download Logs**. A save prompt appears with the log file named using the device uuid (for example, `serial-logs-`). ![](https://docs.equinix.com/es/assets/images/ne-byoi-serial-logs-c5d3bad42c6e375960b3b8cd39738215.png) 3. Save the file and open it in any text editor to review the boot output. ## Day 0 Configuration[​](#day-0-configuration "Enlace directo a Day 0 Configuration") Copy your existing Day 0 (cloud-init) configuration file and modify it to work with Equinix Network Edge provisioning. Handle each variable in one of three ways: * Replace vendor-specific variables with [Equinix predefined variables](#supported-equinix-variables). * Hardcode static values where dynamic input is not required. * Add custom variables if needed. They are provided during the provisioning workflow. ### Supported Equinix Variables[​](#supported-equinix-variables "Enlace directo a Supported Equinix Variables") * Replace all vendor-specific variables with Equinix variables using the format `[(${variablename})]`. * Variable names are case-sensitive. Make sure they match exactly. * Hardcode values only when dynamic input is not required. * Map any custom variables you add during the provisioning workflow. * Validate the final Day 0 file before submitting it for onboarding. | Variable | Description | | ------------------- | ------------------------------------------------------------------ | | `gateway` | Default gateway IP address | | `ipAddress` | IP address assigned to the device interface | | `subnetMask` | Subnet mask for the device interface | | `addressMask` | Address mask (CIDR notation) | | `interfaceId` | Unique identifier for the network interface | | `ipAddressWithCidr` | IP address combined with CIDR prefix (for example, 192.168.1.1/24) | | `adminPwd` | Administrator password for device login | | `publicKey` | SSH public key for key-based authentication | | `userName` | Username for device login | | `hostname` | Hostname assigned to the device | ### Example: Original Vendor Day 0 File[​](#example-original-vendor-day-0-file "Enlace directo a Example: Original Vendor Day 0 File") Vendor-provided Day 0 file with vendor-specific variables: ``` #cloud-config vyos_config_options: network_config: disabled vyos_config_commands: - delete interfaces ethernet eth0 address - set interfaces ethernet eth${PUBLIC_INTF_NUM} address '${PUBLIC_ADDRESS_WITH_MASK}' - set protocols static route 0.0.0.0/0 next-hop ${PUBLIC_GATEWAY} - set service ssh disable-host-validation - set system login user ${USERNAME} authentication encrypted-password '${ADMIN_PWD}' #if (${IS_PUBLIC_KEY_EXISTS} == "true") - set system login user ${USERNAME} authentication public-keys equinix_key key '${PUBLIC_KEY}' - set system login user ${USERNAME} authentication public-keys equinix_key type 'sshrsa' #end - delete system login user vyos - set system host-name '${HOSTNAME}' - set system name-server '${NAME_SERVER_PRI}' - set system name-server '${NAME_SERVER_SEC}' #if (${IMAGE_VERSION} == "VER_14_ONWARDS") - delete service ntp server - set service ntp server '${NTP_SERVER_SUBNET}' #else - set system ntp server '${NTP_SERVER_SUBNET}' #end - set system login banner pre-login ``` ### Example: Modified Day 0 File Using Equinix Variables[​](#example-modified-day-0-file-using-equinix-variables "Enlace directo a Example: Modified Day 0 File Using Equinix Variables") The same file with vendor-specific variables replaced and static values hardcoded where appropriate: ``` #cloud-config vyos_config_options: network_config: disabled vyos_config_commands: - delete interfaces ethernet eth0 address - set interfaces ethernet eth0 address '[(${ipAddressWithCidr})]' - set protocols static route 0.0.0.0/0 next-hop [(${gateway})] - set service ssh disable-host-validation - set system login user [(${userName})] authentication encrypted-password '[(${adminPwd})]' - set system login user [(${userName})] authentication public-keys equinix_key key '[(${publicKey})]' - set system login user [(${userName})] authentication public-keys equinix_key type 'ssh-rsa' - delete system login user vyos - set system host-name '[(${hostname})]' - set system name-server '8.8.8.8' - set system name-server '8.8.4.4' - set system ntp server '216.239.35.0/28' - set system login banner pre-login ``` ### Example: Ubuntu/Debian cloud-init[​](#example-ubuntudebian-cloud-init "Enlace directo a Example: Ubuntu/Debian cloud-init") Day 0 file for Ubuntu-based virtual devices. It sets the root password, enables SSH password authentication, configures the network interface with Equinix variables through netplan, and applies the configuration on first boot: ``` #cloud-config chpasswd: list: | root:test expire: false ssh_pwauth: true write_files: - path: /etc/netplan/50-cloud-init.yaml owner: root:root permissions: '0600' content: | network: version: 2 renderer: networkd ethernets: ens3: addresses: - [(${ipAddressWithCidr})] routes: - to: default via: [(${gateway})] nameservers: addresses: [8.8.8.8, 8.8.4.4] runcmd: - netplan apply ``` > **Nota** > > In the Ubuntu example, `ipAddressWithCidr` provides the IP with CIDR prefix (for example, 192.168.1.10/30) and `gateway` provides the default gateway. The Equinix provisioning engine injects both at device creation time. The `netplan apply` command in `runcmd` applies the network configuration on first boot. ## Move Your Image to the Private Marketplace[​](#move-your-image-to-the-private-marketplace "Enlace directo a Move Your Image to the Private Marketplace") After you complete testing, submit a request to have the image moved to your Private Marketplace by emailing the [Network Edge Product team](mailto:Network-Edge-Product@equinix.com). Once published, your image appears as a selectable device card in your Private Marketplace, with a Private badge, vendor logo, device name, and category. ![](https://docs.equinix.com/es/assets/images/ne-byoi-example-card-4e837a59925cef99c280ec5698262a3f.png) ### Request Process[​](#request-process "Enlace directo a Request Process") | Step | Action | Responsible | | ---- | -------------------------------------------------------------------------- | ----------- | | 1 | Complete image validation | Customer | | 2 | Email Network Edge Product team requesting Private Marketplace publication | Customer | | 3 | Review and publish image to Private Marketplace (up to 48 hours) | Equinix | | 4 | Deploy virtual devices from Private Marketplace in any Network Edge metro | Customer | ## Support & Resources[​](#support--resources "Enlace directo a Support & Resources") For questions or support, contact the Equinix Network Edge Product team at .