- You have an active Citrix DaaS or CVAD subscription (Standard tier or above)
- Administrative access to Citrix Cloud Console (https://citrix.cloud.com)
- Your Citrix Cloud Customer ID (visible in the Cloud Console)
- Completed the environment preparation steps above (Set up an Ansible runner, SSH keys, and network configuration)
- You have at least one Orka host ready to deploy VMs
Create a Machine Catalog
Machine Catalogs are logical groupings of virtual machines in Citrix. When using Orka for VDI, you’ll create a catalog specifically for your macOS desktops. With Orka for VDI, you’ll use the Remote PC Access catalog type since Citrix treats each Mac as a physical device due to Apple’s licensing requirements. Creating the Machine Catalog:- Navigate to Citrix Cloud Console → Web Studio → Machine Catalogs
- Click “Create Machine Catalog”
- Select catalog type:
- Configure Machine Catalog settings:
- Machine accounts:
- Add machines:
-
Platform:
Orka-macOS -
OS version:
Sonoma,Sequoia,Ventura,Tahoe -
Hardware profile:
Standard,HighPerf,Minimal -
Department/purpose:
Finance,Engineering,Creative
Orka-macOS-Sonoma-HighPerf-Engineering
Generating an Enrollment Token
An enrollment token is critical for connecting your Orka-hosted VMs to Citrix Cloud. This token authenticates the VDA during registration and associates the machine with your Citrix DaaS environment. To generate an enrollment token:- Navigate to Citrix Cloud Console → Web Studio → Machine Catalogs
- Select your Machine Catalog (created in previous step)
- Click “Enable Enrollment Token” or navigate to the enrollment token section
- Configure token settings:
- Copy the token immediately:
sudo /opt/Citrix/VDA/bin/VdaEnrollmentTool -EnrollmentToken:<token> -Restart
Token troubleshooting:
If VMs fail to register:
- Verify that the specified enrollment token hasn’t expired
-
Confirm network connectivity to
[customer_ID].xendesktop.net - Check token was copied completely (no truncation or extra characters)
- Ensure that the token is associated with the correct Machine Catalog
-
Review VDA logs at
/Library/Application Support/Citrix/VDA/Logs/
Configure Delivery Groups
Delivery Groups control which users can access which machines and define the user experience policies. Creating a Delivery Group:- Navigate to Citrix Cloud Console → Web Studio → Delivery Groups
- Click “Create Delivery Group”
- Select machines:
- Configure users:
- Delivery Group name and settings:
- Configure desktop assignment:
- Application and desktop delivery:
- Session policies:
- Authentication method: How users prove their identity
- Access from: Define where users can connect from
- Device posture: (Optional) Restrict based on device compliance
- Finance-Standard-Users → Access to M2 Mac mini VMs
- Engineering-Power-Users → Access to M4 Pro Mac mini VMs
- Creative-Graphics-Team → Access to Mac Studio M2 Ultra VMs
Enable Rendezvous for Non-Domain-Joined Devices
Rendezvous protocol enables HDX connections to VDAs that aren’t joined to an Active Directory domain. When to use Rendezvous: Use Rendezvous when:- VMs are not domain-joined
- Users access from external networks
- You want simplified firewall configuration
- VMs are behind NAT or have private IPs
- You’re deploying cloud-hosted Macs
- All VMs are domain-joined
- You have on-premises StoreFront and Gateway already deployed
- Your security policy requires traditional reverse proxy architecture
- Performance is absolutely critical (Rendezvous adds minimal overhead, but some organizations prefer direct connections)
- In Citrix Cloud Console → Web Studio → Configuration → Policies
- Create or edit a policy for your Delivery Group
- Navigate to ICA/HDX settings
- Configure Rendezvous settings:
- On the VDA side:
-
*.*.nssvc.neton TCP/UDP port 443 - If your firewall requires specific subdomains, use:
- User launches desktop from Citrix Workspace
- Citrix Cloud Delivery Controller selects available VDA
- Instead of direct connection, Cloud signals VDA via persistent Rendezvous channel
- VDA initiates outbound HDX connection to Citrix Gateway Service
- User’s Workspace client connects to Gateway Service
- Gateway Service proxies HDX traffic between client and VDA
- VDA must be domain-joined
- Configure traditional StoreFront and NetScaler Gateway
- Update VDA configuration:
- Check VDA registration status in Citrix Cloud Console
- Look for Rendezvous connection in VDA logs
- Launch a test session from Citrix Workspace
- Monitor connection establishment (should not require VPN or special network access)
- Verify session performance meets expectations
-
Verify outbound connectivity to
*.*.nssvc.neton port 443 - Check proxy settings if environment uses HTTP proxy
- Review VDA logs for Rendezvous registration errors
- Confirm WebSocket connections aren’t blocked by firewall
- Test with Citrix Workspace app (ensure version 2402 or later)
Deploy Citrix VDA inside VMs
Citrix VDA installation enables macOS VMs to register with Citrix Cloud and deliver desktop sessions to end users. Deployment can be performed manually for small environments or automated via Ansible for scale. Preparation steps:- Download Citrix VDA for macOS:
- Install Microsoft .NET Runtime 8.0:
- Prepare installation parameters:
- Deploy test VM from base image:
- Copy VDA installer to VM:
- Install prerequisites:
- Install Citrix VDA:
- Initial configuration:
- Deploy a clean VM using Orka Engine
-
--enrollment-token- Token from Citrix Cloud (stored in Ansible Vault) -
--customer-id- Your Citrix Cloud customer ID -
--cloud-connector- Citrix Cloud DaaS endpoint -
--enable-rendezvous- Enable for non-domain-joined VMs -
--delivery-controller- For on-premises CVAD (FQDN of controllers)
- Create a golden image from the previously configured VM
- Tag image with version information
- Push to private registry
- Document installed software versions
- Test image deployment before marking as production-ready
Verify VDA Registration with an Enrollment Token
Verifying VDA registration ensures that VMs are successfully registered with Citrix Cloud and are available for user sessions. This step is crucial, as it validates the entire integration between Orka, VDA, and Citrix DaaS. Registration process overview:- VDA service initializes on boot
- VDA reads configuration (enrollment token, customer ID)
- VDA establishes outbound HTTPS connection to Citrix Cloud
- VDA authenticates using enrollment token
- VDA registers with specified Machine Catalog
- Citrix Cloud adds VM to available desktop pool
- VDA maintains heartbeat connection to Cloud
- Navigate to Citrix Cloud Console → Web Studio
- Go to Machine Catalogs → Select your catalog
- View list of registered machines
- Verify your VM appears with:
-
Log location:
/Library/Application Support/Citrix/VDA/Logs/ - Key log files:
- “Registration successful”
- “Broker connection established”
- “VDA ready to accept sessions”
Common registration issues
Enrollment token problems:- Expired token: Generate new token, update Ansible Vault, redeploy VDA
- Invalid token: Verify the token was copied correctly (no truncation or extra characters)
- Token already used (if tokens are limited): Generate a new token or increase use limit
-
Cannot reach Citrix Cloud: Verify outbound HTTPS (TCP 443) allowed to
*.xendesktop.net -
Gateway Service unreachable: Confirm access to
*.*.nssvc.neton port 443 - DNS resolution failure: Check VM DNS configuration, test name resolution
- Wrong customer ID: Verify customer ID matches the Citrix Cloud tenant
- Machine Catalog mismatch: Ensure enrollment token is associated with the correct machine catalog
- VDA version incompatibility: Update to supported VDA version
- Corporate firewall blocking: Whitelist required Citrix endpoints
- Proxy misconfiguration: Configure VDA proxy settings if environment requires proxy
- SSL inspection interference: Exclude Citrix endpoints from SSL decryption
Check VDA service status:
Restart VDA service:
View VDA logs:
Test Citrix Cloud connectivity:
- A network outage disconnected the VM from Citrix Cloud
- The VDA service restarted or crashed
- The VM was moved to different network segment
- An enrollment token was rotated/updated
- Citrix Cloud maintenance occurred