<?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>XOAP Docs Archive | XOAP</title>
	<atom:link href="https://dev.xoap.io/docs/feed/" rel="self" type="application/rss+xml" />
	<link>https://dev.xoap.io/docs/</link>
	<description>Platform for IT infrastructure and workplace automation</description>
	<lastBuildDate>Thu, 19 Feb 2026 12:49:29 +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>XOAP Docs Archive | XOAP</title>
	<link>https://dev.xoap.io/docs/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Use case: B3S/BSI Technical control mapping</title>
		<link>https://dev.xoap.io/docs/b3s-bsi-technical-control-mapping/</link>
					<comments>https://dev.xoap.io/docs/b3s-bsi-technical-control-mapping/#respond</comments>
		
		<dc:creator><![CDATA[Stella]]></dc:creator>
		<pubDate>Thu, 19 Feb 2026 12:49:28 +0000</pubDate>
				<guid isPermaLink="false">https://dev.xoap.io/?post_type=docs&#038;p=29613</guid>

					<description><![CDATA[<p>XOAP automation BSI Module&#160; Control ID&#160; DetailedTechnical&#160;Requirement&#160; XOAP Automation&#160;Method&#160; SYS.1.1&#160; A1, A7, A12&#160; General Client/Server&#160;Hardening&#160; Automated removal of pre-installed bloatware; Disabling unencrypted services (Telnet, HTTP).&#160; SYS.1.1&#160; A14, A22&#160; Registry &#38; Policy Lockdown&#160; Enforcement of &#8220;No-Run&#8221; policies for unauthorized paths; Disabling LLMNR, NetBIOS over TCP/IP.&#160; SYS.1.2.2&#160; A8, A11&#160; Windows 10/11 Security&#160; Automated configuration of BitLocker (TPM); [&#8230;]</p>
<p>The post <a href="https://dev.xoap.io/docs/b3s-bsi-technical-control-mapping/">Use case: B3S/BSI Technical control mapping</a> appeared first on <a href="https://dev.xoap.io">XOAP</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading" style="font-size:38px">XOAP automation</h2>



<figure class="wp-block-table"><table class="has-fixed-layout"><tbody><tr><td><strong>BSI Module</strong>&nbsp;</td><td><strong>Control ID</strong>&nbsp;</td><td><strong>DetailedTechnical&nbsp;Requirement</strong>&nbsp;</td><td><strong>XOAP Automation&nbsp;Method</strong>&nbsp;</td></tr><tr><td><strong>SYS.1.1</strong>&nbsp;</td><td>A1, A7, A12&nbsp;</td><td><strong>General Client/Server&nbsp;Hardening</strong>&nbsp;</td><td>Automated removal of pre-installed bloatware; Disabling unencrypted services (Telnet, HTTP).&nbsp;</td></tr><tr><td><strong>SYS.1.1</strong>&nbsp;</td><td>A14, A22&nbsp;</td><td><strong>Registry &amp; Policy Lockdown</strong>&nbsp;</td><td>Enforcement of &#8220;No-Run&#8221; policies for unauthorized paths; Disabling LLMNR, NetBIOS over TCP/IP.&nbsp;</td></tr><tr><td><strong>SYS.1.2.2</strong>&nbsp;</td><td>A8, A11&nbsp;</td><td><strong>Windows 10/11 Security</strong>&nbsp;</td><td>Automated configuration of BitLocker (TPM); SmartScreen enforcement; Disabling Cortana/Telemetry.&nbsp;</td></tr><tr><td><strong>SYS.1.3</strong>&nbsp;</td><td>A1, A5&nbsp;</td><td><strong>Server&nbsp;Configuration</strong>&nbsp;</td><td>Deployment of secure baseline templates; Automated removal of SMBv1 and outdated PowerShell versions.&nbsp;</td></tr><tr><td><strong>OPS.1.1.4</strong>&nbsp;</td><td>A1, A3, A6&nbsp;</td><td><strong>Vulnerability&nbsp;&amp;&nbsp;Patching</strong>&nbsp;</td><td>Scheduled scanning and silent deployment of MS Security Updates and 120+ 3rd-party apps (e.g., Citrix, Java).&nbsp;</td></tr><tr><td><strong>ORP.4</strong>&nbsp;</td><td>A2, A7, A14&nbsp;</td><td><strong>Identity Management (IAM)</strong>&nbsp;</td><td>Forced MFA configuration for local/admin accounts; Automated screen lock (15 min) and login retry limits.&nbsp;</td></tr><tr><td><strong>APP.1.1</strong>&nbsp;</td><td>A2, A4&nbsp;</td><td><strong>ApplicationLifecycle</strong>&nbsp;</td><td>Automated installation and self-healing of core hospital software (HIS, PACS) to ensure version consistency.&nbsp;</td></tr><tr><td><strong>NET.1.1</strong>&nbsp;</td><td>A10, A11&nbsp;</td><td><strong>Local&nbsp;Firewall (Micro-segmentation)</strong>&nbsp;</td><td>Scripted rules for Windows Firewall to isolate VDI/Endpoints from direct Server subnet access.&nbsp;</td></tr><tr><td><strong>DER.1</strong>&nbsp;</td><td>A1, A2, A4&nbsp;</td><td><strong>Event&nbsp;Logging(SzA)</strong>&nbsp;</td><td>Automated setup of Event Forwarding (WEF) and configuration of advanced audit policies (Process Creation, File Access).&nbsp;</td></tr><tr><td><strong>CON.1</strong>&nbsp;</td><td>A3&nbsp;</td><td><strong>CryptographicProtection</strong>&nbsp;</td><td>System-wide enforcement of TLS 1.3 and disabling of weak ciphers (RC4, 3DES, MD5).&nbsp;</td></tr><tr><td><strong>INF.2</strong>&nbsp;</td><td>A1&nbsp;</td><td><strong>Device Control</strong>&nbsp;</td><td>Policy-based disabling of USB Mass Storage, FireWire, and Thunderbolt ports on public terminals.&nbsp;</td></tr><tr><td><strong>APP.1.4</strong>&nbsp;</td><td>A2, A5&nbsp;</td><td><strong>Browser Security</strong>&nbsp;</td><td>Hardening of MS Edge/Chrome (disabling sync, forcing safe browsing, extension allowlisting).&nbsp;</td></tr></tbody></table></figure>



<p></p>
<p>The post <a href="https://dev.xoap.io/docs/b3s-bsi-technical-control-mapping/">Use case: B3S/BSI Technical control mapping</a> appeared first on <a href="https://dev.xoap.io">XOAP</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://dev.xoap.io/docs/b3s-bsi-technical-control-mapping/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<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>
		<item>
		<title>2026 January updates</title>
		<link>https://dev.xoap.io/docs/2026-january-updates/</link>
					<comments>https://dev.xoap.io/docs/2026-january-updates/#respond</comments>
		
		<dc:creator><![CDATA[Stella]]></dc:creator>
		<pubDate>Mon, 02 Feb 2026 14:46:04 +0000</pubDate>
				<guid isPermaLink="false">https://dev.xoap.io/?post_type=docs&#038;p=29302</guid>

					<description><![CDATA[<p>This release focuses on improving efficiency, scalability, and operational clarity across the platform. Key highlights include enhanced bulk operations, extended Azure integration using Managed Identities, a clearer Provisioner integration, and significant improvements to the XOAP Connector installation and lifecycle management. General This section introduces usability and productivity improvements that apply across multiple areas of the [&#8230;]</p>
<p>The post <a href="https://dev.xoap.io/docs/2026-january-updates/">2026 January updates</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-4 wp-block-group-is-layout-flex">
<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>This release focuses on improving efficiency, scalability, and operational clarity across the platform.</p>



<p>Key highlights include enhanced bulk operations, extended Azure integration using Managed Identities, a clearer Provisioner integration, and significant improvements to the XOAP Connector installation and lifecycle management.</p>
</blockquote>



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



<p>This section introduces usability and productivity improvements that apply across multiple areas of the platform, with a strong focus on working with larger datasets.</p>



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



<p>Data tables have been enhanced to better support bulk operations and day-to-day administrative workflows.</p>



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



<p>You can now edit tags for multiple resources in a single operation, reducing repetitive manual effort.</p>



<figure class="wp-block-image size-large"><img decoding="async" src="https://dev.xoap.io/wp-content/uploads/2026/02/changelog-jan-2026-1-1024x517.png" alt="" class="wp-image-29303"/></figure>



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



<p>Multiple resources can now be downloaded at once.</p>



<p>Note: Ensure that your browser allows multiple simultaneous downloads.</p>



<figure class="wp-block-image size-large"><img decoding="async" src="https://dev.xoap.io/wp-content/uploads/2026/02/changelog-jan-2026-2-1024x517.png" alt="" class="wp-image-29304"/></figure>



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



<p>Export data for all or selected resources to <strong>.csv</strong> or <strong>.xlsx</strong> formats for further processing or reporting.</p>



<figure class="wp-block-image size-large"><img decoding="async" src="https://dev.xoap.io/wp-content/uploads/2026/02/changelog-jan-2026-3-1024x517.png" alt="" class="wp-image-29305"/></figure>



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



<p>Multiple resources can now be deleted in a single action, simplifying cleanup and lifecycle management.</p>



<figure class="wp-block-image size-large"><img decoding="async" src="https://dev.xoap.io/wp-content/uploads/2026/02/changelog-jan-2026-4-1024x517.png" alt="" class="wp-image-29307"/></figure>



<h2 class="wp-block-heading" style="font-size:38px">Image Management</h2>



<p>This release significantly improves Azure-based image workflows by removing networking constraints and strengthening security.</p>



<h3 class="wp-block-heading" style="font-size:28px">Azure Managed Identity Support</h3>



<p>The XOAP Connector can now be used with <strong>Azure Managed Images</strong> and <strong>Azure Gallery Image Definition</strong> runs.</p>



<p>This eliminates the need for Public IPs on provisioned VMs. Instead, the XOAP Connector VM uses an <strong>Azure Managed Identity</strong> within the subscription to:</p>



<ul class="wp-block-list">
<li>Create all required Azure resources</li>



<li>Securely communicate with the XOAP backend</li>



<li>Align image builds with enterprise security and compliance requirements</li>
</ul>



<figure class="wp-block-image size-large"><img decoding="async" src="https://dev.xoap.io/wp-content/uploads/2026/02/changelog-jan-2026-5-1024x517.png" alt="" class="wp-image-29310"/></figure>



<h3 class="wp-block-heading" style="font-size:28px">NEW &#8211; Provisioners overview and details</h3>



<p>Gain visibility into configured provisioners and inspect their configuration and status.</p>



<figure class="wp-block-image size-large"><img decoding="async" src="https://dev.xoap.io/wp-content/uploads/2026/02/changelog-jan-2026-6-1024x517.png" alt="" class="wp-image-29313"/></figure>



<figure class="wp-block-image size-large"><img decoding="async" src="https://dev.xoap.io/wp-content/uploads/2026/02/changelog-jan-2026-7-1024x517.png" alt="" class="wp-image-29314"/></figure>



<h3 class="wp-block-heading" style="font-size:28px">NEW &#8211; Provisioners Groups overview and details</h3>



<p>Organize provisioners into logical groups to better reflect environments or responsibilities.</p>



<figure class="wp-block-image size-large"><img decoding="async" src="https://dev.xoap.io/wp-content/uploads/2026/02/changelog-jan-2026-8-1024x517.png" alt="" class="wp-image-29317"/></figure>



<figure class="wp-block-image size-large"><img decoding="async" src="https://dev.xoap.io/wp-content/uploads/2026/02/changelog-jan-2026-9-1024x517.png" alt="" class="wp-image-29318"/></figure>



<h3 class="wp-block-heading" style="font-size:28px">NEW &#8211; Provisioners Roles overview and details</h3>



<p>Clearly define and review provisioning roles to support structured and secure execution models.</p>



<figure class="wp-block-image size-large"><img decoding="async" src="https://dev.xoap.io/wp-content/uploads/2026/02/changelog-jan-2026-10-1024x517.png" alt="" class="wp-image-29320"/></figure>



<figure class="wp-block-image size-large"><img decoding="async" src="https://dev.xoap.io/wp-content/uploads/2026/02/changelog-jan-2026-11-1024x517.png" alt="" class="wp-image-29321"/></figure>



<h3 class="wp-block-heading" style="font-size:28px">NEW &#8211; Operating Systems overview and details</h3>



<p>Centralized visibility and management of supported operating systems used across image and provisioning workflows.</p>



<figure class="wp-block-image size-large"><img decoding="async" src="https://dev.xoap.io/wp-content/uploads/2026/02/changelog-jan-2026-12-1024x517.png" alt="" class="wp-image-29324"/></figure>



<figure class="wp-block-image size-large"><img decoding="async" src="https://dev.xoap.io/wp-content/uploads/2026/02/changelog-jan-2026-13-1024x517.png" alt="" class="wp-image-29325"/></figure>



<h2 class="wp-block-heading" style="font-size:38px">Documentation slide-outs</h2>



<p>The documentation experience has been redesigned to improve accessibility and usability.</p>



<p>Documentation is now structured into:</p>



<ul class="wp-block-list">
<li><strong>Quick Guide</strong> – for fast, task-oriented help</li>



<li><strong>Technical Documentation</strong> – for deeper, implementation-focused guidance</li>
</ul>



<p>This allows users to quickly find the level of detail they need.</p>



<figure class="wp-block-image size-large"><img decoding="async" src="https://dev.xoap.io/wp-content/uploads/2026/02/changelog-jan-2026-14-1024x517.png" alt="" class="wp-image-29328"/></figure>



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



<p>Tag handling has been refined to make metadata management faster and more intuitive.</p>



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



<p>Tags can now be removed directly within tag input fields without additional actions.</p>



<figure class="wp-block-image size-large"><img fetchpriority="high" decoding="async" width="1024" height="517" src="https://dev.xoap.io/wp-content/uploads/2026/02/changelog-jan-2026-15-1024x517.png" alt="" class="wp-image-29330" srcset="https://dev.xoap.io/wp-content/uploads/2026/02/changelog-jan-2026-15-1024x517.png 1024w, https://dev.xoap.io/wp-content/uploads/2026/02/changelog-jan-2026-15-300x152.webp 300w, https://dev.xoap.io/wp-content/uploads/2026/02/changelog-jan-2026-15-768x388.png 768w, https://dev.xoap.io/wp-content/uploads/2026/02/changelog-jan-2026-15-1536x776.png 1536w, https://dev.xoap.io/wp-content/uploads/2026/02/changelog-jan-2026-15-2048x1034.png 2048w, https://dev.xoap.io/wp-content/uploads/2026/02/changelog-jan-2026-15-18x9.png 18w, https://dev.xoap.io/wp-content/uploads/2026/02/changelog-jan-2026-15.webp 1920w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



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



<p>Inventory management has been extended to support more flexible onboarding scenarios.</p>



<h3 class="wp-block-heading" style="font-size:38px">Add Device</h3>



<p>Devices can now be manually added to the inventory, enabling better alignment with existing environments.</p>



<figure class="wp-block-image size-large"><img decoding="async" src="https://dev.xoap.io/wp-content/uploads/2026/02/changelog-jan-2026-16-1024x517.png" alt="" class="wp-image-29331"/></figure>



<h2 class="wp-block-heading" style="font-size:38px">XOAP Connector</h2>



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



<p>The XOAP Connector has been split into two components to:</p>



<ul class="wp-block-list">
<li>Improve update handling</li>



<li>Clearly separate installation and runtime responsibilities</li>
</ul>



<p><strong>Default installation path on Windows:</strong></p>



<p><code>C:\Program Files\XOAP</code></p>



<figure class="wp-block-image size-large"><img decoding="async" src="https://dev.xoap.io/wp-content/uploads/2026/02/changelog-jan-2026-17-1024x589.png" alt="" class="wp-image-29332"/></figure>



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



<p>The installer now provides a built-in help function to discover supported command-line parameters.</p>



<p><code>PS C:\Program Files\XOAP\Installer&gt; .\XOAP.Connector.Installer.exe --help</code></p>



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



<p>The XOAP Connector for Windows now runs as a <strong>native Windows Service</strong>, improving reliability and manageability.</p>



<figure class="wp-block-image size-large"><img decoding="async" src="https://dev.xoap.io/wp-content/uploads/2026/02/changelog-jan-2026-18-1024x589.png" alt="" class="wp-image-29334"/></figure>



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



<p>The XOAP Connector for Windows now writes operational logs directly to the <strong>Windows Event Log</strong>, enabling easier troubleshooting and monitoring.</p>



<figure class="wp-block-image size-large"><img decoding="async" src="https://dev.xoap.io/wp-content/uploads/2026/02/changelog-jan-2026-19-1024x589.png" alt="" class="wp-image-29337"/></figure>



<p>Additional log files and temporary files for Image Definition runs are stored in:</p>



<p><code>C:\ProgramData\XOAP</code></p>



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



<p>The XOAP Connector can now be updated in place using the installer.</p>



<p><code>PS C:\Program Files\XOAP\Installer&gt; .\XOAP.Connector.Installer.exe --update</code></p>



<p>This updates the installer and connector components to the latest available version.</p>



<figure class="wp-block-image size-large"><img decoding="async" src="https://dev.xoap.io/wp-content/uploads/2026/02/changelog-jan-2026-20-1024x589.png" alt="" class="wp-image-29339"/></figure>



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



<p>Proxy settings for the XOAP Connector can be centrally configured using the following file:</p>



<p><code>C:\Program Files\XOAP\Connector\config.yml</code></p>



<figure class="wp-block-image size-large"><img decoding="async" src="https://dev.xoap.io/wp-content/uploads/2026/02/changelog-jan-2026-21-1024x589.png" alt="" class="wp-image-29340"/></figure>
</div>
<p>The post <a href="https://dev.xoap.io/docs/2026-january-updates/">2026 January updates</a> appeared first on <a href="https://dev.xoap.io">XOAP</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://dev.xoap.io/docs/2026-january-updates/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Commands library</title>
		<link>https://dev.xoap.io/docs/commands-library/</link>
					<comments>https://dev.xoap.io/docs/commands-library/#respond</comments>
		
		<dc:creator><![CDATA[Stella]]></dc:creator>
		<pubDate>Tue, 27 Jan 2026 12:34:17 +0000</pubDate>
				<guid isPermaLink="false">https://dev.xoap.io/?post_type=docs&#038;p=29226</guid>

					<description><![CDATA[<p>Quick guide Commands Library is a centralized repository for reusable commands that can be executed on managed devices. It lets you standardize common operational tasks (e.g., troubleshooting, data collection, quick checks) by storing commands in one place and reusing them across the environment. Commands can be created for different runtimes such as PowerShell, PowerShell Core, [&#8230;]</p>
<p>The post <a href="https://dev.xoap.io/docs/commands-library/">Commands library</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-5 wp-block-group-is-layout-flex">
<h2 class="wp-block-heading" style="font-size:38px">Quick guide</h2>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p><strong>Commands Library</strong> is a centralized repository for reusable commands that can be executed on managed devices. It lets you standardize common operational tasks (e.g., troubleshooting, data collection, quick checks) by storing commands in one place and reusing them across the environment. Commands can be created for different runtimes such as <strong>PowerShell</strong>, <strong>PowerShell Core</strong>, <strong>Bash/Shell</strong>, or <strong>CMD</strong>.</p>
</blockquote>



<h3 class="wp-block-heading" style="font-size:28px">Add a new Command</h3>



<ol class="wp-block-list">
<li>Click <strong>+ Add Command</strong>.</li>



<li>Enter a <strong>Command name</strong>.</li>



<li>Select the <strong>Type</strong> (e.g., PowerShell Core, PowerShell, Bash/Shell, CMD).</li>



<li>(Optional) Add <strong>Tags</strong> and a <strong>Description</strong>.</li>



<li>Paste or write the <strong>Command</strong> content.</li>



<li>Click <strong>Add</strong> to create the command.</li>
</ol>



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



<ol class="wp-block-list">
<li>Open the command (e.g., via the <strong>Details</strong> / eye icon).</li>



<li>In the <strong>Current version</strong> panel, click <strong>Edit</strong>.</li>



<li>Update the command content and/or metadata as needed.</li>



<li>Save the changes (a new version is created).</li>
</ol>



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



<ol class="wp-block-list">
<li>Click the <strong>Delete</strong> (trash) icon next to the command.</li>



<li>Confirm deletion.</li>
</ol>



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



<h4 class="wp-block-heading" style="font-size:21px">OS compatibility</h4>



<p>Some command types are OS-specific. Use <strong>Tags</strong> (e.g., windows, linux) and/or naming conventions to clearly indicate the target platform.</p>



<h4 class="wp-block-heading" style="font-size:21px">Prefer non-interactive commands</h4>



<p>Avoid prompts and UI interactions; commands should run unattended.</p>



<h4 class="wp-block-heading">Keep output readable</h4>



<p>Return clear, structured output (and include error handling) to simplify troubleshooting and auditing.</p>



<h2 class="wp-block-heading" style="font-size:38px">Technical documentation</h2>



<p>The <strong>Commands Library</strong> is XOAP’s centralized store for <strong>versioned and reusable commands </strong>that can be executed on managed devices through the XOAP Inventory/Connector execution layer. It is designed for operational tasks such as troubleshooting, validation checks, log collection, and lightweight remediation actions.</p>



<p>A command in the library is defined by:</p>



<ul class="wp-block-list">
<li><strong>Metadata</strong> (name, description, tags)</li>



<li><strong>Runtime type</strong> (PowerShell, PowerShell Core, Bash/Shell, CMD)</li>



<li><strong>Command body</strong> (the actual script/command text)</li>



<li><strong>Version information</strong> (version number and message)</li>
</ul>



<p>Commands are executed on devices that have the <strong>XOAP Connector</strong> installed.</p>



<h3 class="wp-block-heading" style="font-size:28px">Command Types (Runtime)</h3>



<p>When you create a command, you select a <strong>Type</strong> that defines the interpreter/runtime used on the device:</p>



<ul class="wp-block-list">
<li><strong>PowerShell<br></strong>Runs using Windows PowerShell (typically 5.1 on Windows).</li>



<li><strong>PowerShell Core<br></strong>Runs using PowerShell 7+ (cross-platform when available).</li>



<li><strong>Bash/Shell<br></strong>Runs using a shell on Linux/macOS (typically /bin/bash or /bin/sh, depending on the device).</li>



<li><strong>CMD<br></strong>Runs using Windows Command Prompt (cmd.exe).</li>
</ul>



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



<p>Commands are <strong>versioned artifacts</strong>. Any change to the command definition (especially the command body) should be treated as a new version so you can:</p>



<ul class="wp-block-list">
<li>Track who changed what and why</li>



<li>Roll forward safely</li>



<li>Keep operational actions reproducible across environments</li>
</ul>



<p><strong>Best practice:</strong> Use short, meaningful version messages (e.g., “Add service filter”, “Fix path quoting”, “Support PS7”).</p>



<h3 class="wp-block-heading" style="font-size:28px">Fields and what they mean</h3>



<p>In the <strong>Add Command</strong> dialog:</p>



<ul class="wp-block-list">
<li><strong>Command name<br></strong>Unique, human-readable identifier. Use a consistent naming scheme like:<br>windows-check-service-status / linux-journalctl-last-50</li>



<li><strong>Type<br></strong>The runtime/interpreter used to execute the command on the target device.</li>



<li><strong>Tags<br></strong>Used for filtering and organization (OS, purpose, team, environment).</li>



<li><strong>Description (optional)<br></strong>Short explanation of intent, expected output, and any prerequisites.</li>



<li><strong>Command<br></strong>The script/command content. This should be non-interactive and safe to run repeatedly.</li>
</ul>



<h3 class="wp-block-heading" style="font-size:28px">Execution model and output</h3>



<p>Commands are&nbsp; executed remotely and return:</p>



<ul class="wp-block-list">
<li><strong>Exit code</strong> (success/failure)</li>



<li><strong>Standard output</strong> (results)</li>



<li><strong>Standard error</strong> (errors)</li>
</ul>



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



<ul class="wp-block-list">
<li>Return <strong>human-readable output</strong> plus simple structured output where possible (key/value lines).</li>



<li>Use explicit exit codes:
<ul class="wp-block-list">
<li>0 = success</li>



<li>non-zero = failure or partial failure</li>
</ul>
</li>



<li>Write errors to stderr and keep stdout for normal results.</li>
</ul>



<h3 class="wp-block-heading" style="font-size:28px">Operational and security considerations</h3>



<h4 class="wp-block-heading" style="font-size:21px">Non-interactive only</h4>



<ul class="wp-block-list">
<li>Avoid prompts (Read-Host, pause, interactive confirmation).</li>



<li>Assume the command runs unattended.</li>
</ul>



<h4 class="wp-block-heading" style="font-size:21px">Idempotency</h4>



<ul class="wp-block-list">
<li>Prefer commands that can be run multiple times without harmful side effects.</li>



<li>For remediation-type commands, check current state before changing it.</li>
</ul>



<h4 class="wp-block-heading" style="font-size:21px">Logging</h4>



<ul class="wp-block-list">
<li>For troubleshooting commands, include contextual details (hostname, timestamp, relevant versions).</li>
</ul>



<h3 class="wp-block-heading" style="font-size:28px">Best practices for building a maintainable library</h3>



<ul class="wp-block-list">
<li><strong>Naming convention: </strong>os-purpose-action (e.g., windows-inventory-installed-software)</li>



<li><strong>Tagging:</strong> OS + team + category (e.g., windows, security, troubleshooting)</li>



<li><strong>Small scope:</strong> One command = one purpose. Avoid “do everything” scripts.</li>



<li><strong>Document prerequisites:</strong> Required tools, modules, permissions, or paths.</li>



<li><strong>Test on pilots:</strong> Validate on a small set of devices before broad use.</li>



<li><strong>Prefer PowerShell Core for cross-platform:</strong> If your fleet supports it, it simplifies reuse.</li>
</ul>



<h3 class="wp-block-heading" style="font-size:28px">Examples (simple, safe commands)</h3>



<h4 class="wp-block-heading" style="font-size:21px">PowerShell (Windows) – list a service state</h4>



<p>Get-Service -Name &#8220;WinRM&#8221; | Select-Object Name, Status, StartType</p>



<h4 class="wp-block-heading" style="font-size:21px">PowerShell (Windows) – last 50 event log errors (System)</h4>



<p>Get-WinEvent -LogName System -MaxEvents 50 |<br>&nbsp; Where-Object { $_.LevelDisplayName -in &#8220;Error&#8221;,&#8221;Critical&#8221; } |<br>&nbsp; Select-Object TimeCreated, Id, ProviderName, Message</p>



<h4 class="wp-block-heading" style="font-size:21px">CMD (Windows) – basic network info</h4>



<p>ipconfig /all</p>



<h4 class="wp-block-heading" style="font-size:21px">Bash (Linux) – disk usage summary</h4>



<p>df -h</p>



<h4 class="wp-block-heading" style="font-size:21px">Troubleshooting</h4>



<p>If a command fails to run or returns unexpected output, the most common causes are:</p>



<ul class="wp-block-list">
<li>Wrong <strong>Type</strong> selected (e.g., Bash command on Windows)</li>



<li>Runtime not installed (e.g., PowerShell 7 missing for “PowerShell Core” commands)</li>



<li>OS differences (paths, tools, service managers)</li>



<li>Command is interactive or expects a TTY</li>
</ul>



<p><strong>Recommendation:</strong> Start with read-only diagnostics commands, then add remediation actions only after validation and clear approvals.</p>
</div>
<p>The post <a href="https://dev.xoap.io/docs/commands-library/">Commands library</a> appeared first on <a href="https://dev.xoap.io">XOAP</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://dev.xoap.io/docs/commands-library/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Prerequisites</title>
		<link>https://dev.xoap.io/docs/prerequisites/</link>
					<comments>https://dev.xoap.io/docs/prerequisites/#respond</comments>
		
		<dc:creator><![CDATA[Stella]]></dc:creator>
		<pubDate>Tue, 20 Jan 2026 14:07:47 +0000</pubDate>
				<guid isPermaLink="false">https://dev.xoap.io/?post_type=docs&#038;p=29006</guid>

					<description><![CDATA[<p>Image Management To get started with Image Management, there is only one prerequisite: a working connection to your environment. Configure your connection by navigating to Connections, then clicking the Add new connection button in the upper-right corner. In the slide-out panel, select the connection Type and Provider. Fill in the remaining required information and click [&#8230;]</p>
<p>The post <a href="https://dev.xoap.io/docs/prerequisites/">Prerequisites</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-6 wp-block-group-is-layout-flex">
<h2 class="wp-block-heading" style="font-size:38px">Image Management</h2>



<p>To get started with Image Management, there is only one prerequisite: a working connection to your environment. Configure your connection by navigating to <strong>Connections</strong>, then clicking the <strong>Add new connection</strong> button in the upper-right corner.</p>



<p>In the slide-out panel, select the connection <strong>Type</strong> and <strong>Provider</strong>. Fill in the remaining required information and click <strong>Confirm</strong> to save your connection.</p>



<p>If you need assistance with configuring your access credentials, please refer to the <a href="https://dev.xoap.io/docs/connect-your-infrastructure/" target="_blank" rel="noreferrer noopener">Connect your infrastructure documentation</a>.</p>



<p>In the following sections, you will find more information about the required permissions for your infrastructure. Please note that these are the <strong>minimum permissions</strong> needed to create <strong>Image Definitions</strong>.</p>



<p>If you plan to use the same connection for <strong>Scripted Actions</strong>, the required permissions may vary depending on the specific use case.</p>



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



<p>To create a customized image, a <strong>default VPC must be available</strong> in the AWS account you&#8217;re using.</p>



<p>Additionally, you need to assign appropriate <strong>IAM permissions</strong> to the user specified in the connection. At a minimum, the following permissions are required:</p>



<pre class="wp-block-code"><code>#Codeblock

{
  "Version": "2012-10-17",
  "Statement": &#91;
    {
      "Effect": "Allow",
      "Action": &#91;
        "ec2:AttachVolume",
        "ec2:AuthorizeSecurityGroupIngress",
        "ec2:CopyImage",
        "ec2:CreateImage",
        "ec2:CreateKeyPair",
        "ec2:CreateSecurityGroup",
        "ec2:CreateSnapshot",
        "ec2:CreateTags",
        "ec2:CreateVolume",
        "ec2:DeleteKeyPair",
        "ec2:DeleteSecurityGroup",
        "ec2:DeleteSnapshot",
        "ec2:DeleteVolume",
        "ec2:DeregisterImage",
        "ec2:DescribeImageAttribute",
        "ec2:DescribeImages",
        "ec2:DescribeInstances",
        "ec2:DescribeInstanceStatus",
        "ec2:DescribeRegions",
        "ec2:DescribeSecurityGroups",
        "ec2:DescribeSnapshots",
        "ec2:DescribeSubnets",
        "ec2:DescribeTags",
        "ec2:DescribeVolumes",
        "ec2:DetachVolume",
        "ec2:GetPasswordData",
        "ec2:ModifyImageAttribute",
        "ec2:ModifyInstanceAttribute",
        "ec2:ModifySnapshotAttribute",
        "ec2:RegisterImage",
        "ec2:RunInstances",
        "ec2:StopInstances",
        "ec2:TerminateInstances"
      ],
      "Resource": "*"
    }
  ]
}

#EndOfCodeblock</code></pre>



<p>Read more about the required permissions <a href="https://developer.hashicorp.com/packer/integrations/hashicorp/amazon" target="_blank" rel="noreferrer noopener">here</a>.</p>



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



<p>To create images on Azure, ensure the following prerequisite is met: you must create a <strong>Service Principal</strong> with Contributor role access to your Azure subscription. Use the Azure CLI to generate the Service Principal.</p>



<h4 class="wp-block-heading" style="font-size:21px">Command format</h4>



<pre class="wp-block-code"><code>#Codeblock
az ad sp create-for-rbac \
  --name &#91;ServicePrincipalName] \
  --role Contributor \
  --scopes /subscriptions/&#91;SubscriptionId] \
  --years 1
#EndOfCodeblock</code></pre>



<h4 class="wp-block-heading" style="font-size:21px">Command example</h4>



<pre class="wp-block-code"><code>#Codeblock

az ad sp create-for-rbac \
  --name xoap-image-principal \
  --role Contributor \
  --scopes /subscriptions/xxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx \
  --years 1

#EndOfCodeblock</code></pre>



<h4 class="wp-block-heading" style="font-size:21px">Command output</h4>



<pre class="wp-block-code"><code>#Codeblock

{
  "appId": "&#91;ClientId (Guid)]",
  "displayName": "xoap-image-principal",
  "name": "http://xoap-image-principal",
  "password": "&#91;ClientSecret]",
  "tenant": "&#91;TenantId (Guid)]"
}

#EndOfCodeblock</code></pre>



<p>Using this output, you can now configure your connection in XOAP:</p>



<ul class="wp-block-list">
<li><strong>Subscription ID:</strong> xxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx</li>



<li><strong>Tenant ID: </strong>[TenantId (GUID)]</li>



<li><strong>Client ID: </strong>[appId]</li>



<li><strong>Client Secret: </strong>[password]</li>
</ul>



<p>Read more about the required permissions <a href="https://developer.hashicorp.com/packer/integrations/hashicorp/azure" target="_blank" rel="noreferrer noopener">here</a>.</p>



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



<p>The file you&#8217;re required to upload is a<strong> Google Cloud Service Account key file</strong> in <strong>JSON</strong> format. You can generate and <strong>download</strong> it like this:</p>



<ol class="wp-block-list">
<li>Open <strong>Google Cloud Console</strong>: <a href="https://console.cloud.google.com/iam-admin/serviceaccounts" target="_blank" rel="noreferrer noopener">https://console.cloud.google.com/iam-admin/serviceaccounts</a>.</li>



<li>Select your <strong>project</strong> from the top-left dropdown.</li>



<li>Create or select a service account: If you don’t have one yet, click <strong>&#8220;Create Service Account&#8221;</strong> under <strong>&#8220;IAM&amp;Admin&#8221;</strong> menu. Give it a name and optional description.</li>



<li>Assign the required roles (see below for full list).</li>



<li>After creating or selecting a service account:
<ul class="wp-block-list">
<li>Click the ⋮ (three dots) next to the service account name<strong> </strong>→ <strong>Manage Keys</strong></li>



<li>Under the <strong>&#8220;Keys&#8221;</strong> section, click Add Key → <strong>Create new key</strong></li>



<li>Choose <strong>JSON</strong>, then click <strong>Create</strong></li>
</ul>
</li>



<li>The file will download automatically – this is the file you need to upload into XOAP to authenticate with Google Cloud.</li>
</ol>



<h4 class="wp-block-heading" style="font-size:21px">Required IAM Roles for Packer to build Images</h4>



<p>To allow the service account to build custom images with Packer, you need to assign at least these roles:</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><tbody><tr><td class="has-text-align-left" data-align="left"><strong>Role Name</strong></td><td class="has-text-align-left" data-align="left"><strong>Role ID</strong></td><td class="has-text-align-left" data-align="left"><strong>Purpose</strong></td></tr><tr><td class="has-text-align-left" data-align="left"><strong>Compute Instance Admin (v1)</strong></td><td class="has-text-align-left" data-align="left">roles/compute.instanceAdmin.v1</td><td class="has-text-align-left" data-align="left">Required to create, configure, and delete instances, disks, and snapshots</td></tr><tr><td class="has-text-align-left" data-align="left"><strong>Service Account User</strong></td><td class="has-text-align-left" data-align="left">roles/iam.serviceAccountUser</td><td class="has-text-align-left" data-align="left">Allows using the service account to launch instances</td></tr><tr><td class="has-text-align-left" data-align="left"><strong>Storage Admin (optional)</strong></td><td class="has-text-align-left" data-align="left">roles/storage.admin</td><td class="has-text-align-left" data-align="left">Required if storing images or artifacts in Cloud Storage</td></tr><tr><td class="has-text-align-left" data-align="left"><strong>IAP Tunnel Resource Accessor (optional)</strong></td><td class="has-text-align-left" data-align="left">roles/iap.tunnelResourceAccessor</td><td class="has-text-align-left" data-align="left">Needed only if using IAP to tunnel SSH</td></tr><tr><td class="has-text-align-left" data-align="left"><strong>Compute Network User (Shared VPC only)</strong></td><td class="has-text-align-left" data-align="left">roles/compute.networkUser</td><td class="has-text-align-left" data-align="left">Required if you&#8217;re using a Shared VPC network</td></tr></tbody></table></figure>



<p>Read more about the required permissions <a href="https://developer.hashicorp.com/packer/integrations/hashicorp/googlecompute" target="_blank" rel="noreferrer noopener">here</a>.</p>



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



<p>To integrate XOAP with <strong>VMware vSphere</strong> for image builds, create a <strong>custom vSphere role</strong> that includes only the privileges required for XOAP to perform its operations. Assign this role to a dedicated service account to ensure XOAP has least-privilege access to the vSphere infrastructure.</p>



<h4 class="wp-block-heading" style="font-size:21px">Required privileges</h4>



<p>Clone the default <strong>Read-Only</strong> vSphere role and add the following privileges:</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><tbody><tr><td class="has-text-align-left" data-align="left"><strong>Category</strong></td><td><strong>Privilege</strong></td><td><strong>Reference</strong></td></tr><tr><td class="has-text-align-left" data-align="left">Content Library</td><td>Add library item</td><td>ContentLibrary.AddLibraryItem</td></tr><tr><td class="has-text-align-left" data-align="left">Content Library</td><td>Update Library Item</td><td>ContentLibrary.UpdateLibraryItem</td></tr><tr><td class="has-text-align-left" data-align="left">Cryptographic Operations</td><td>Direct Access (Required for cache upload.)</td><td>Cryptographer.Access</td></tr><tr><td class="has-text-align-left" data-align="left">Cryptographic Operations</td><td>Encrypt (Required for vTPM.)</td><td>Cryptographer.Encrypt</td></tr><tr><td class="has-text-align-left" data-align="left">Datastore</td><td>Allocate space</td><td>Datastore.AllocateSpace</td></tr><tr><td class="has-text-align-left" data-align="left">Datastore</td><td>Browse datastore</td><td>Datastore.Browse</td></tr><tr><td class="has-text-align-left" data-align="left">Datastore</td><td>Low level file operations</td><td>Datastore.FileManagement</td></tr><tr><td class="has-text-align-left" data-align="left">Host</td><td>Configuration &gt; System Management</td><td>Host.Config.SystemManagement</td></tr><tr><td class="has-text-align-left" data-align="left">Network</td><td>Assign network</td><td>Network.Assign</td></tr><tr><td class="has-text-align-left" data-align="left">Resource</td><td>Assign virtual machine to resource pool</td><td>Resource.AssignVMToPool</td></tr><tr><td class="has-text-align-left" data-align="left">vApp</td><td>Export</td><td>vApp.Export</td></tr><tr><td class="has-text-align-left" data-align="left">Virtual Machine</td><td>Configuration &gt; Add new disk</td><td>VirtualMachine.Config.AddNewDisk</td></tr><tr><td class="has-text-align-left" data-align="left">Virtual Machine</td><td>Configuration &gt; Add or remove device</td><td>VirtualMachine.Config.AddRemoveDevice</td></tr><tr><td class="has-text-align-left" data-align="left">Virtual Machine</td><td>Configuration &gt; Advanced configuration</td><td>VirtualMachine.Config.AdvancedConfig</td></tr><tr><td class="has-text-align-left" data-align="left">Virtual Machine</td><td>Configuration &gt; Change CPU count</td><td>VirtualMachine.Config.CPUCount</td></tr><tr><td class="has-text-align-left" data-align="left">Virtual Machine</td><td>Configuration &gt; Change memory</td><td>VirtualMachine.Config.Memory</td></tr><tr><td class="has-text-align-left" data-align="left">Virtual Machine</td><td>Configuration &gt; Change settings</td><td>VirtualMachine.Config.Settings</td></tr><tr><td class="has-text-align-left" data-align="left">Virtual Machine</td><td>Configuration &gt; Change Resource</td><td>VirtualMachine.Config.Resource</td></tr><tr><td class="has-text-align-left" data-align="left">Virtual Machine</td><td>Configuration &gt; Modify device settings</td><td>VirtualMachine.Config.EditDevice</td></tr><tr><td class="has-text-align-left" data-align="left">Virtual Machine</td><td>Configuration &gt; Set annotation</td><td>VirtualMachine.Config.Annotation</td></tr><tr><td class="has-text-align-left" data-align="left">Virtual Machine</td><td>Edit Inventory &gt; Create from existing</td><td>VirtualMachine.Inventory.CreateFromExisting</td></tr><tr><td class="has-text-align-left" data-align="left">Virtual Machine</td><td>Edit Inventory &gt; Create new</td><td>VirtualMachine.Inventory.Create</td></tr><tr><td class="has-text-align-left" data-align="left">Virtual Machine</td><td>Edit Inventory &gt; Remove</td><td>VirtualMachine.Inventory.Delete</td></tr><tr><td class="has-text-align-left" data-align="left">Virtual Machine</td><td>Interaction &gt; Configure CD media</td><td>VirtualMachine.Interact.SetCDMedia</td></tr><tr><td class="has-text-align-left" data-align="left">Virtual Machine</td><td>Interaction &gt; Configure floppy media</td><td>VirtualMachine.Interact.SetFloppyMedia</td></tr><tr><td class="has-text-align-left" data-align="left">Virtual Machine</td><td>Interaction &gt; Connect devices</td><td>VirtualMachine.Interact.DeviceConnection</td></tr><tr><td class="has-text-align-left" data-align="left">Virtual Machine</td><td>Interaction &gt; Inject USB HID scan codes</td><td>VirtualMachine.Interact.PutUsbScanCodes</td></tr><tr><td class="has-text-align-left" data-align="left">Virtual Machine</td><td>Interaction &gt; Power off</td><td>VirtualMachine.Interact.PowerOff</td></tr><tr><td class="has-text-align-left" data-align="left">Virtual Machine</td><td>Interaction &gt; Power on</td><td>VirtualMachine.Interact.PowerOn</td></tr><tr><td class="has-text-align-left" data-align="left">Virtual Machine</td><td>Provisioning &gt; Create template from virtual machine</td><td>VirtualMachine.Provisioning.CreateTemplateFromVM</td></tr><tr><td class="has-text-align-left" data-align="left">Virtual Machine</td><td>Provisioning &gt; Mark as template</td><td>VirtualMachine.Provisioning.MarkAsTemplate</td></tr><tr><td class="has-text-align-left" data-align="left">Virtual Machine</td><td>Provisioning &gt; Mark as virtual machine</td><td>VirtualMachine.Provisioning.MarkAsVM</td></tr><tr><td class="has-text-align-left" data-align="left">Virtual Machine</td><td>State &gt; Create snapshot</td><td>VirtualMachine.State.CreateSnapshot</td></tr></tbody></table></figure>



<h2 class="wp-block-heading" style="font-size:38px">Configuration Management</h2>



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



<p>All nodes that will be used to author or receive configurations are running <strong>WMF version 5.1 or later</strong>. Authoring nodes that are used to write configurations locally need to have internet connectivity to download new DSC-related resources.</p>



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



<p>WS-Management (WS-MAN) traffic is permitted on the network. It will be enabled by default on nodes that have <strong>PowerShell version 5</strong> installed, but you must ensure it’s not being blocked by firewalls or other network elements. Read further for more information.</p>



<h3 class="wp-block-heading" style="font-size:28px">Communication with our backend</h3>



<p>In order to communicate with our backend, the following ports need to be open: <strong>https://api.dev.xoap.io</strong> on port <strong>443</strong>. </p>



<h3 class="wp-block-heading" style="font-size:28px">Proxy configuration for nodes</h3>



<p>To force PowerShell DSC nodes to use a proxy server to communicate with the cloud-hosted backend, some adjustments to the node configuration must be made before registering the node. DSC does not communicate in a user context and therefore uses the SYSTEM context.</p>



<p>For DSC to connect successfully and register the node, adjust the following lines inside the machine.config in your <strong>.NET installation directory</strong>.</p>



<p>You should find the file in these locations:</p>



<pre class="wp-block-code"><code>32-bit
**%windir%\Microsoft.NET\Framework\&#91;version]\config\machine.config**
64-bit
**%windir%\Microsoft.NET\Framework64\&#91;version]\config\machine.config**
&#91;version] should be equal to v1.0.3705, v1.1.4322, v2.0.50727 or v4.0.30319. v3.0 and v3.5 just contain additional assemblies to v2.0.50727 so there should be no config\machine.config. v4.5.x and v4.6.x are stored inside v4.0.30319.
Then add the following lines:
&lt;defaultProxy&gt;  &lt;proxy autoDetect="false" bypassonlocal="false" proxyaddress="http://127.0.0.1:8888" /&gt; &lt;/defaultProxy&gt;&lt;/system.net&gt;
</code></pre>



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



<p>SSL decryption can get you into trouble when clients inside your corporate network try to communicate with the cloud backend.</p>



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



<p>We’ve seen some Virus Scanners with DEP enabled to prevent users from logging into the cloud backend successfully.</p>



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



<p>Enable <strong>TLS 1.2 </strong>wherever possible. Not doing so will keep Configurations Management from working successfully.</p>



<p>Set it via PowerShell:</p>



<pre class="wp-block-code"><code>Set-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\.NetFramework\v4.0.30319' -Name 'SchUseStrongCrypto' -Value '1' -Type DWordSet-ItemProperty -Path 'HKLM:\SOFTWARE\Wow6432Node\Microsoft\.NetFramework\v4.0.30319' -Name 'SchUseStrongCrypto' -Value '1' -Type DWordSet-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\.NetFramework\v2.0.50727' -Name 'SchUseStrongCrypto' -Value '1' -Type DWord&#91;System.Net.ServicePointManager]::SecurityProtocol = &#91;System.Net.SecurityProtocolType]::Tls12</code></pre>



<h2 class="wp-block-heading" style="font-size:38px">Application Management</h2>



<p>To use Application Management you need to have network access to <strong>api.dev.xoap.io</strong> over port <strong>443</strong> and custom packages must be provided as a <strong>ZIP</strong> archive prior to upload.</p>



<p>Within your XOAP workspace, you can already find a wide selection of:</p>



<ul class="wp-block-list">
<li>Applications</li>



<li>Application Groups</li>



<li>Application Roles</li>
</ul>



<p>This means you&#8217;re ready to begin installing applications immediately.</p>



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



<p>XOAP’s Application Management supports PSADT packages in both v3 and v4 formats. Our current Package Wizard supports package creation in v3 format. If you plan to create your own application packages, we recommend installing it on your packaging machine. The easiest way to do this is directly from your XOAP Workspace. </p>



<ol class="wp-block-list">
<li>Navigate to Application Management → <strong>Application Roles</strong></li>



<li>Locate the Role: <strong>PSADT Packaging Baseline</strong></li>



<li>Open the three-dot menu next to the role and choose <strong>Copy installation command</strong></li>



<li>On the machine where you want to install the wizard, <strong>open PowerShell as Administrator</strong>. Paste and execute the copied command.</li>
</ol>



<p>Alternatively, you can download the installation script or copy the installation command, copy it manually to the target system, and then run it through PowerShell as Administrator.</p>



<p>Once completed, the Package Wizard will be fully installed and configured. You can find the shortcut on your desktop.</p>



<h2 class="wp-block-heading" style="font-size:38px">Platform Management</h2>



<p>There are no deployed agents required to use Platform Management — the logic runs directly on XOAP’s <strong>cloud runners</strong> or through your <strong>established infrastructure </strong>connections.</p>



<p>Within the Scripted Actions library, you can already find a selection of:</p>



<ul class="wp-block-list">
<li>Template scripts: pre-built scripts for common tasks (like AVD management or Azure automation)</li>



<li>Resources: a library where your custom scripts are stored</li>
</ul>



<p>This means you can start automating immediately using existing templates.</p>



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



<p>Platform Management supports standard <strong>PowerShell (.ps1)</strong>, <strong>Azure CLI</strong>, <strong>Google CLI </strong>and <strong>AWS CLI </strong>scripts. The only prerequisite for using your own automation is that the script file must be uploaded to the <strong>Resources</strong> area or imported directly during action creation.</p>



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



<p>To execute any script, the platform requires <strong>a valid Connection</strong> to your infrastructure. It is recommended setting up your Connections to cloud providers (Azure, AWS, Google) or on-premises systems (VMware, Nutanix) before creating complex workflows.</p>



<p>You can easily set this up from your XOAP workspace:</p>



<ul class="wp-block-list">
<li>Navigate to <strong>Connections</strong> (in the main menu)</li>



<li>Click <strong>+ New connection</strong></li>



<li>Select your <strong>provider</strong> (Azure, AWS, Google, or other) and follow the authentication prompts</li>
</ul>



<p><strong>Note:</strong> The Scripted Action wizard also allows you to add a new connection during the <strong>Target</strong> selection step.</p>
</div>
<p>The post <a href="https://dev.xoap.io/docs/prerequisites/">Prerequisites</a> appeared first on <a href="https://dev.xoap.io">XOAP</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://dev.xoap.io/docs/prerequisites/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>2025 November updates</title>
		<link>https://dev.xoap.io/docs/2025-november-updates/</link>
					<comments>https://dev.xoap.io/docs/2025-november-updates/#respond</comments>
		
		<dc:creator><![CDATA[Stella]]></dc:creator>
		<pubDate>Tue, 09 Dec 2025 09:57:01 +0000</pubDate>
				<guid isPermaLink="false">https://dev.xoap.io/?post_type=docs&#038;p=27634</guid>

					<description><![CDATA[<p>This release delivers a range of improvements and new capabilities across XOAP, with a strong focus on usability, extensibility, and operational efficiency. Key highlights include enhanced version transparency, the introduction of the new Inventory as a central management hub for devices, expanded command and application management features, and significant updates to the XOAP Connector. General [&#8230;]</p>
<p>The post <a href="https://dev.xoap.io/docs/2025-november-updates/">2025 November updates</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-7 wp-block-group-is-layout-flex">
<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>This release delivers a range of improvements and new capabilities across XOAP, with a strong focus on usability, extensibility, and operational efficiency.</p>



<p>Key highlights include enhanced version transparency, the introduction of the new Inventory as a central management hub for devices, expanded command and application management features, and significant updates to the XOAP Connector.</p>
</blockquote>



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



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



<p>We added version descriptions to all version drop-downs for better identification specific version changes.</p>



<figure class="wp-block-image size-large"><img decoding="async" src="https://dev.xoap.io/wp-content/uploads/2025/12/changelog-nov-2025-1-1024x518.png" alt="" class="wp-image-27698" /></figure>



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



<p>Our new Inventory is the new home for all Devices registered with an XOAP Connector. It enables running operational tasks from a central management interface, independent of the location your Devices are located.</p>



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



<p>You can store commands for later use and edit them the same way we support editing resources, including versioning, access to previous versions and download of the commands.</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="518" src="https://dev.xoap.io/wp-content/uploads/2025/12/changelog-nov-2025-2-1024x518.webp" alt="" class="wp-image-27700" srcset="https://dev.xoap.io/wp-content/uploads/2025/12/changelog-nov-2025-2-1024x518.webp 1024w, https://dev.xoap.io/wp-content/uploads/2025/12/changelog-nov-2025-2-300x152.webp 300w, https://dev.xoap.io/wp-content/uploads/2025/12/changelog-nov-2025-2-768x388.webp 768w, https://dev.xoap.io/wp-content/uploads/2025/12/changelog-nov-2025-2-1536x776.webp 1536w, https://dev.xoap.io/wp-content/uploads/2025/12/changelog-nov-2025-2.webp 1920w, https://dev.xoap.io/wp-content/uploads/2025/12/changelog-nov-2025-2-18x9.webp 18w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>Running a saved command:</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="518" src="https://dev.xoap.io/wp-content/uploads/2025/12/changelog-nov-2025-3-1024x518.webp" alt="" class="wp-image-27701" srcset="https://dev.xoap.io/wp-content/uploads/2025/12/changelog-nov-2025-3-1024x518.webp 1024w, https://dev.xoap.io/wp-content/uploads/2025/12/changelog-nov-2025-3-300x152.webp 300w, https://dev.xoap.io/wp-content/uploads/2025/12/changelog-nov-2025-3-768x388.webp 768w, https://dev.xoap.io/wp-content/uploads/2025/12/changelog-nov-2025-3-1536x776.webp 1536w, https://dev.xoap.io/wp-content/uploads/2025/12/changelog-nov-2025-3.webp 1920w, https://dev.xoap.io/wp-content/uploads/2025/12/changelog-nov-2025-3-18x9.webp 18w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<h2 class="wp-block-heading" style="font-size:38px">Application Management</h2>



<h2 class="wp-block-heading" style="font-size:28px">PSADT v4 Support</h2>



<p>We added support for the latest PSADT v4 packages. You can now upload and deploy your v4 packages in the same way as you did with v3.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="518" src="https://dev.xoap.io/wp-content/uploads/2025/12/changelog-nov-2025-4-1024x518.webp" alt="" class="wp-image-27702" srcset="https://dev.xoap.io/wp-content/uploads/2025/12/changelog-nov-2025-4-1024x518.webp 1024w, https://dev.xoap.io/wp-content/uploads/2025/12/changelog-nov-2025-4-300x152.webp 300w, https://dev.xoap.io/wp-content/uploads/2025/12/changelog-nov-2025-4-768x388.webp 768w, https://dev.xoap.io/wp-content/uploads/2025/12/changelog-nov-2025-4-1536x776.webp 1536w, https://dev.xoap.io/wp-content/uploads/2025/12/changelog-nov-2025-4.webp 1920w, https://dev.xoap.io/wp-content/uploads/2025/12/changelog-nov-2025-4-18x9.webp 18w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<h3 class="wp-block-heading" style="font-size:28px">Extended support for BYO PSADT packages (v3 and v4)</h3>



<p>As XOAP is using some custom functions to identify correct installation on nodes with PSADT script extensions, we are now adding those extensions automatically during PSADT upload. The same applies to some of the parameters we are using for extended functionality.</p>



<p>This enables customers to upload almost all of their previously created PSADT v3 and v4 packages without prior adjustments, as long as they comply with the PSADT standards.</p>



<h4 class="wp-block-heading" style="font-size:21px">Extension scripts</h4>



<p>We are adding two functions as extensions during application upload:</p>



<h5 class="wp-block-heading" style="font-size:16px">Post-installation</h5>



<p><code>Register-Installation</code></p>



<p>Writes the application parameters into the registry (SOFTWARE/PSADT) to identify applications that were installed.</p>



<h5 class="wp-block-heading" style="font-size:16px">Post-uninstallation</h5>



<p><code>UnRegister-Installation</code></p>



<p>Adds specific registry information to the packages which gives XOAP the opportunity to identify if the package was uninstalled.</p>



<h4 class="wp-block-heading" style="font-size:21px">Adding parameters</h4>



<p>We are using some special parameters for additional functionality inside of XOAP. Therefore we are adding some specific parameters to the installation scripts during upload, if they are not present inside the packages:</p>



<p>PackageType = &#8216;Application&#8217;</p>



<p>TargetOS = &#8216;Any&#8217;</p>



<p>PackageName = &#8216;APP_IgorPavlov_7ZipZS_2501_Any_x86_EN&#8217;</p>



<p>The PackageName parameter is dynamically created based on the application parameters inside the package.</p>



<p><em>The currently available XOAP PSADT Package Wizard is not supporting v4 packages and we are not planning to implement it there.</em></p>



<h2 class="wp-block-heading" style="font-size:38px">Group details page</h2>



<p>Added additional information in Group details page: Deploy Type and Deploy mode.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="518" src="https://dev.xoap.io/wp-content/uploads/2025/12/changelog-nov-2025-5-1024x518.webp" alt="" class="wp-image-27703" srcset="https://dev.xoap.io/wp-content/uploads/2025/12/changelog-nov-2025-5-1024x518.webp 1024w, https://dev.xoap.io/wp-content/uploads/2025/12/changelog-nov-2025-5-300x152.webp 300w, https://dev.xoap.io/wp-content/uploads/2025/12/changelog-nov-2025-5-768x388.webp 768w, https://dev.xoap.io/wp-content/uploads/2025/12/changelog-nov-2025-5-1536x776.webp 1536w, https://dev.xoap.io/wp-content/uploads/2025/12/changelog-nov-2025-5.webp 1920w, https://dev.xoap.io/wp-content/uploads/2025/12/changelog-nov-2025-5-18x9.webp 18w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



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



<p>We added a test connection capability for Azure, AWS and Google which makes verification of added connections an easy step.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="518" src="https://dev.xoap.io/wp-content/uploads/2025/12/changelog-nov-2025-6-1024x518.webp" alt="" class="wp-image-27704" srcset="https://dev.xoap.io/wp-content/uploads/2025/12/changelog-nov-2025-6-1024x518.webp 1024w, https://dev.xoap.io/wp-content/uploads/2025/12/changelog-nov-2025-6-300x152.webp 300w, https://dev.xoap.io/wp-content/uploads/2025/12/changelog-nov-2025-6-768x388.webp 768w, https://dev.xoap.io/wp-content/uploads/2025/12/changelog-nov-2025-6-1536x776.webp 1536w, https://dev.xoap.io/wp-content/uploads/2025/12/changelog-nov-2025-6.webp 1920w, https://dev.xoap.io/wp-content/uploads/2025/12/changelog-nov-2025-6-18x9.webp 18w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<h2 class="wp-block-heading" style="font-size:38px">XOAP Connector</h2>



<h3 class="wp-block-heading" style="font-size:28px">Automatic Connector update during installation</h3>



<p>We added a switch to the installation of the Connector, which automatically fetches the latest version from our GitHub repository located at: <a href="https://github.com/xoap-io/xoap-connector">https://github.com/xoap-io/xoap-connector</a>.</p>



<h3 class="wp-block-heading" style="font-size:28px">Installation sources and command line parameters</h3>



<p>We added more information regarding the direct installation of the XOAP Connector from GitHub.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="518" src="https://dev.xoap.io/wp-content/uploads/2025/12/changelog-nov-2025-7-1024x518.webp" alt="" class="wp-image-27705" srcset="https://dev.xoap.io/wp-content/uploads/2025/12/changelog-nov-2025-7-1024x518.webp 1024w, https://dev.xoap.io/wp-content/uploads/2025/12/changelog-nov-2025-7-300x152.webp 300w, https://dev.xoap.io/wp-content/uploads/2025/12/changelog-nov-2025-7-768x388.webp 768w, https://dev.xoap.io/wp-content/uploads/2025/12/changelog-nov-2025-7-1536x776.webp 1536w, https://dev.xoap.io/wp-content/uploads/2025/12/changelog-nov-2025-7.webp 1920w, https://dev.xoap.io/wp-content/uploads/2025/12/changelog-nov-2025-7-18x9.webp 18w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<h3 class="wp-block-heading" style="font-size:28px">XOAP Connector command line parameters</h3>



<p>This is a list of currently available command line parameters:</p>



<h4 class="wp-block-heading" style="font-size:21px">Mandatory</h4>



<p>-i (&#8211;install), installs the Connector</p>



<p>-a (&#8211;apiKey), specifies the APIKey to connect to the XOAP Workspace</p>



<p>-w (&#8211;workspace), specifies the XOAP Workspace ID, the Connector should connect to</p>



<h4 class="wp-block-heading" style="font-size:21px">Optional</h4>



<p>-m (&#8211;imageManagement), additionally installs packer on Windows and supported Linux distributions</p>



<p>-u (&#8211;update), fetches the latest available Connector binaries from GitHub</p>



<p>-p (&#8211;path), default value &#8220;C:Program FilesXOAPConnector&#8221;, &#8220;/opt/XOAP/Connector&#8221; on Linux and Mac</p>



<p>-?,&nbsp; Shows available parameters</p>



<h3 class="wp-block-heading" style="font-size:28px">Preview of Linux Agent</h3>



<p>List of tested distributions:</p>



<ul class="wp-block-list">
<li>Ubuntu 24.04, 22.04</li>



<li>Rocky 10 Linux</li>



<li>Alma Linux</li>



<li>Fedora 43 Linux</li>
</ul>
</div>
<p>The post <a href="https://dev.xoap.io/docs/2025-november-updates/">2025 November updates</a> appeared first on <a href="https://dev.xoap.io">XOAP</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://dev.xoap.io/docs/2025-november-updates/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>What you can do with GraphQL</title>
		<link>https://dev.xoap.io/docs/what-you-can-do-with-graphql/</link>
					<comments>https://dev.xoap.io/docs/what-you-can-do-with-graphql/#respond</comments>
		
		<dc:creator><![CDATA[Dora]]></dc:creator>
		<pubDate>Tue, 25 Nov 2025 12:43:11 +0000</pubDate>
				<guid isPermaLink="false">https://dev.xoap.io/?post_type=docs&#038;p=27229</guid>

					<description><![CDATA[<p>Once the GraphQL schema is successfully loaded and an API connection is established, you can execute various queries to retrieve data from your environment. One practical use case is retrieving a full list of installed applications across all managed systems. This list includes applications installed via XOAP or by other means. Get a list of [&#8230;]</p>
<p>The post <a href="https://dev.xoap.io/docs/what-you-can-do-with-graphql/">What you can do with GraphQL</a> appeared first on <a href="https://dev.xoap.io">XOAP</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Once the <strong><a href="https://dev.xoap.io/docs/graphql-ui/" target="_blank" rel="noreferrer noopener">GraphQL schema</a></strong> is successfully loaded and an <strong><a href="https://dev.xoap.io/docs/api-access-documentation-swagger/" target="_blank" rel="noreferrer noopener">API connection</a></strong> is established, you can <strong>execute various queries to retrieve data from your environment</strong>. One practical use case is retrieving <strong>a</strong> <strong>full list of installed applications </strong>across all managed systems. This list includes applications installed via XOAP or by other means.</p>



<h2 class="wp-block-heading">Get a list of all applications installed on your nodes</h2>



<p>The following GraphQL query returns a<strong> list of all applications</strong> installed across all nodes (systems) in your environment:</p>



<pre class="wp-block-code"><code><code>query NodesWithSoftware($skip: Int = 0, $take: Int = 500) {
  configMngt_Nodes(skip: $skip, take: $take) {
    totalCount
    pageInfo { hasNextPage }
    items {
      id
      nodeName
      lastSystem {
        software {
          displayName
          displayVersion
          publisher
        }
      }
    }
  }}</code></code></pre>



<figure class="wp-block-image size-full"><img decoding="async" src="https://dev.xoap.io/wp-content/uploads/2025/11/graphql-what-you-can-do-xoap-example.png" alt="GraphQL | XOAP | What you can do | Example | Get a list of all installed applications on your systems" class="wp-image-27230"/></figure>



<p><strong>Notes:</strong> <br>• If you are managing more than 500 nodes, increase the value of <code>$take</code> accordingly. <br>• Pagination is supported using <code>skip</code> and <code>hasNextPage</code>.</p>



<h2 class="wp-block-heading">Get a list of all applications available in XOAP&#8217;s Application Management module</h2>



<p>This is useful for <strong>reporting</strong>, <strong>validation</strong>, or automation tasks involving <strong>application definitions</strong>. You can use the following GraphQL query for this:</p>



<pre class="wp-block-code"><code>query ListAllApplications($skip: Int = 0, $take: Int = 100) {
  appMngt_Applications(skip: $skip, take: $take) {
    totalCount
    pageInfo { hasNextPage }
    items {
      id
      name
      vendor
      version
      packageName
      operatingSystem
      architecture
      language
      createdAt
      updatedAt
    }
  }
}</code></pre>



<p>This query also returns the <strong>metadata</strong> for all applications, including details like vendor, version, target OS, and architecture.</p>



<figure class="wp-block-image size-full"><img decoding="async" src="https://dev.xoap.io/wp-content/uploads/2025/11/graphql-what-you-can-do-xoap-example-2.png" alt="GraphQL | XOAP | What you can do | Example | Get a list of all applications available in Application Management" class="wp-image-27231"/></figure>



<p><strong>Notes:</strong> <br>• You can increase the <code>$take</code> value if more than 100 applications are expected. <br>• Use the <code>hasNextPage</code> field to implement pagination if needed.</p>



<h2 class="wp-block-heading">Get a list of all systems from a specific hardware manufacturer</h2>



<p>This query allows you to retrieve all nodes from a specific manufacturer (<strong>e.g., Lenovo</strong>) registered within your XOAP workspace. <br><br>This can be useful for<strong> inventory audits</strong>, <strong>hardware lifecycle management</strong>, or <strong>vendor-specific patching and compliance activities</strong>. Use the following GraphQL query:</p>



<pre class="wp-block-code"><code><code>query LenovoFlatNodes($skip: Int = 0, $take: Int = 5) {
  configMngt_FlatNodes(
    skip: $skip
    take: $take
    where: { csManufacturer: { eq: "LENOVO" } }
    order: &#91;{ nodeName: ASC }]
  ) {
    totalCount
    pageInfo { hasNextPage }
    items {
      id
      nodeName
      csManufacturer
      csModel
      osName
      osVersion
    }
  }
}</code></code></pre>



<figure class="wp-block-image size-full"><img decoding="async" src="https://dev.xoap.io/wp-content/uploads/2025/11/graphql-what-you-can-do-xoap-example-3.png" alt="GraphQL | XOAP | What you can do | Example | Get a list of all systems from a specific hardware manufacturer" class="wp-image-27233"/></figure>



<p><strong>Notes: </strong><br>• Manufacturer Name is case-sensitive. <br>• To filter for a different vendor (e.g., HP, DELL), change the value of <code>csManufacturer: { eq: "..." }</code> accordingly. <br>• Increase the <code>$take</code> value to retrieve more records or implement pagination using the <code>hasNextPage</code> field. <br>• This example sorts results by <code>nodeName</code> in ascending order.</p>



<h2 class="wp-block-heading">How to know what you can query</h2>



<p>XOAP collects a vast amount of data from your nodes, along with additional metadata from your workspace. With such a large data set, it can be difficult to determine which fields are available for querying.</p>



<p>The most effective way to explore available query options is by reviewing the <strong>SDL (Schema Definition Language)</strong>. The SDL provides a complete overview of all objects, fields, and types that can be queried via GraphQL.</p>



<p><strong>By inspecting the SDL, you can:</strong></p>



<ul class="wp-block-list">
<li>Discover all available data structures</li>



<li>Identify relationships between entities</li>



<li>Understand the full potential of GraphQL queries within XOAP</li>
</ul>



<p>This approach ensures you&#8217;re not limited by predefined queries and can fully leverage the data collected in your environment.</p>



<figure class="wp-block-image size-full"><img decoding="async" src="https://dev.xoap.io/wp-content/uploads/2025/11/graphql-what-you-can-do-xoap-example-4.png" alt="GraphQL | XOAP | What you can do | Example | How to know what you can query" class="wp-image-27235"/></figure>



<h2 class="wp-block-heading">Need more queries or want to add your own?</h2>



<p>The <a href="https://github.com/xoap-io/queries" target="_blank" rel="noreferrer noopener">github.com/xoap-io/queries</a> repository is your <strong>go‑to collection of reusable GraphQL queries</strong> tailored for hardware and application management within XOAP and related platforms. <br><br><strong>How to use it:</strong><br><br>1. Navigate to the <code>applications/</code> or <code>hardware/</code> folders.<br>2. Copy the relevant <code>.graphql</code> file into your API or GraphQL client.<br>3. Adjust parameters as needed to fit your environment.</p>



<p><em>Under the MIT License and with zero stars or forks so far, this project is still blossoming. We highly welcome your contributions—whether it’s by submitting issues, enhancing queries, or opening pull requests to enrich this shared resource. Let’s grow together! <img src="https://s.w.org/images/core/emoji/15.0.3/72x72/2b50.png" alt="⭐" class="wp-smiley" style="height: 1em; max-height: 1em;" /></em></p>



<p></p>
<p>The post <a href="https://dev.xoap.io/docs/what-you-can-do-with-graphql/">What you can do with GraphQL</a> appeared first on <a href="https://dev.xoap.io">XOAP</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://dev.xoap.io/docs/what-you-can-do-with-graphql/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Creating an image</title>
		<link>https://dev.xoap.io/docs/create-image-xoap-connector/</link>
					<comments>https://dev.xoap.io/docs/create-image-xoap-connector/#respond</comments>
		
		<dc:creator><![CDATA[Dora]]></dc:creator>
		<pubDate>Wed, 05 Nov 2025 14:07:49 +0000</pubDate>
				<guid isPermaLink="false">https://dev.xoap.io/?post_type=docs&#038;p=26622</guid>

					<description><![CDATA[<p>Once you have enabled the Connector by connecting your on-premises environment with XOAP and adding an operating system (see First steps for detailed instructions), you can create a machine image for vSphere or Nutanix. To do that, follow the steps below. Create Builder Configuration Builder Configuration creates machine images for a specific platform by launching [&#8230;]</p>
<p>The post <a href="https://dev.xoap.io/docs/create-image-xoap-connector/">Creating an image</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-8 wp-block-group-is-layout-flex">
<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>Once you have enabled the Connector by connecting your on-premises environment with XOAP and adding an operating system (see <a href="https://dev.xoap.io/docs/getting-started-xoap-connector/">First steps</a> for detailed instructions), you can create a machine image for vSphere or Nutanix. To do that, follow the steps below.</p>
</blockquote>



<h2 class="wp-block-heading" style="font-size:38px">Create Builder Configuration</h2>



<p><em>Builder Configuration<strong> </strong>creates machine images for a specific platform by launching temporary resources, provisioning them and producing the final image artifact. Builder Configurations are specific to each environment type.</em></p>



<p><strong>To create a Builder Configuration:</strong></p>



<p>1. In your XOAP Workspace, go to <strong>Image Management</strong> → <strong>Builder Configurations</strong>.</p>



<p>2. Click <strong>New Builder Configuration</strong> and select either <strong>vSphere</strong> or <strong>Nutanix</strong> <strong>builder</strong> from the drop-down menu.</p>



<figure class="wp-block-image size-large"><img decoding="async" src="https://dev.xoap.io/wp-content/uploads/2025/10/create-on-premises-builder-1024x504.png" alt="Create builder configuration for vSphere or Nutanix" class="wp-image-26623"/></figure>



<p>3. Fill in <strong>General Details</strong> and click <strong>Add</strong>.</p>



<figure class="wp-block-image size-large"><img decoding="async" src="https://dev.xoap.io/wp-content/uploads/2025/10/add-general-details-builder-1024x504.png" alt="Add builder details" class="wp-image-26624"/></figure>



<h2 class="wp-block-heading" style="font-size:38px">Image Definition</h2>



<p>Now, you will create the Image Definition and run it in your environment.</p>



<p>1. In <strong>Image Management</strong> → <strong>Image definition</strong> table, click <strong>New Image</strong>.</p>



<p>2. Provide the Image Definition <strong>Name</strong> and select the desired <strong>Builder provider </strong>type.</p>



<p>3. Select the created <strong>Builder Configuration</strong>, <strong>Connector</strong>, <strong>Operating System</strong> and<strong> Provisioner Role</strong>.</p>



<p>4. When everything is selected, click <strong>Save</strong>. </p>



<figure class="wp-block-image size-large"><img decoding="async" src="https://dev.xoap.io/wp-content/uploads/2025/10/image-definition-vsphere-nutanix-1024x505.png" alt="Image definition example" class="wp-image-26625"/></figure>



<p>Run the image definition by clicking <strong>Run</strong> from the action menu. This will create the image in your environment.</p>



<figure class="wp-block-image size-large"><img decoding="async" src="https://dev.xoap.io/wp-content/uploads/2025/10/run-image-definition-1-1024x504.png" alt="Run image definition" class="wp-image-26629"/></figure>
</div>
<p>The post <a href="https://dev.xoap.io/docs/create-image-xoap-connector/">Creating an image</a> appeared first on <a href="https://dev.xoap.io">XOAP</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://dev.xoap.io/docs/create-image-xoap-connector/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>First steps</title>
		<link>https://dev.xoap.io/docs/getting-started-xoap-connector/</link>
					<comments>https://dev.xoap.io/docs/getting-started-xoap-connector/#respond</comments>
		
		<dc:creator><![CDATA[Dora]]></dc:creator>
		<pubDate>Wed, 05 Nov 2025 14:07:28 +0000</pubDate>
				<guid isPermaLink="false">https://dev.xoap.io/?post_type=docs&#038;p=26608</guid>

					<description><![CDATA[<p>XOAP Connector is an agent designed for secure system automation. The Connector enables centralized management of distributed systems and simplifies the operation of hybrid IT infrastructures. It runs on Windows, macOS and Linux, and connects directly to your XOAP backend. Currently, supported on-premises environments include vSphere and Nutanix. Below, you will find the initial steps [&#8230;]</p>
<p>The post <a href="https://dev.xoap.io/docs/getting-started-xoap-connector/">First steps</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-10 wp-block-group-is-layout-flex">
<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p><strong><a href="https://dev.xoap.io/connector/">XOAP Connector</a></strong> is an agent designed for secure system automation. The Connector enables centralized management of distributed systems and simplifies the operation of hybrid IT infrastructures. <br><br>It runs on <strong>Windows</strong>, <strong>macOS</strong> and <strong>Linux</strong>, and connects directly to your XOAP backend. Currently, supported on-premises environments include<strong> vSphere</strong> and <strong>Nutanix</strong>. <br><br>Below, you will find the initial steps to get started with the Connector.</p>
</blockquote>



<h2 class="wp-block-heading" style="font-size:38px">Add Connection</h2>



<p><em>The Connections area in your XOAP Workspace is where you define credentials to link your on-premises environment with the XOAP platform.</em></p>



<p><strong>To create a new connection:</strong></p>



<p>1. Go to <strong>Connections</strong> and click <strong>New Connection</strong>. </p>



<p>2. Select one of the on-premises environments and fill in the required fields.</p>



<p>3. Click <strong>Confirm</strong> to save the connection.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="504" src="https://dev.xoap.io/wp-content/uploads/2025/10/add-new-on-premises-connection-1024x504.png" alt="Add new on-premises Connection" class="wp-image-26609" srcset="https://dev.xoap.io/wp-content/uploads/2025/10/add-new-on-premises-connection-1024x504.png 1024w, https://dev.xoap.io/wp-content/uploads/2025/10/add-new-on-premises-connection-300x148.webp 300w, https://dev.xoap.io/wp-content/uploads/2025/10/add-new-on-premises-connection-768x378.png 768w, https://dev.xoap.io/wp-content/uploads/2025/10/add-new-on-premises-connection-1536x756.png 1536w, https://dev.xoap.io/wp-content/uploads/2025/10/add-new-on-premises-connection-2048x1008.png 2048w, https://dev.xoap.io/wp-content/uploads/2025/10/add-new-on-premises-connection-18x9.png 18w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<h2 class="wp-block-heading" style="font-size:38px">Add API key</h2>



<p><em>Adding an API key to your XOAP environment enables a secure connection between XOAP and your Connector device.</em></p>



<p><strong>To create a new API key:</strong></p>



<p>1. In your XOAP workspace, go to <strong>Connections</strong> and click <strong>New Connection</strong>. </p>



<p>2. Select <strong>API Key</strong> as the connection type.</p>



<p>3. Provide a <strong>Connection Name</strong> and select the <strong>API Token Type </strong>called <em>&#8220;XOAP Connector&#8221;</em>.</p>



<p>4. Click <strong>Confirm</strong> to create a new API key. </p>



<p>You can now copy the key to the clipboard, as you will need it in the next step.</p>



<figure class="wp-block-image size-large"><img decoding="async" src="https://dev.xoap.io/wp-content/uploads/2025/10/add-api-key-connection-1024x502.png" alt="Add API key" class="wp-image-26611"/></figure>



<h2 class="wp-block-heading" style="font-size:38px">Connect your device</h2>



<p><em>To run images in your on-premises environment, you need to install the XOAP Connector on a machine that has access to your on-premises infrastructure.</em></p>



<p>1. In <strong>Application Management</strong>, go to <strong>Application Groups</strong>. </p>



<p>2. Find the group <strong>XOAP Connector – Base Group</strong> and open<strong> Details</strong>. </p>



<figure class="wp-block-image size-large"><img decoding="async" src="https://dev.xoap.io/wp-content/uploads/2025/10/xoap-connector-group-details-1024x504.png" alt="XOAP Connector group details" class="wp-image-26613"/></figure>



<p>3. On the Details page, under <strong>Assigned applications</strong>, click the Connector application <strong>eye</strong> icon to view details.</p>



<figure class="wp-block-image size-large"><img decoding="async" src="https://dev.xoap.io/wp-content/uploads/2025/10/view-details-1024x504.png" alt="View Details" class="wp-image-26615"/></figure>



<p>4. Set the <strong><code>apiKey</code></strong> and <strong><code>workspace</code></strong> values and click <strong>Update </strong>to save the new values to the application group. </p>



<div class="wp-block-group is-layout-constrained wp-block-group-is-layout-constrained">
<ul class="wp-block-list">
<li>For apiKey, just paste the key you copied to clipboard in the previous step.</li>



<li>For workspace, the <strong>Workspace ID</strong> can be found in your Workspace URL.</li>
</ul>
</div>



<figure class="wp-block-image size-large"><img decoding="async" src="https://dev.xoap.io/wp-content/uploads/2025/10/api-key-workspace-id-1024x504.png" alt="Add API key and Workspace ID" class="wp-image-26616"/></figure>



<p>5. Now, go to <strong>Configuration Management</strong> → <strong>Configuration Groups</strong>. </p>



<p>6. Find the <strong>XOAP Connector</strong> group, click the <strong>action menu</strong> and select <strong>Copy registration command</strong>. </p>



<figure class="wp-block-image size-large"><img decoding="async" src="https://dev.xoap.io/wp-content/uploads/2025/10/configuration-group-registration-command-1024x504.png" alt="Copy configuration group registration command" class="wp-image-26617"/></figure>



<p>7. Run this command on your device in a PowerShell <strong>administrator</strong> session.</p>



<p>Once complete, your device will appear under <a href="https://dev.xoap.io/docs/devices/"><strong>Inventory →</strong> <strong>Devices</strong></a> in the left-side menu in your XOAP Workspace.</p>



<h2 class="wp-block-heading" style="font-size:38px">Add operating system</h2>



<p><em>In the XOAP workspace, Operating Systems is where you define the OS that will serve as the base for deploying your image. For cloud providers, all Marketplace images are available directly in XOAP and you can simply select the one that best fits your needs. For on-premises environments, you must provide the path to the ISO.</em></p>



<p><strong>To add a new operating system:</strong></p>



<p>1. Go to <strong>Image Management</strong> → <strong>Operating Systems</strong> and click <strong>New Operating System</strong>. </p>



<p>2. In the <strong>New Operating System</strong> window, select the <strong>On-premises</strong> type and fill in the required fields.</p>



<p>3. Click <strong>Save</strong> to add the new operating system.<br><br>If you are missing <strong>Setup Files</strong> like autonunattend.xml or hypervisor-specific adjustments, upload them to the <strong>Resources </strong>area, take a look at our <a href="https://github.com/xoap-io/xoap-packer-templates">GitHub repository</a> or <a href="https://dev.xoap.io/support/">contact us</a> for examples.</p>



<figure class="wp-block-image size-large"><img decoding="async" src="https://dev.xoap.io/wp-content/uploads/2025/10/add-operating-system-1024x504.png" alt="Add on-premises operating system" class="wp-image-26619"/></figure>



<h2 class="wp-block-heading" style="font-size:38px">Next: Creating an image</h2>



<p>Once your environment, API key, device and operating system are configured, you can create your first machine image. For detailed instructions, you can find the documentation <a href="https://dev.xoap.io/docs/create-image-xoap-connector/">here</a>.</p>
</div>



<p></p>
<p>The post <a href="https://dev.xoap.io/docs/getting-started-xoap-connector/">First steps</a> appeared first on <a href="https://dev.xoap.io">XOAP</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://dev.xoap.io/docs/getting-started-xoap-connector/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>2025 September updates</title>
		<link>https://dev.xoap.io/docs/2025-september-updates/</link>
					<comments>https://dev.xoap.io/docs/2025-september-updates/#respond</comments>
		
		<dc:creator><![CDATA[Stella]]></dc:creator>
		<pubDate>Fri, 26 Sep 2025 10:58:38 +0000</pubDate>
				<guid isPermaLink="false">https://dev.xoap.io/?post_type=docs&#038;p=25738</guid>

					<description><![CDATA[<p>This release introduces a wide range of improvements across the XOAP platform, focusing on security, usability, performance, and hybrid deployment scenarios. From refined dashboards and inline help to deeper on-premises support and enhanced automation workflows – XOAP is now more powerful and easier to use than ever. my.dev.xoap.io Enhanced login and workspace access experience with [&#8230;]</p>
<p>The post <a href="https://dev.xoap.io/docs/2025-september-updates/">2025 September updates</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-11 wp-block-group-is-layout-flex">
<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>This release introduces a wide range of improvements across the XOAP platform, focusing on security, usability, performance, and hybrid deployment scenarios. From refined dashboards and inline help to deeper on-premises support and enhanced automation workflows – XOAP is now more powerful and easier to use than ever.</p>
</blockquote>



<h2 class="wp-block-heading" style="font-size:38px">my.dev.xoap.io</h2>



<p>Enhanced login and workspace access experience with MFA and adjusted password requirements.</p>



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



<p>Introduced Multi-Factor Authentication (MFA) to improve account security.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="517" src="https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-1-1024x517.png" alt="" class="wp-image-25739" srcset="https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-1-1024x517.png 1024w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-1-300x151.png 300w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-1-768x388.png 768w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-1-1536x775.png 1536w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-1-2048x1034.png 2048w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-1-18x9.png 18w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



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



<p>Adjusted and strengthened password policies to meet current security best practices. We re-adjusted the password requirements. Passwords now have a minimum length of 8 characters (instead of 12) and there is no need for special characters anymore.</p>



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



<ul class="wp-block-list">
<li>Performance optimizations across all modules for faster load times and smoother user experience</li>



<li>Fixed sorting issues in data tables to ensure consistent and accurate ordering</li>
</ul>



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



<p>The notifications area has been redesigned, including a new Notifications overview.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="517" src="https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-2-1024x517.png" alt="" class="wp-image-25740" srcset="https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-2-1024x517.png 1024w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-2-300x151.png 300w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-2-768x388.png 768w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-2-1536x775.png 1536w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-2-2048x1034.png 2048w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-2-18x9.png 18w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>New Tasks and Processes overview providing better visibility into running and completed operations.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="517" src="https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-3-1024x517.png" alt="" class="wp-image-25741" srcset="https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-3-1024x517.png 1024w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-3-300x151.png 300w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-3-768x388.png 768w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-3-1536x775.png 1536w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-3-2048x1034.png 2048w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-3-18x9.png 18w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<h3 class="wp-block-heading" style="font-size:28px">API &amp; GraphQL</h3>



<p>Swagger documentation is now available here:</p>



<ul class="wp-block-list">
<li><a href="https://api.dev.xoap.io/swagger/index.html" target="_blank" rel="noreferrer noopener">Swagger UI</a></li>



<li><a href="https://dev.xoap.io/docs/api-access-documentation-swagger/" target="_blank" rel="noreferrer noopener">API Access </a></li>
</ul>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="517" src="https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-4-1024x517.png" alt="" class="wp-image-25742" srcset="https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-4-1024x517.png 1024w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-4-300x151.png 300w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-4-768x388.png 768w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-4-1536x775.png 1536w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-4-2048x1034.png 2048w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-4-18x9.png 18w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>GraphQL Endpoints now include a full explorer and documentation:</p>



<ul class="wp-block-list">
<li><a href="https://api.dev.xoap.io/graphql/ui/" target="_blank" rel="noreferrer noopener">GraphQL UI</a></li>



<li><a href="https://dev.xoap.io/docs/graphql-ui/" target="_blank" rel="noreferrer noopener">GraphQL documentation</a></li>
</ul>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="517" src="https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-5-1024x517.png" alt="" class="wp-image-25744" srcset="https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-5-1024x517.png 1024w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-5-300x151.png 300w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-5-768x388.png 768w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-5-1536x775.png 1536w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-5-2048x1034.png 2048w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-5-18x9.png 18w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



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



<p>Inline help has been added throughout the platform to assist users directly where they work.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="517" src="https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-6-1024x517.png" alt="" class="wp-image-25745" srcset="https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-6-1024x517.png 1024w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-6-300x151.png 300w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-6-768x388.png 768w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-6-1536x775.png 1536w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-6-2048x1034.png 2048w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-6-18x9.png 18w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



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



<p>We introduced a new main dashboard providing more insights and data visibility.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="517" src="https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-7-1024x517.png" alt="" class="wp-image-25747" srcset="https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-7-1024x517.png 1024w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-7-300x151.png 300w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-7-768x388.png 768w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-7-1536x776.png 1536w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-7-2048x1034.png 2048w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-7-18x9.png 18w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p><em>Old module dashboards have been removed to streamline navigation and focus on the new unified view.</em></p>



<h2 class="wp-block-heading" style="font-size:38px">Activity Log</h2>



<p>We reduced the number of logged items for improved usability, making it easier to focus on important events.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="517" src="https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-8-1024x517.png" alt="" class="wp-image-25748" srcset="https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-8-1024x517.png 1024w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-8-300x151.png 300w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-8-768x388.png 768w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-8-1536x776.png 1536w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-8-2048x1034.png 2048w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-8-18x9.png 18w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<h2 class="wp-block-heading" style="font-size:38px">Application Management</h2>



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



<p>We added the Roles details view and new options for <strong>Continue on Error</strong> and <strong>Reboot after installation</strong>.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="517" src="https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-9-1024x517.png" alt="" class="wp-image-25750" srcset="https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-9-1024x517.png 1024w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-9-300x151.png 300w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-9-768x388.png 768w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-9-1536x776.png 1536w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-9-2048x1034.png 2048w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-9-18x9.png 18w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<h3 class="wp-block-heading" style="font-size:28px">Installation package caching on Nodes</h3>



<p>Installation package caching on Nodes – packages are now cached and only updated on version changes, significantly reducing data transfer.</p>



<h3 class="wp-block-heading" style="font-size:28px">New Baseline Module 0.19.0</h3>



<p>Released Baseline Module v0.19.0 for specific security-related scenarios where applications couldn&#8217;t be installed because of specific PowerShell execution policy settings.</p>



<h3 class="wp-block-heading" style="font-size:28px">View the application deployment script</h3>



<p>You can now view application deployment scripts directly inside your workspace.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="517" src="https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-10-1024x517.png" alt="" class="wp-image-25751" srcset="https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-10-1024x517.png 1024w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-10-300x151.png 300w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-10-768x388.png 768w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-10-1536x776.png 1536w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-10-2048x1034.png 2048w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-10-18x9.png 18w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<h2 class="wp-block-heading" style="font-size:38px">Image Management</h2>



<p>Added On-Premises support for vSphere and Nutanix.</p>



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



<p>Enhanced Image Definitions capabilities to support the new on-premises hypervisors.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="517" src="https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-11-1024x517.png" alt="" class="wp-image-25752" srcset="https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-11-1024x517.png 1024w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-11-300x151.png 300w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-11-768x388.png 768w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-11-1536x775.png 1536w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-11-2048x1034.png 2048w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-11-18x9.png 18w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



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



<p>New Builders for vSphere and Nutanix.</p>



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



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="517" src="https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-12-1024x517.png" alt="" class="wp-image-25753" srcset="https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-12-1024x517.png 1024w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-12-300x151.png 300w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-12-768x388.png 768w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-12-1536x775.png 1536w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-12-2048x1034.png 2048w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-12-18x9.png 18w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



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



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="517" src="https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-13-1024x517.png" alt="" class="wp-image-25754" srcset="https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-13-1024x517.png 1024w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-13-300x151.png 300w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-13-768x388.png 768w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-13-1536x775.png 1536w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-13-2048x1034.png 2048w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-13-18x9.png 18w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



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



<p>Expanded <strong>Operating Systems</strong> support to support adding local ISO images from Nutanix and vSphere clusters.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="517" src="https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-14-1024x517.png" alt="" class="wp-image-25755" srcset="https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-14-1024x517.png 1024w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-14-300x151.png 300w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-14-768x388.png 768w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-14-1536x775.png 1536w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-14-2048x1034.png 2048w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-14-18x9.png 18w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



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



<p>Added <strong>Schedules</strong> for automated image operations.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="517" src="https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-15-1024x517.png" alt="" class="wp-image-25756" srcset="https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-15-1024x517.png 1024w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-15-300x151.png 300w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-15-768x388.png 768w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-15-1536x775.png 1536w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-15-2048x1034.png 2048w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-15-18x9.png 18w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="517" src="https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-16-1024x517.png" alt="" class="wp-image-25757" srcset="https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-16-1024x517.png 1024w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-16-300x151.png 300w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-16-768x388.png 768w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-16-1536x775.png 1536w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-16-2048x1034.png 2048w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-16-18x9.png 18w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



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



<p>Our new Inventory is the new home for all Devices registered with an XOAP Connector. It enables running operational tasks from a central management interface, independent of the location your Devices are located.</p>



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



<p>Improved Devices management with the capabilities to run:</p>



<ul class="wp-block-list">
<li>PowerShell, PowerShell Core, Cmd, Bash and Shell scripts or commands</li>



<li>SQL queries against registered Devices</li>



<li>Application installations based on Roles and Groups from Application Management</li>



<li>File transfers to and from Devices</li>
</ul>



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



<p>You can store queries for later use and edit them the same way we support editing resources, including versioning, access to previous versions and download of the queries.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="517" src="https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-17-1024x517.png" alt="" class="wp-image-25759" srcset="https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-17-1024x517.png 1024w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-17-300x151.png 300w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-17-768x388.png 768w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-17-1536x775.png 1536w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-17-2048x1034.png 2048w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-17-18x9.png 18w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<h2 class="wp-block-heading" style="font-size:38px">Scripted Actions</h2>



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



<p>Introduced Schedules for automating scripted executions. Now configurable directly inside the Scripted Actions details.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="517" src="https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-18-1024x517.png" alt="" class="wp-image-25760" srcset="https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-18-1024x517.png 1024w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-18-300x151.png 300w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-18-768x388.png 768w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-18-1536x775.png 1536w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-18-2048x1034.png 2048w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-18-18x9.png 18w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



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



<p>On-premises support added for vSphere and Nutanix environments.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="517" src="https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-19-1024x517.png" alt="" class="wp-image-25761" srcset="https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-19-1024x517.png 1024w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-19-300x151.png 300w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-19-768x388.png 768w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-19-1536x776.png 1536w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-19-2048x1034.png 2048w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-19-18x9.png 18w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>Added enhanced API Key management, enabling secure integrations and automation.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="517" src="https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-20-1024x517.png" alt="" class="wp-image-25762" srcset="https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-20-1024x517.png 1024w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-20-300x151.png 300w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-20-768x388.png 768w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-20-1536x776.png 1536w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-20-2048x1034.png 2048w, https://dev.xoap.io/wp-content/uploads/2025/09/2025-september-changelog-20-18x9.png 18w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
</div>
<p>The post <a href="https://dev.xoap.io/docs/2025-september-updates/">2025 September updates</a> appeared first on <a href="https://dev.xoap.io">XOAP</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://dev.xoap.io/docs/2025-september-updates/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
