<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Getting started Archives | XOAP</title>
	<atom:link href="https://dev.xoap.io/docs-tag/getting-started/feed/" rel="self" type="application/rss+xml" />
	<link>https://dev.xoap.io/docs-tag/getting-started/</link>
	<description>Platform for IT infrastructure and workplace automation</description>
	<lastBuildDate>Thu, 19 Feb 2026 11:37:17 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://dev.xoap.io/wp-content/uploads/2023/11/cropped-favicon-32x32.png</url>
	<title>Getting started Archives | XOAP</title>
	<link>https://dev.xoap.io/docs-tag/getting-started/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Standardizing on premises OS images</title>
		<link>https://dev.xoap.io/docs/standardizing-on-premises-os-images/</link>
					<comments>https://dev.xoap.io/docs/standardizing-on-premises-os-images/#respond</comments>
		
		<dc:creator><![CDATA[Stella]]></dc:creator>
		<pubDate>Wed, 11 Feb 2026 10:02:25 +0000</pubDate>
				<guid isPermaLink="false">https://dev.xoap.io/?post_type=docs&#038;p=29358</guid>

					<description><![CDATA[<p>Overview This guide walks you through the&#160;end‑to‑end process of standardizing on-premises operating system images with XOAP.&#160;The goal is to help you build&#160;repeatable, compliant, and provider‑agnostic base images&#160;that can be used consistently across on-premises deployments on either VMware vSphere, Nutanix or XenServer.&#160; What Are Standardized on-premises OS Images?&#160; Standardized Cloud OS Images are&#160;centrally defined, versioned, and [&#8230;]</p>
<p>The post <a href="https://dev.xoap.io/docs/standardizing-on-premises-os-images/">Standardizing on premises OS images</a> appeared first on <a href="https://dev.xoap.io">XOAP</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<div class="wp-block-group is-vertical is-layout-flex wp-container-core-group-is-layout-3 wp-block-group-is-layout-flex">
<h2 class="wp-block-heading overview-flow" style="font-size:38px">Overview </h2>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>This guide walks you through the&nbsp;<strong>end‑to‑end process of standardizing on-premises operating system images with XOAP.&nbsp;</strong>The goal is to help you build&nbsp;<strong>repeatable, compliant, and provider‑agnostic base images</strong>&nbsp;that can be used consistently across on-premises deployments on either VMware vSphere, Nutanix or XenServer.&nbsp;</p>
</blockquote>



<figure class="wp-block-image size-full"><img decoding="async" src="https://dev.xoap.io/wp-content/uploads/2026/02/connect-azure-tenant-image-management-xoap.svg" alt="" class="wp-image-29435"/></figure>



<h3 class="wp-block-heading" style="font-size:28px">What Are Standardized on-premises OS Images?&nbsp;</h3>



<p>Standardized Cloud OS Images are&nbsp;<strong>centrally defined, versioned, and automated operating system images&nbsp;that:&nbsp;</strong></p>



<ul class="wp-block-list">
<li>Follow a common baseline (security, hardening, tooling)&nbsp;</li>



<li>Are built in a reproducible way&nbsp;</li>



<li>Can be reused across multiple environments and providers&nbsp;</li>



<li>Serve as the foundation for higher‑level automation (platform management)&nbsp;</li>
</ul>



<p>XOAP acts as the&nbsp;<strong>control plane</strong>&nbsp;that defines&nbsp;what&nbsp;an image should look like and&nbsp;how&nbsp;it is built, while the actual build execution happens inside the target environment.&nbsp;</p>



<h3 class="wp-block-heading" style="font-size:28px">What is the difference between images being created in the cloud and on-premises</h3>



<p>Creating images in the cloud and on-premises follows the same high-level goal—producing a reusable, standardized machine image—but differs significantly in implementation details.&nbsp;&nbsp;</p>



<p>In on-premises environments, image creation typically relies on full OS installers and requires an explicit&nbsp;<strong>autounattend.xml</strong>&nbsp;for Windows to automate setup steps such as disk partitioning, locale, users, and initial configuration; additional scripts are needed to configure&nbsp;<strong>WinRM</strong>, open or adjust the&nbsp;<strong>Windows Firewall</strong>, and install the appropriate&nbsp;<strong>hypervisor tools</strong>&nbsp;(for example, VMware Tools or XenServer guest tools) to ensure manageability and performance.&nbsp;&nbsp;</p>



<p>In cloud environments, many of these steps are partially abstracted by the platform through metadata services and pre-configured base images, but customization scripts are still required to align with enterprise standards. </p>



<p>For&nbsp;<strong>Linux</strong>, both cloud and on-premises image builds require unattended installation mechanisms (for example&nbsp;<strong>Kickstart,&nbsp;Preseed</strong>, or&nbsp;<strong>Cloud-Init</strong>) along with post-install scripts to configure SSH access, firewall rules, networking, time synchronization, and to install the relevant hypervisor or cloud-agent packages, ensuring the image integrates cleanly with the target runtime platform.&nbsp;</p>



<h3 class="wp-block-heading" style="font-size:28px">High‑Level Architecture – How It Works&nbsp;</h3>



<p>At a high level, the process looks like this:&nbsp;</p>



<ol class="wp-block-list">
<li>XOAP defines operating systems, builders, and image definitions&nbsp;</li>



<li>An on‑premises&nbsp;<strong>Connector</strong>&nbsp;executes builds locally&nbsp;</li>



<li>Images are created using native provider tooling&nbsp;</li>



<li>Results are tracked, versioned, and reused&nbsp;</li>
</ol>



<p>Key design principles:&nbsp;</p>



<ul class="wp-block-list">
<li><strong>No public inbound access required</strong>&nbsp;for XOAP&nbsp;</li>



<li><strong>Least</strong><strong>‑</strong><strong>privilege access</strong>&nbsp;using native identity concepts&nbsp;</li>



<li><strong>Separation of control plane and execution plane</strong>&nbsp;</li>
</ul>



<h3 class="wp-block-heading" style="font-size:28px">Short Overview of the End‑to‑End Flow&nbsp;</h3>



<ul class="wp-block-list">
<li>Prepare prerequisites&nbsp;</li>



<li>Deploy a Connector&nbsp;</li>



<li>Add an on-premises Connection&nbsp;</li>



<li>Add and manage Operating Systems&nbsp;</li>



<li>Configure Builders&nbsp;</li>



<li>Create Image Definitions&nbsp;</li>



<li>Run Image Builds&nbsp;</li>



<li>Validate the created images&nbsp;</li>



<li>Troubleshoot if required&nbsp;</li>



<li>Next steps and extensions&nbsp;</li>
</ul>



<h2 class="wp-block-heading prerequisites-on-premises" style="font-size:38px">Prerequisites</h2>



<p>Before you start, ensure the following prerequisites are met:&nbsp;</p>



<h3 class="wp-block-heading" style="font-size:28px">General</h3>



<ul class="wp-block-list">
<li>An active XOAP Workspace&nbsp;</li>



<li>Access to at least one supported on-premises virtualization platform&nbsp;</li>



<li>Permissions to create images and identities in the target environment (solution specific)&nbsp;</li>



<li>An Linux or Windows VM, to install the XOAP Connector which acts a s a proxy&nbsp;</li>



<li>If a proxy is used for internet connection, proxy credentials are needed for the Connector&nbsp;</li>



<li>Connector has access to the created images with required ports (WinRM 8595, 8596)&nbsp;</li>



<li>An ISO on the datastore of the desired platform&nbsp;</li>



<li>The SHA256 hash of the iso&nbsp;</li>
</ul>



<h3 class="wp-block-heading tabs-title" style="font-size:28px">Cloud‑Specific&nbsp;</h3>



<h4 class="wp-block-heading tab" style="font-size:28px">vSphere&nbsp;&nbsp;</h4>



<pre class="wp-block-code"><code>Required privileges at vCenter level (minimum set): 

    •   Datastore 
    •   Allocate space 
    •   Browse datastore 
    •   Low level file operations 
    •   Network 
    •   Assign network 
    •   Resource 
    •   Assign virtual machine to resource pool 
    •   Virtual Machine → Inventory 
    •   Create new 
    •   Register 
    •   Remove 
    •   Virtual Machine → Configuration 
    •   Add new disk 
    •   Add or remove device 
    •   Change CPU count 
    •   Change memory 
    •   Settings 
    •   Virtual Machine → Interaction 
    •   Power on 
    •   Power off 
    •   Reset 
    •   Virtual Machine → Provisioning 
    •   Allow disk access 
    •   Allow read-only disk access 
    •   vApp 
    •   Import 

Best practices: 
    •   Create a dedicated vCenter role for Packer/XOAP 
    •   Assign the role at Datacenter or Folder level 
    •   Use a service account, not a personal user </code></pre>



<h4 class="wp-block-heading tab" style="font-size:28px">Nutanix&nbsp;</h4>



<pre class="wp-block-code"><code>Required roles / permissions: 
    •   Ability to create, update, and delete VMs 
    •   Image upload and management permissions 
    •   Network assignment permissions 
    •   Disk attach/detach permissions 

Recommended built-in roles: 
    •   Infrastructure Admin (broad, easiest) 
    •   Or a custom role with: 
    •   VM Create / Delete 
    •   Image Create / Update 
    •   Network View / Attach 

Best practices: 
    •   Use a service account in Prism Central 
    •   Scope permissions to a specific project if possible</code></pre>



<h4 class="wp-block-heading tab" style="font-size:28px">XenServer</h4>



<pre class="wp-block-code"><code>Required permissions: 
    •   Pool‑admin or equivalent custom role with: 
    •   VM create / destroy 
    •   Attach / detach disks 
    •   Power operations 
    •   ISO SR access 

Key requirements: 
    •   Access to an ISO SR containing the installation media 
    •   Permission to create templates or base VMs 

Best practices: 
    •   Use a dedicated automation user
    •   Avoid using the built‑in root account </code></pre>



<h3 class="wp-block-heading" style="font-size:28px">Connector Deployment Flow&nbsp;</h3>



<p>For most scenarios, XOAP uses a&nbsp;<strong>Connector</strong>&nbsp;that runs inside the target environment.&nbsp;</p>



<h3 class="wp-block-heading" style="font-size:28px">Create an API Key&nbsp;</h3>



<p>Text</p>



<h3 class="wp-block-heading" style="font-size:28px">Note your Workspace ID&nbsp;</h3>



<p>Text</p>



<h3 class="wp-block-heading" style="font-size:28px">Install Connector on Windows&nbsp;</h3>



<ul class="wp-block-list">
<li>Deploy the Connector VM or service in the target environment&nbsp;</li>



<li>Outbound‑only communication to XOAP (api.dev.xoap.io) via 443&nbsp;</li>



<li>No inbound firewall rules required&nbsp;</li>
</ul>



<h3 class="wp-block-heading" style="font-size:28px">Install Connector on Linux&nbsp;</h3>



<ul class="wp-block-list">
<li>Deploy the Connector VM or service in the target environment&nbsp;</li>



<li>Outbound‑only communication to XOAP (api.dev.xoap.io) via 443&nbsp;</li>



<li>No inbound firewall rules required&nbsp;</li>
</ul>



<h3 class="wp-block-heading" style="font-size:28px">Verify Registration&nbsp;</h3>



<p>Text</p>



<h2 class="wp-block-heading connection-on-premises" style="font-size:38px">Add a Connection&nbsp;</h2>



<p>The&nbsp;<strong>Connection</strong>&nbsp;represents the logical link between XOAP and a target environment.&nbsp;</p>



<p>Steps:</p>



<ul class="wp-block-list">
<li>Navigate to&nbsp;<strong>Connections</strong>&nbsp;in XOAP&nbsp;</li>



<li>Select the target provider (Nutanix, vSphere or XenServer&nbsp;</li>



<li>Insert necessary Connection information&nbsp;</li>



<li>Assign the Connector that should be used for communication&nbsp;</li>



<li>Save the connection&nbsp;</li>
</ul>



<h3 class="wp-block-heading tabs-title" style="font-size:28px">Add connection Cloud-specific&nbsp;</h3>



<h4 class="wp-block-heading tab" style="font-size:28px">Nutanix</h4>



<p>Text</p>



<h4 class="wp-block-heading tab" style="font-size:28px">vSphere</h4>



<p>Text</p>



<h4 class="wp-block-heading tab" style="font-size:28px">XenServer</h4>



<p>Text</p>



<p>At this stage, no workloads are executed yet—you are only defining&nbsp;<em>where</em>&nbsp;builds will later run.&nbsp;</p>



<h2 class="wp-block-heading os-on-premises" style="font-size:38px">Add Operating Systems&nbsp;</h2>



<p>Operating Systems define&nbsp;<strong>what base OS versions are supported</strong>&nbsp;for image creation. On-premises operating systems are generic for all types of on-premises hypervisors.&nbsp;</p>



<p>Examples:&nbsp;</p>



<ul class="wp-block-list">
<li>Windows 11 Enterprise&nbsp;</li>



<li>Windows Server 2025&nbsp;</li>



<li>Ubuntu LTS&nbsp;</li>



<li>RHEL&nbsp;</li>
</ul>



<h2 class="wp-block-heading builder-configuration-on-premises" style="font-size:38px">Add Builder Configuration&nbsp;</h2>



<p>Builders define&nbsp;<strong>how</strong>&nbsp;an image is created.&nbsp;</p>



<p>A Builder configuration typically includes:&nbsp;</p>



<ul class="wp-block-list">
<li>Target platform (Nutanix, vSphere or XenServer.)&nbsp;</li>



<li>CPU and RAM configuration&nbsp;</li>



<li>Networking and storage configuration&nbsp;</li>



<li>Temporary build resources&nbsp;</li>
</ul>



<p>Builders abstract provider differences while keeping builds transparent and auditable.&nbsp;</p>



<h3 class="wp-block-heading tabs-title" style="font-size:28px">Add a builder configuration Cloud specific</h3>



<h4 class="wp-block-heading tab" style="font-size:28px">Nutanix</h4>



<p>Text</p>



<h4 class="wp-block-heading tab" style="font-size:28px">vSphere</h4>



<p>Text</p>



<h4 class="wp-block-heading tab" style="font-size:28px">XenServer</h4>



<p>Text</p>



<h2 class="wp-block-heading image-definition-on-premises" style="font-size:38px">Add Image Definition&nbsp;</h2>



<p>An&nbsp;<strong>Image Definition</strong>&nbsp;ties everything together.&nbsp;</p>



<p>It references:&nbsp;</p>



<ul class="wp-block-list">
<li>Platform&nbsp;</li>



<li>Builder Configuration&nbsp;</li>



<li>Operating System&nbsp;</li>



<li>Provisioning steps (scripts, actions, hardening), we call it&nbsp;<strong>Provisioner Role.</strong>&nbsp;</li>
</ul>



<h3 class="wp-block-heading" style="font-size:28px">Run Image Definition&nbsp;</h3>



<p>Once defined, you can start an image build:&nbsp;</p>



<ol class="wp-block-list">
<li>Select the Image Definition&nbsp;</li>



<li>Trigger a run manually or via schedule&nbsp;</li>



<li>XOAP hands off execution to the Connector&nbsp;</li>



<li>Build progress and logs are tracked centrally&nbsp;</li>
</ol>



<p>Each run results in a&nbsp;<strong>new, versioned image artifact</strong>.&nbsp;</p>



<h3 class="wp-block-heading" style="font-size:28px">Summary&nbsp;</h3>



<p>By following this flow, you establish a&nbsp;<strong>clean, auditable, and scalable image pipeline</strong>:&nbsp;</p>



<ul class="wp-block-list">
<li>One control plane (XOAP)&nbsp;</li>



<li>Multiple execution environments&nbsp;</li>



<li>Consistent OS baselines&nbsp;</li>



<li>Cloud and on‑prem parity&nbsp;</li>
</ul>



<p>This forms the foundation for enterprise‑grade automation and compliance‑driven infrastructure.&nbsp;</p>



<h2 class="wp-block-heading next-steps" style="font-size:38px">Next steps</h2>



<p>Once your first standardized image is working, typical next steps include:&nbsp;</p>



<div class="wp-block-group is-layout-constrained wp-block-group-is-layout-constrained">
<div class="wp-block-group is-layout-constrained wp-block-group-is-layout-constrained">
<h3 class="wp-block-heading verify-next-steps" style="font-size:28px">Verify the Created Image&nbsp;</h3>
</div>



<p>After a successful build:&nbsp;</p>



<ul class="wp-block-list">
<li>Validate the image&nbsp;</li>



<li>Confirm naming and version metadata&nbsp;</li>
</ul>



<p>XOAP keeps a record of:&nbsp;</p>



<ul class="wp-block-list">
<li>Logs&nbsp;</li>



<li>Resulting image IDs&nbsp;</li>
</ul>



<h3 class="wp-block-heading tabs-title" style="font-size:28px">Validate Image Definition Cloud Specific</h3>



<h4 class="wp-block-heading tab" style="font-size:28px">Nutanix</h4>



<p>Text</p>



<h4 class="wp-block-heading tab" style="font-size:28px">vSphere</h4>



<p>Text</p>



<h4 class="wp-block-heading tab" style="font-size:28px">XenServer</h4>



<p>Text</p>
</div>



<h3 class="wp-block-heading troubleshooting-next-steps" style="font-size:28px">Troubleshooting&nbsp;</h3>



<p>If a build fails:&nbsp;</p>



<ul class="wp-block-list">
<li>Review build logs in XOAP&nbsp;</li>



<li>Check Connector health and permissions&nbsp;</li>



<li>Validate cloud quotas and limits&nbsp;</li>



<li>Confirm network reachability inside the target environment&nbsp;</li>
</ul>



<p>Most issues are related to:&nbsp;</p>



<ul class="wp-block-list">
<li>Missing permissions&nbsp;</li>



<li>Network misconfiguration or port restrictions&nbsp;</li>



<li>Provider‑side quota limits&nbsp;</li>
</ul>



<h3 class="wp-block-heading scripts-next-steps" style="font-size:28px">Add Your Own Scripts, Applications and Configurations&nbsp;</h3>



<ul class="wp-block-list">
<li>Extend provisioners with custom scripts&nbsp;</li>



<li>Integrate security baselines&nbsp;</li>



<li>Install enterprise tooling&nbsp;</li>
</ul>



<p>Check our repo at&nbsp;<a href="https://dev.xoap.io/image-management-templates" target="_blank" rel="noreferrer noopener">https://dev.xoap.io/image-management-templates</a>&nbsp;</p>



<h3 class="wp-block-heading roles-next-steps" style="font-size:28px">Reuse existing Roles in the cloud&nbsp;</h3>



<ul class="wp-block-list">
<li>Apply the same provisioning roles to cloud images&nbsp;</li>



<li>Achieve consistency across hybrid environments&nbsp;</li>
</ul>



<h3 class="wp-block-heading automation-next-steps" style="font-size:28px">Build Higher‑Level Automation&nbsp;</h3>



<ul class="wp-block-list">
<li>Application packaging&nbsp;</li>



<li>Stacks and roles&nbsp;</li>



<li>Continuous image updates&nbsp;</li>
</ul>
</div>



<p></p>
<p>The post <a href="https://dev.xoap.io/docs/standardizing-on-premises-os-images/">Standardizing on premises OS images</a> appeared first on <a href="https://dev.xoap.io">XOAP</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://dev.xoap.io/docs/standardizing-on-premises-os-images/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
