Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 4 additions & 10 deletions orka/orka-engine/orka-engine-30.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@

* A host (or node) is a physical computer with a host macOS and an installation of Orka Engine.
* An image is the bits on disk representing a VM that can be used for saving state and sharing.
* MacStadium base VM Orka images are macOS OCI compliant VM images stored in our public GitHub registry [ghcr.io/macstadium/orka-images/](http://ghcr.io/macstadium/orka-images/) with user credentials user/pwd:

Check warning on line 13 in orka/orka-engine/orka-engine-30.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-engine/orka-engine-30.mdx#L13

Use 'macstadium' instead of 'MacStadium'.

Check warning on line 13 in orka/orka-engine/orka-engine-30.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-engine/orka-engine-30.mdx#L13

Use 'Orka' instead of 'orka'.



Expand Down Expand Up @@ -48,27 +48,21 @@

## Obtaining an Orka License Key

Orka Engine requires a valid license key to operate. To request a license key:
Your license key is included in your order confirmation from MacStadium. If you don't have it, log in to your customer portal at [macstadium.users.licensespring.com](https://macstadium.users.licensespring.com) or contact [support@macstadium.com](mailto:support@macstadium.com).

Check warning on line 51 in orka/orka-engine/orka-engine-30.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-engine/orka-engine-30.mdx#L51

Use 'macstadium' instead of 'MacStadium'.

1. Contact your MacStadium account representative
Activate your license:

2. Provide your organization name, deployment details, and use case

3. Your account representative will submit your information to our licensing team for provisioning

4. Receive license key via email (Est. 24 hour turnaround time)

5. Activate: `orka-engine license set --key YOUR_KEY`
`orka-engine license set --key YOUR_KEY`

You can also download Orka Engine directly at: [https://distribution.macstadium.com/orka-engine/official/3.6.0/orka-engine.pkg](https://distribution.macstadium.com/orka-engine/official/3.6.0/orka-engine.pkg)

## Installation

To install Orka Engine on an Apple silicon ARM (M1-M3) computer running macOS 13 (Ventura) and above, it is necessary to acquire and run the installer package.
To install Orka Engine on an Apple silicon host (M1 or later) running macOS 13 (Ventura) and above, it is necessary to acquire and run the installer package.

The Orka Engine installer is self-guided and takes less than a minute to install successfully. Simply double click or right click open the **orka-engine.pkg** file from the source download directory and follow the prompts.

Check warning on line 63 in orka/orka-engine/orka-engine-30.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-engine/orka-engine-30.mdx#L63

Use 'Orka' instead of 'orka'.

![macOS installer window for orka-engine showing the Introduction step](/images/attachments/39594591423515.png)

Check warning on line 65 in orka/orka-engine/orka-engine-30.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-engine/orka-engine-30.mdx#L65

Use 'Orka' instead of 'orka'.

![Orka Engine app icon showing an orca whale with a terminal prompt symbol](/images/attachments/39594527742107.png)

Expand All @@ -83,7 +77,7 @@
* Save that VM as an image using `orka-engine vm save`
* Listing images available on disk with `orka-engine image list`
* Stop a VM with **ctrl-c** in terminal window bound to running VM or by closing the Dock item
* Run a base template VM image hosted from MacStadium using `orka-engine vm run`

Check warning on line 80 in orka/orka-engine/orka-engine-30.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-engine/orka-engine-30.mdx#L80

Use 'macstadium' instead of 'MacStadium'.
* `orka-engine vm run latest-sonoma --image ghcr.io/macstadium/orka-images/sonoma:latest`
* Pulling remote images locally using `orka-engine image pull`
* Starting a VM in the stopped state with `orka-engine vm start`
Expand All @@ -95,7 +89,7 @@

After Orka Engine is installed, open a terminal window. The command `orka-engine` is installed at `/usr/local/bin/orka-engine` \- this should be in the $PATH for most users by default.

## Using orka-engine --help

Check warning on line 92 in orka/orka-engine/orka-engine-30.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-engine/orka-engine-30.mdx#L92

Use 'Orka' instead of 'orka'.

The `orka-engine --help` command lists the three subcommands, `vm`to manage VMs, `image` to manage images, and `host` to see information about the host.

Expand All @@ -113,7 +107,7 @@
```
orka-engine vm run latest-ipsw --ipsw latest --disk-size 90
```
`orka-engine vm run` is a blocking function. Open another terminal window to interface with orka-engine for other functions while the VM is running. Stop a VM with **ctrl-c** or via the UI window **Menu - > Quit**.

Check warning on line 110 in orka/orka-engine/orka-engine-30.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-engine/orka-engine-30.mdx#L110

Use 'Orka' instead of 'orka'.

## Common Options when Running a VM

Expand Down Expand Up @@ -160,7 +154,7 @@

Orka engine can list the name and resource consumption of VMs that are currently running or stopped on a local host.

![Terminal output of orka-engine vm list showing a VM named latest-ipsw with 2 CPUs, 4096M memory, in running state](/images/attachments/39594527745947.png)

Check warning on line 157 in orka/orka-engine/orka-engine-30.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-engine/orka-engine-30.mdx#L157

Use 'Orka' instead of 'orka'.

Check warning on line 157 in orka/orka-engine/orka-engine-30.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-engine/orka-engine-30.mdx#L157

Use 'VM' instead of 'vm'.

Check warning on line 157 in orka/orka-engine/orka-engine-30.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-engine/orka-engine-30.mdx#L157

Use 'IPSW' instead of 'ipsw'.

## Saving a VM as an Image

Expand All @@ -168,7 +162,7 @@

For example,`orka-engine vm save latest-ipsw sonoma146-vanilla` saves the VM called `latest-ipsw` as an image with the name **sonoma146-vanilla**

![Terminal confirmation: The image 'sonoma146-vanilla' for VM 'latest-ipsw' has been successfully saved](/images/attachments/39594591426971.png)

Check warning on line 165 in orka/orka-engine/orka-engine-30.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-engine/orka-engine-30.mdx#L165

Use 'IPSW' instead of 'ipsw'.

## Listing Images Available on Disk

Expand All @@ -178,9 +172,9 @@

Stop a headless VM or VM with a display console enter **ctrl-c**(from the terminal window VM was started with) or if deployed with a display console, by choosing the apple icon in the VM and selecting Shut Down… .

## Running a VM Based on a MacStadium Hosted Image

Check warning on line 175 in orka/orka-engine/orka-engine-30.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-engine/orka-engine-30.mdx#L175

Use 'macstadium' instead of 'MacStadium'.

MacStadium hosts a number of Sequoia, Sonoma, and Ventura images on [GitHub - macstadium/orka-images: Public images for Apple silicon-based Orka virtual machines](https://github.com/macstadium/orka-images/) In `orka-engine vm ,` specify an `--image` option to be the URL of an image coming from an OCI registry,

Check warning on line 177 in orka/orka-engine/orka-engine-30.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-engine/orka-engine-30.mdx#L177

Use 'macstadium' instead of 'MacStadium'.

Check warning on line 177 in orka/orka-engine/orka-engine-30.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-engine/orka-engine-30.mdx#L177

Use 'Orka' instead of 'orka'.

```bash
orka-engine vm run sonoma-latest --image ghcr.io/macstadium/orka-images/sonoma:latest
Expand All @@ -197,7 +191,7 @@



## Reviewing Current List of VMs (in VMs orka-engine)

Check warning on line 194 in orka/orka-engine/orka-engine-30.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-engine/orka-engine-30.mdx#L194

Use 'Orka' instead of 'orka'.

It is now possible to start a second terminal and run `orka-engine vm list`, and the following output appears, (which indicates that the previously running `latest-ipsw` VM has been stopped), and the recent `sonoma-latest` is now running.

Expand Down Expand Up @@ -231,7 +225,7 @@

## Pulling Remote Images Locally

In previous examples, `orka-engine vm run` was used to both _pull_ (or download) a remote image to the local device and to _run_ the vm. There are cases where users may just want to download an image, and `orka-engine image pull` supports this.

Check warning on line 228 in orka/orka-engine/orka-engine-30.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-engine/orka-engine-30.mdx#L228

Use 'VM' instead of 'vm'.

`orka-engine image pull ghcr.io/macstadium/orka-images/ventura:no-sip`

Expand All @@ -241,9 +235,9 @@

## Pushing local Images to Registry

If the previously run sonoma-latest image has been modified and saved with the necessary CI tools, then it can image can be shared with team members by storing it on the team OCI repo and naming it **sequoiaCI** ; on the repo, use the `orka-engine image push` command.

Check warning on line 238 in orka/orka-engine/orka-engine-30.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-engine/orka-engine-30.mdx#L238

Use 'Sonoma' instead of 'sonoma'.

The default local Orka Engine VM image files system path is `/Users/<host_username>/.local/share/orka/data/` where the host_username is **admin** in this example and the container registry is [ghcr.io](http://ghcr.io/) and the repo credentials are username=**dev1** and password=**repo**.

Check warning on line 240 in orka/orka-engine/orka-engine-30.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-engine/orka-engine-30.mdx#L240

Did you really mean 'host_username'?

`orka-engine image push --username dev1 --password repo /Users/admin/.local/share/orka/data/sonoma-latest ghcr.io/images/sequoiaCI:latest `

Expand Down
14 changes: 5 additions & 9 deletions orka/orka-on-aws-and-on-prem/orka-on-aws-getting-started.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
The diagram below illustrates the architecture of an Orka Cluster on AWS, detailing how it integrates with Amazon EC2 Mac instances, Amazon EKS (Elastic Kubernetes Service), and Amazon ECR (Elastic Container Registry) within a customer’s AWS account.

![Orka Cluster on AWS architecture diagram showing EC2 Mac, EKS, and ECR integration](/images/attachments/44003706780059.png)
The EC2 Mac hosts are set up with Orka AMIs, which provide a stable runtime for virtual machines. Each VM is deployed on the host using an OCI image, which can be fetched from Amazon ECR or an external OCI Registry. The use of OCI images enables rapid deployment (within a few minutes) of different macOS versions, pre-configured with various tools and optionally with SIP (System Integrity Protection) disabled. This addresses challenges that typically exist on Mac EC2 without Orka VMs. An EKS cluster will integrate with CI tools, CLI, or API, and orchestrate workloads, including spin-up and tear-down of VMs, and scheduled caching of images as needed.

Check warning on line 16 in orka/orka-on-aws-and-on-prem/orka-on-aws-getting-started.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-on-aws-and-on-prem/orka-on-aws-getting-started.mdx#L16

Did you really mean 'AMIs'?

Key elements in the architecture include:

Expand All @@ -32,15 +32,15 @@
* Storage
* We recommend using ECR or alternative OCI repositories for image storage.
* Mac EC2
* We will provide an AMI based on an official AWS macOS base image that includes our tooling (Virtual Kubelet, Orka Engine) and a bootstrap script that accepts the EKS parameters to connect as an Orka worker node.

Check warning on line 35 in orka/orka-on-aws-and-on-prem/orka-on-aws-getting-started.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-on-aws-and-on-prem/orka-on-aws-getting-started.mdx#L35

Did you really mean 'Kubelet'?
* We have a new AMI available that supports the external NVMe disk available with M4 instances. Per the [official Amazon docs](https://aws.amazon.com/ec2/instance-types/mac/): "Amazon EC2 M4 Mac instances come with a new 2TB instance store volume per EC2 Mac Dedicated Host, providing low latency storage for improved caching and build/test performance."

Check warning on line 36 in orka/orka-on-aws-and-on-prem/orka-on-aws-getting-started.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-on-aws-and-on-prem/orka-on-aws-getting-started.mdx#L36

Did you really mean 'NVMe'?

The new AMI is compatible with Orka 3.5 and later, and all EC2 Apple silicon Mac instance types (M1, M2, M4).

By default:

- The NVMe disk is used for Orka storage of VM and image data on M4 instances only

Check warning on line 42 in orka/orka-on-aws-and-on-prem/orka-on-aws-getting-started.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-on-aws-and-on-prem/orka-on-aws-getting-started.mdx#L42

Did you really mean 'NVMe'?
- Autologin is enabled for the `ec2-user`, and is required when running a Sequoia guest OS or newer

Check warning on line 43 in orka/orka-on-aws-and-on-prem/orka-on-aws-getting-started.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-on-aws-and-on-prem/orka-on-aws-getting-started.mdx#L43

Did you really mean 'Autologin'?

<Note>
The `ENABLE_NVME_DISK` and `ENABLE_AUTOLOGIN` variables are **not** required. These are set to `true` by default, and either variable may be disabled if needed:
Expand All @@ -53,7 +53,7 @@
/usr/local/bin/bootstrap-orka <eks-cluster-name> <vpc-region> <orka-license-key>
```
* Networking
* Apple silicon nodes don’t have a direct tie-in to the traditional k8s networking stack. With Orka, we provide a private network, expose certain ports, and require NATing for access. We do provide modes for network isolation and internet isolation. We provide documentation below for how to expose Orka services outside of the cluster. As of Orka 3.5.0, we also support [bridge networking mode](/orka/orka-on-aws-and-on-prem/using-bridge-networking-with-orka-350), enabling the ability to get an IP on a subnet in your VPC.

Check warning on line 56 in orka/orka-on-aws-and-on-prem/orka-on-aws-getting-started.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-on-aws-and-on-prem/orka-on-aws-getting-started.mdx#L56

Did you really mean 'NATing'?

Check warning on line 56 in orka/orka-on-aws-and-on-prem/orka-on-aws-getting-started.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-on-aws-and-on-prem/orka-on-aws-getting-started.mdx#L56

Did you really mean 'subnet'?
* User Management and Authorization
* Users need to register at portal.macstadium.com, as all user management is handled through the portal service. Customers can also use their own OIDC identity provider. See [OIDC Provider Setup](#oidc-provider-setup) below.
* Logging, Monitoring, and Alerting
Expand All @@ -73,7 +73,7 @@
* Orka Operator: TCP 8080 (metrics), TCP 8081 (health check), TCP 443 (webhook), Linux worker nodes should be accessible from within the cluster on any port. Does not require Internet access.
* Orka OIDC Provider: TCP 443. Requires connectivity to the authentication provider.
* EC2 Mac Nodes
* Virtual Kubelet / Orka Engine AMI: Ingress ports can be internal to the cluster network. The customer should allow ingress to all ports within the network. The following ports should be open to all networks that need access to the VMs: TCP 5900-6200 (Screenshare), TCP 5999-6299 (VNC), and TCP 8822-9122 (SSH). In general, we recommend allowing outbound requests uniformly for forward compatibility.

Check warning on line 76 in orka/orka-on-aws-and-on-prem/orka-on-aws-getting-started.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-on-aws-and-on-prem/orka-on-aws-getting-started.mdx#L76

Did you really mean 'Kubelet'?

Check warning on line 76 in orka/orka-on-aws-and-on-prem/orka-on-aws-getting-started.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-on-aws-and-on-prem/orka-on-aws-getting-started.mdx#L76

Did you really mean 'Screenshare'?

> **NOTE**: SSH/Screen Share/VNC ports are globally tracked and allocated. The ranges given above are applicable to each Apple silicon node.

Expand All @@ -81,10 +81,10 @@
## Install Overview

1. **Talk to your MacStadium Account Team about your Orka on AWS install.**
1. Provide MacStadium with your AWS account ID and region to be used. This is needed so that the Orka AMI can be shared with your account.

Check warning on line 84 in orka/orka-on-aws-and-on-prem/orka-on-aws-getting-started.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-on-aws-and-on-prem/orka-on-aws-getting-started.mdx#L84

Use 'macstadium' instead of 'MacStadium'.
2. Follow the installation steps below for the EKS Cluster and the CodeBuild role.
1. **Take note of the EKS Node IAM role and the CodeBuild role ARN, and share the 2 ARNs with your MacStadium Account Team**

Check warning on line 86 in orka/orka-on-aws-and-on-prem/orka-on-aws-getting-started.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-on-aws-and-on-prem/orka-on-aws-getting-started.mdx#L86

Did you really mean 'ARNs'?

Check warning on line 86 in orka/orka-on-aws-and-on-prem/orka-on-aws-getting-started.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-on-aws-and-on-prem/orka-on-aws-getting-started.mdx#L86

Use 'macstadium' instead of 'MacStadium'.
3. MacStadium provides customers with an OIDC Client ID to use during CodeBuild execution and with AMI details so they can install Orka software onto EC2 Mac.

Check warning on line 87 in orka/orka-on-aws-and-on-prem/orka-on-aws-getting-started.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-on-aws-and-on-prem/orka-on-aws-getting-started.mdx#L87

Use 'macstadium' instead of 'MacStadium'.
4. Follow the steps below to update your build spec with the OIDC Client ID, set up IAM roles so that CodeBuild can manage the EKS cluster, and execute CodeBuild to install Orka Services into the EKS cluster.
5. Follow the steps below to set up the OIDC Provider
6. Follow the steps below to expose the Orka API service via Load Balancer
Expand All @@ -99,28 +99,28 @@
2. To set up the cluster, follow the AWS guidelines for [EKS Auto Mode](https://docs.aws.amazon.com/eks/latest/userguide/getting-started-automode.html) or the [EKS QuickStart](https://docs.aws.amazon.com/eks/latest/userguide/quickstart.html).
2. **Recommendations** :
1. Select the same region for the cluster as the one used for deploying the EC2 Mac nodes to avoid costly cross-region traffic.
2. Deploy the cluster in private subnets only, as none of the Orka services need to be accessed from the Internet directly.

Check warning on line 102 in orka/orka-on-aws-and-on-prem/orka-on-aws-getting-started.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-on-aws-and-on-prem/orka-on-aws-getting-started.mdx#L102

Did you really mean 'subnets'?
3. Deploy at least two Linux worker nodes for resiliency and high availability.
3. **Note down the ARN of the**[**EKS Node IAM role**](https://docs.aws.amazon.com/eks/latest/userguide/create-node-role.html)**.** MacStadium needs this ARN to configure EKS cluster admin access for the node.

Check warning on line 104 in orka/orka-on-aws-and-on-prem/orka-on-aws-getting-started.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-on-aws-and-on-prem/orka-on-aws-getting-started.mdx#L104

Use 'macstadium' instead of 'MacStadium'.
4. **Optional:**
1. Set Cluster endpoint access to “Private” to restrict access to your cluster API from the Internet.
1. This setting depends on your access needs. All Orka clients (CLI, integrations, etc.) must have connectivity to the cluster.
2. Use EKS API for Cluster authentication mode.
1. This is the [newest authentication mode for EKS](https://aws.amazon.com/blogs/containers/a-deep-dive-into-simplified-amazon-eks-access-management-controls/), replacing the old aws-auth config map.

Check warning on line 109 in orka/orka-on-aws-and-on-prem/orka-on-aws-getting-started.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-on-aws-and-on-prem/orka-on-aws-getting-started.mdx#L109

Did you really mean 'config'?
5. Orka Cluster installs itself into EKS using Ansible scripts.
1. **MacStadium support will provide an OIDC Client ID**

Check warning on line 111 in orka/orka-on-aws-and-on-prem/orka-on-aws-getting-started.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-on-aws-and-on-prem/orka-on-aws-getting-started.mdx#L111

Use 'macstadium' instead of 'MacStadium'.
2. Additional considerations
1. The Ansible runner must have connectivity to the cluster API.
2. The Ansible runner must have Cluster Admin privileges to set up the cluster.
3. MacStadium recommends using CodeBuild to run Ansible and configure the EKS cluster. CodeBuild provides direct visibility to the cluster, alleviating networking concerns.

Check warning on line 115 in orka/orka-on-aws-and-on-prem/orka-on-aws-getting-started.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-on-aws-and-on-prem/orka-on-aws-getting-started.mdx#L115

Use 'macstadium' instead of 'MacStadium'.



### Setup a CodeBuild project to run Orka Installation into the EKS Cluster

MacStadium recommends using CodeBuild to run Ansible and configure the EKS cluster. CodeBuild provides direct visibility to the cluster, alleviating networking concerns. To set up a CodeBuild project as an Ansible runner:

Check warning on line 121 in orka/orka-on-aws-and-on-prem/orka-on-aws-getting-started.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-on-aws-and-on-prem/orka-on-aws-getting-started.mdx#L121

Use 'macstadium' instead of 'MacStadium'.

1. **Allow AWS to create the CodeBuild role for you. Note down the name and ARN of the role — you will need to share the ARN with MacStadium and modify the role later.**

Check warning on line 123 in orka/orka-on-aws-and-on-prem/orka-on-aws-getting-started.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-on-aws-and-on-prem/orka-on-aws-getting-started.mdx#L123

Use 'macstadium' instead of 'MacStadium'.
2. Select the following options:
1. Project type - Default project
2. Source - no source
Expand All @@ -131,10 +131,10 @@
4. Environment type - Linux Container
5. Image registry - Other registry
1. Under External registry URL, enter `ghcr.io/macstadium/orka-ansible-aws:<version_tag>` where `<version_tag>` is the Orka version.
3. (Optional) Set VPC, Subnets and security group to be used by CodeBuild. This is only needed if the EKS access is set to private. To do that:

Check warning on line 134 in orka/orka-on-aws-and-on-prem/orka-on-aws-getting-started.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-on-aws-and-on-prem/orka-on-aws-getting-started.mdx#L134

Did you really mean 'Subnets'?
1. Click Additional Configuration
2. Select the VPC where your cluster is deployed
3. Select the subnets which EKS uses

Check warning on line 137 in orka/orka-on-aws-and-on-prem/orka-on-aws-getting-started.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-on-aws-and-on-prem/orka-on-aws-getting-started.mdx#L137

Did you really mean 'subnets'?
4. Select a security group that has access to the EKS API
5. In the BuildSpec, add the following commands:

Expand All @@ -145,8 +145,8 @@
Where:
`{cluster_name}` - the name of your EKS cluster
`{region}` - the region where the cluster is deployed
`{k8s_api_address}` - the K8s API address of your cluster

Check warning on line 148 in orka/orka-on-aws-and-on-prem/orka-on-aws-getting-started.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-on-aws-and-on-prem/orka-on-aws-getting-started.mdx#L148

Use 'k8s' instead of 'K8s'.
`{kube_oidc_client_id}` - the OIDC client ID provided by MacStadium

Check warning on line 149 in orka/orka-on-aws-and-on-prem/orka-on-aws-getting-started.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-on-aws-and-on-prem/orka-on-aws-getting-started.mdx#L149

Use 'macstadium' instead of 'MacStadium'.

6. Save the configuration.
7. Next, Configure CodeBuild to manage the EKS cluster:
Expand Down Expand Up @@ -174,14 +174,14 @@

To use the Orka API/CLI, you need to set up the OIDC provider.

The issuer URL and client ID will be provided by MacStadium.

Check warning on line 177 in orka/orka-on-aws-and-on-prem/orka-on-aws-getting-started.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-on-aws-and-on-prem/orka-on-aws-getting-started.mdx#L177

Use 'macstadium' instead of 'MacStadium'.

To set up the provider:

* Go to the Cluster Access tab.
* Click `Associate Identity Provider`.
* Add the `Issuer URL` provided by MacStadium.

Check warning on line 183 in orka/orka-on-aws-and-on-prem/orka-on-aws-getting-started.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-on-aws-and-on-prem/orka-on-aws-getting-started.mdx#L183

Use 'macstadium' instead of 'MacStadium'.
* Add the `Client ID` provided by MacStadium.

Check warning on line 184 in orka/orka-on-aws-and-on-prem/orka-on-aws-getting-started.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-on-aws-and-on-prem/orka-on-aws-getting-started.mdx#L184

Use 'macstadium' instead of 'MacStadium'.
* Add `cognito:groups` for the `Groups claim`.
* Add `oidc:` for the `Groups prefix`.

Expand All @@ -195,7 +195,7 @@

### Cluster Admin Access

By default, Orka's validator webhooks restrict certain operations (including deleting another user's VM) to cluster admins only. On AWS and on-prem deployments, cluster admin status must be explicitly configured. This differs from MacStadium-hosted clusters, where kubeadm automatically establishes the `kubeadm:cluster-admins` group.

Check warning on line 198 in orka/orka-on-aws-and-on-prem/orka-on-aws-getting-started.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-on-aws-and-on-prem/orka-on-aws-getting-started.mdx#L198

Did you really mean 'validator'?

Check warning on line 198 in orka/orka-on-aws-and-on-prem/orka-on-aws-getting-started.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-on-aws-and-on-prem/orka-on-aws-getting-started.mdx#L198

Use 'macstadium' instead of 'MacStadium'.

Check warning on line 198 in orka/orka-on-aws-and-on-prem/orka-on-aws-getting-started.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-on-aws-and-on-prem/orka-on-aws-getting-started.mdx#L198

Did you really mean 'kubeadm'?

The default admin group for AWS and on-prem is `orka:cluster-admins`. To use a different group, set the `cluster_admin_group` Ansible variable before running the installation playbook.

Expand Down Expand Up @@ -235,7 +235,7 @@

## Provisioning Steps

1. We will provide an AMI based on an official AWS macOS base image that includes our tooling (Virtual Kubelet, Orka Engine)

Check warning on line 238 in orka/orka-on-aws-and-on-prem/orka-on-aws-getting-started.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-on-aws-and-on-prem/orka-on-aws-getting-started.mdx#L238

Did you really mean 'Kubelet'?
2. The AMI will additionally include a bootstrap script that should be run via user data. See the section below for more detailed information
3. The IAM role must be linked to an instance profile and attached to the instance
4. The security group allowing access to the EKS control plane must be attached to the instance
Expand All @@ -247,25 +247,21 @@

## Obtaining an Orka License Key

Orka Engine requires a valid license key to operate. To request a license key:
Your license key is included in your order confirmation from MacStadium. If you don't have it, log in to your customer portal at [macstadium.users.licensespring.com](https://macstadium.users.licensespring.com) or contact [support@macstadium.com](mailto:support@macstadium.com).

Check warning on line 250 in orka/orka-on-aws-and-on-prem/orka-on-aws-getting-started.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-on-aws-and-on-prem/orka-on-aws-getting-started.mdx#L250

Use 'macstadium' instead of 'MacStadium'.

1. Contact your MacStadium account representative
Activate your license:

2. Provide your organization name, deployment details, and use case

3. Your account representative will submit your information to our licensing team for provisioning

4. Receive license key via email (Est. 24 hour turnaround time)

5. Activate: `orka-engine license set --key YOUR_KEY`
```
orka-engine license set --key YOUR_KEY
```

You can also download Orka Engine directly from MacStadium. Contact your account representative for the current installer link.

Check warning on line 258 in orka/orka-on-aws-and-on-prem/orka-on-aws-getting-started.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-on-aws-and-on-prem/orka-on-aws-getting-started.mdx#L258

Use 'macstadium' instead of 'MacStadium'.

### Bootstrap Script

The AMI includes a bootstrap script that can be run via [user data](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html) and accepts the following parameters to connect as an Orka worker node:

* EKS cluster name, EKS cluster VPC region, Orka License Key (provided by MacStadium)

Check warning on line 264 in orka/orka-on-aws-and-on-prem/orka-on-aws-getting-started.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-on-aws-and-on-prem/orka-on-aws-getting-started.mdx#L264

Use 'macstadium' instead of 'MacStadium'.
* The customer should pass the following as user data when launching an instance:


Expand All @@ -292,7 +288,7 @@

IAM-based or certificate-based kubeconfig authentication is not sufficient for `vm push` on its own. An `Unauthorized` error from `vm push` in this context indicates a missing Orka API token, not an ECR authentication issue.

You can get credentials for use with a private ECR registry with the aws CLI as follows:

Check warning on line 291 in orka/orka-on-aws-and-on-prem/orka-on-aws-getting-started.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-on-aws-and-on-prem/orka-on-aws-getting-started.mdx#L291

Did you really mean 'aws'?


```
Expand Down Expand Up @@ -340,13 +336,13 @@



## Mac Node Deprovisioning Steps

Check warning on line 339 in orka/orka-on-aws-and-on-prem/orka-on-aws-getting-started.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-on-aws-and-on-prem/orka-on-aws-getting-started.mdx#L339

Did you really mean 'Deprovisioning'?

To deprovision a Mac Node you need to:

Check warning on line 341 in orka/orka-on-aws-and-on-prem/orka-on-aws-getting-started.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-on-aws-and-on-prem/orka-on-aws-getting-started.mdx#L341

Did you really mean 'deprovision'?

1. Delete the Mac instance
2. (Optional) Release the Mac dedicated host if you no longer need it
3. Delete the Kubernetes node by running `kubectl delete node <node_name>` where `<node_name>` is the name of the node you want to deprovision

Check warning on line 345 in orka/orka-on-aws-and-on-prem/orka-on-aws-getting-started.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-on-aws-and-on-prem/orka-on-aws-getting-started.mdx#L345

Did you really mean 'deprovision'?



Expand All @@ -354,7 +350,7 @@

### OpenTelemetry Standards

Logging and monitoring conform to OpenTelemetry best practices, meaning that metrics can be scraped from the appropriate resources via Prometheus and visualized with Grafana using Prometheus as a data source.

Check warning on line 353 in orka/orka-on-aws-and-on-prem/orka-on-aws-getting-started.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-on-aws-and-on-prem/orka-on-aws-getting-started.mdx#L353

Did you really mean 'Grafana'?

Logs can be exposed on EC2 Mac workers via CloudWatch or by installing a `promtail` service, allowing them to be aggregated through Loki.

Expand All @@ -364,8 +360,8 @@

What | Resource | Accessing | Purpose
---|---|---|---
Virtual Kubelet Logs | Mac EC2 Node | Via promtail: `/usr/local/virtual-kubelet/vk.log` | Interactions between EKS and worker node for managing virtualization.

Check warning on line 363 in orka/orka-on-aws-and-on-prem/orka-on-aws-getting-started.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-on-aws-and-on-prem/orka-on-aws-getting-started.mdx#L363

Did you really mean 'Kubelet'?

Check warning on line 363 in orka/orka-on-aws-and-on-prem/orka-on-aws-getting-started.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-on-aws-and-on-prem/orka-on-aws-getting-started.mdx#L363

Did you really mean 'promtail'?
Orka VM Logs | Mac EC2 Node | Via promtail: `/Users/administrator/.local/state/virtual-kubelet/vm-logs/*` | Logs pertaining to the lifecycle of a specific VM

Check warning on line 364 in orka/orka-on-aws-and-on-prem/orka-on-aws-getting-started.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-on-aws-and-on-prem/orka-on-aws-getting-started.mdx#L364

Did you really mean 'promtail'?
Pod Logs | EKS | Kubernetes Client, Kubernetes Dashboard, Helm Chart further exposing logs to a secondary service | All Kubernetes-level behavior

#### Key Metrics
Expand All @@ -385,4 +381,4 @@
macOS 15 Sequoia guest OSes (VMs) will not work out of the box on AWS EC2 Mac. This is due to the newly required Apple ID guest functionality in Sequoia guest OS images which requires the host user that starts the VM to have a login keychain, even if they do not intend to use the Apple ID guest functionality. This is discussed in the [Apple Virtualization documentation](https://developer.apple.com/documentation/virtualization/using-icloud-with-macos-virtual-machines). Unfortunately, Marketplace security requirements do not allow the setup of any credentials on the host OS. As a result we have two options for macOS 15 support:

1. After setting up your EC2 Mac, you will need to set up a login keychain on the host OS before running the Sequoia OS Orka VM image.
2. MacStadium will supply a Sequoia OCI image that is upgraded from a Sonoma image rather than created from a Sequoia IPSW on Sequoia host. This will run without the Apple ID functionality in guest.

Check warning on line 384 in orka/orka-on-aws-and-on-prem/orka-on-aws-getting-started.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-on-aws-and-on-prem/orka-on-aws-getting-started.mdx#L384

Use 'macstadium' instead of 'MacStadium'.
10 changes: 2 additions & 8 deletions orka/orka-on-aws-and-on-prem/orka-on-prem-getting-started.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
zendesk_id: 39570839057819
---

With Orka On-Prem, you can now effortlessly integrate macOS development and macOS CI/CD into your On-Prem Mac Compute and Kubernetes-based workflows and environments. Don't have Kubernetes experience on-prem? Don't worry, MacStadium can configure a Hybrid Cluster using any Managed k8s Service like AWS Elastic Kubernetes Service, Google Kubernetes Engine, Azure Kubernetes Service, or using MacStadium hosted Kubernetes.

Check warning on line 7 in orka/orka-on-aws-and-on-prem/orka-on-prem-getting-started.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-on-aws-and-on-prem/orka-on-prem-getting-started.mdx#L7

Use 'macstadium' instead of 'MacStadium'.

Check warning on line 7 in orka/orka-on-aws-and-on-prem/orka-on-prem-getting-started.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-on-aws-and-on-prem/orka-on-prem-getting-started.mdx#L7

Use 'macstadium' instead of 'MacStadium'.

# How does Orka On-Prem work?

Expand All @@ -12,14 +12,14 @@

![Orka On-Prem architecture diagram showing Kubernetes, Mac nodes, and OCI registry](/images/attachments/44003753966363.png)

The Kubernetes 1.35 Cluster provides a runtime for the Orka Cluster Services. The Mac hosts are set up with Orka Engine (VM Runtime), which provides a stable runtime for virtual machines. VMs are deployed to the host using an OCI image, which can be fetched from any OCI registry, such as Artifactory, GitHub Container Repo (GHCR), or Amazon ECR. The use of OCI images enables sub-minute deployment of different macOS versions, pre-configured with various tools and optionally with SIP (System Integrity Protection) disabled. This addresses challenges that typically exist on Mac without Orka VMs. CI tools will integrate via the Orka API installed into Kubernetes, or the CLI or API it exposes to orchestrate workloads, including spin-up and tear-down of VMs, and scheduled caching of images as needed.

Check warning on line 15 in orka/orka-on-aws-and-on-prem/orka-on-prem-getting-started.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-on-aws-and-on-prem/orka-on-prem-getting-started.mdx#L15

Did you really mean 'Artifactory'?

Check warning on line 15 in orka/orka-on-aws-and-on-prem/orka-on-prem-getting-started.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-on-aws-and-on-prem/orka-on-prem-getting-started.mdx#L15

Use 'repo' instead of 'Repo'.

Key elements in the architecture include:

* A private network configuration for Orka.
* A dedicated Kubernetes 1.35 cluster, which runs Orka Cluster Services for orchestration and automation.
* Mac Nodes to be used for compute, usually on-prem.
* An OCI Registry such as Artifactory, GitHub Container Registry, Docker Registry, AWS ECR, or others..

Check warning on line 22 in orka/orka-on-aws-and-on-prem/orka-on-prem-getting-started.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-on-aws-and-on-prem/orka-on-prem-getting-started.mdx#L22

Did you really mean 'Artifactory'?
* A load balancer for Orka Users to interact with the Orka Services on Kubernetes via CLI, API, or CI tools.


Expand All @@ -30,7 +30,7 @@

You might experience issues if your Orka VMs need to access services that are in a network that overlaps with their virtual network.

For the Apple silicon nodes, the following ports should be open to all networks that need access to the VMs: TCP 5900-6200 (Screenshare), TCP 5999-6299 (VNC), and TCP 8822-9122 (SSH). In general, we recommend allowing outbound requests uniformly for forward compatibility.

Check warning on line 33 in orka/orka-on-aws-and-on-prem/orka-on-prem-getting-started.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-on-aws-and-on-prem/orka-on-prem-getting-started.mdx#L33

Did you really mean 'Screenshare'?

> **NOTE**: SSH/Screen Share/VNC ports are globally tracked and allocated. The ranges given above are applicable to each Apple silicon node.

Expand All @@ -46,15 +46,15 @@

We recommend following the [official guidelines](https://kubernetes.io/docs/setup/) for setting up a Kubernetes cluster. The official recommended tool for setting up Kubernetes clusters is [kubeadm](https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/).

If you are familiar with Ansible, you could also use [Kubespray](https://kubespray.io/) to set up your cluster.

Check warning on line 49 in orka/orka-on-aws-and-on-prem/orka-on-prem-getting-started.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-on-aws-and-on-prem/orka-on-prem-getting-started.mdx#L49

Did you really mean 'Kubespray'?

If you do not have experience with Kubernetes, MacStadium can host and manage the Kubernetes cluster for you in our Data Centers, or you can use an AWS EKS service to run your Orka Cluster Services.

Check warning on line 51 in orka/orka-on-aws-and-on-prem/orka-on-prem-getting-started.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-on-aws-and-on-prem/orka-on-prem-getting-started.mdx#L51

Use 'macstadium' instead of 'MacStadium'.

The following assumes you are installing and managing your own Kubernetes cluster.

### Setting up OIDC for Authentication

Orka uses OIDC for user authentication. Make sure to configure the MacStadium OIDC provider in your Kubernetes cluster.

Check warning on line 57 in orka/orka-on-aws-and-on-prem/orka-on-prem-getting-started.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-on-aws-and-on-prem/orka-on-prem-getting-started.mdx#L57

Use 'macstadium' instead of 'MacStadium'.

This can be done by setting the following values for your Kubernetes API Server:

Expand All @@ -67,11 +67,11 @@
--oidc-username-prefix=-
'--oidc-groups-prefix=oidc:'
```
If you are using kubeadm to set up your cluster, you can pass these values as extra args to the apiServer property in the ClusterConfiguration resource:

Check warning on line 70 in orka/orka-on-aws-and-on-prem/orka-on-prem-getting-started.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-on-aws-and-on-prem/orka-on-prem-getting-started.mdx#L70

Did you really mean 'kubeadm'?

Check warning on line 70 in orka/orka-on-aws-and-on-prem/orka-on-prem-getting-started.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-on-aws-and-on-prem/orka-on-prem-getting-started.mdx#L70

Did you really mean 'args'?

Check warning on line 70 in orka/orka-on-aws-and-on-prem/orka-on-prem-getting-started.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-on-aws-and-on-prem/orka-on-prem-getting-started.mdx#L70

Did you really mean 'apiServer'?


```
apiVersion: kubeadm.k8s.io/v1beta3

Check warning on line 74 in orka/orka-on-aws-and-on-prem/orka-on-prem-getting-started.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-on-aws-and-on-prem/orka-on-prem-getting-started.mdx#L74

Did you really mean 'kubeadm'?
kind: ClusterConfiguration
...
apiServer:
Expand All @@ -84,27 +84,21 @@
oidc-groups-prefix: "oidc:"
...
```
Alternatively, you could also add these manually as ApiServer arguments by editing the ApiServer config file (usually /etc/kubernetes/manifests/kube-apiserver.yaml)

Check warning on line 87 in orka/orka-on-aws-and-on-prem/orka-on-prem-getting-started.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-on-aws-and-on-prem/orka-on-prem-getting-started.mdx#L87

Did you really mean 'config'?

Check warning on line 87 in orka/orka-on-aws-and-on-prem/orka-on-prem-getting-started.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-on-aws-and-on-prem/orka-on-prem-getting-started.mdx#L87

Use 'Kubernetes' instead of 'kubernetes'.

Check warning on line 87 in orka/orka-on-aws-and-on-prem/orka-on-prem-getting-started.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-on-aws-and-on-prem/orka-on-prem-getting-started.mdx#L87

Use 'YAML' instead of 'yaml'.

### Obtaining an Orka License Key

Orka Engine requires a valid license key to operate. To request a license key:
Your license key is included in your order confirmation from MacStadium. If you don't have it, log in to your customer portal at [macstadium.users.licensespring.com](https://macstadium.users.licensespring.com) or contact [support@macstadium.com](mailto:support@macstadium.com).

Check warning on line 91 in orka/orka-on-aws-and-on-prem/orka-on-prem-getting-started.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-on-aws-and-on-prem/orka-on-prem-getting-started.mdx#L91

Use 'macstadium' instead of 'MacStadium'.

1. Contact your MacStadium account representative

2. Provide your organization name, deployment details, and use case

3. Your account representative will submit your information to our licensing team for provisioning

4. Receive license key via email (Est. 24 hour turnaround time)
Add your license key to `cluster.yml` under `orka_engine_license_key` before running the installer (see below).

### Installing the Orka Cluster Services

MacStadium provides the Orka Cluster Services installer as a public container image on GitHub Container Registry (GHCR). You will need an environment with outbound internet access to pull the Ansible image, connectivity to the Kubernetes API, and cluster admin access.

Check warning on line 97 in orka/orka-on-aws-and-on-prem/orka-on-prem-getting-started.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-on-aws-and-on-prem/orka-on-prem-getting-started.mdx#L97

Use 'macstadium' instead of 'MacStadium'.

1. Ensure the Ansible runner is set up correctly:
1. The Ansible runner must have connectivity to the cluster API.
2. The Ansible runner must have Cluster Admin privileges to set up the cluster (i.e. a kube config with admin privileges)

Check warning on line 101 in orka/orka-on-aws-and-on-prem/orka-on-prem-getting-started.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-on-aws-and-on-prem/orka-on-prem-getting-started.mdx#L101

Did you really mean 'kube'?

Check warning on line 101 in orka/orka-on-aws-and-on-prem/orka-on-prem-getting-started.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-on-aws-and-on-prem/orka-on-prem-getting-started.mdx#L101

Did you really mean 'config'?

2. On the host create a file called `cluster.yml`. This file will contain Ansible variables needed for the Orka setup. Add the following content:

Expand Down Expand Up @@ -153,7 +147,7 @@

### Cluster Admin Access

By default, Orka's validator webhooks restrict certain operations (including deleting another user's VM) to cluster admins only. On AWS and on-prem deployments, cluster admin status must be explicitly configured. This differs from MacStadium-hosted clusters, where kubeadm automatically establishes the `kubeadm:cluster-admins` group.

Check warning on line 150 in orka/orka-on-aws-and-on-prem/orka-on-prem-getting-started.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-on-aws-and-on-prem/orka-on-prem-getting-started.mdx#L150

Did you really mean 'validator'?

Check warning on line 150 in orka/orka-on-aws-and-on-prem/orka-on-prem-getting-started.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-on-aws-and-on-prem/orka-on-prem-getting-started.mdx#L150

Use 'macstadium' instead of 'MacStadium'.

Check warning on line 150 in orka/orka-on-aws-and-on-prem/orka-on-prem-getting-started.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-on-aws-and-on-prem/orka-on-prem-getting-started.mdx#L150

Did you really mean 'kubeadm'?

The default admin group for AWS and on-prem is `orka:cluster-admins`. To use a different group, set the `cluster_admin_group` Ansible variable before running the installation playbook.

Expand All @@ -178,7 +172,7 @@

### Setup

MacStadium provides another Ansible playbook that allows you to configure your Mac nodes with the software needed to run these nodes as Kubernetes worker nodes.

Check warning on line 175 in orka/orka-on-aws-and-on-prem/orka-on-prem-getting-started.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-on-aws-and-on-prem/orka-on-prem-getting-started.mdx#L175

Use 'macstadium' instead of 'MacStadium'.

To set up the Mac Nodes:

Expand Down Expand Up @@ -214,14 +208,14 @@
```
ansible-playbook configure-arm.yml -i hosts --ask-become-pass
```
You will be asked for the ansible_user password. This is needed so that Ansible can set up autologin for the hosts. This is needed so you can run Sequoia VMs.

Check warning on line 211 in orka/orka-on-aws-and-on-prem/orka-on-prem-getting-started.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-on-aws-and-on-prem/orka-on-prem-getting-started.mdx#L211

Did you really mean 'ansible_user'?

Check warning on line 211 in orka/orka-on-aws-and-on-prem/orka-on-prem-getting-started.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-on-aws-and-on-prem/orka-on-prem-getting-started.mdx#L211

Did you really mean 'autologin'?

## Setting Up Backups

Orka backups are exports of the Orka specific resources within the cluster:

1. Orka Nodes
2. Virtualmachine configs

Check warning on line 218 in orka/orka-on-aws-and-on-prem/orka-on-prem-getting-started.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-on-aws-and-on-prem/orka-on-prem-getting-started.mdx#L218

Did you really mean 'Virtualmachine'?

Check warning on line 218 in orka/orka-on-aws-and-on-prem/orka-on-prem-getting-started.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-on-aws-and-on-prem/orka-on-prem-getting-started.mdx#L218

Did you really mean 'configs'?
3. Service Accounts
4. RoleBindings

Expand All @@ -234,18 +228,18 @@
2. You define where the backups are stored
2. Use the functionality provided by MacStadium
1. MacStadium provides an Ansible playbook that:
2. Sets up a cronjob that runs every 30 min by default

Check warning on line 231 in orka/orka-on-aws-and-on-prem/orka-on-prem-getting-started.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-on-aws-and-on-prem/orka-on-prem-getting-started.mdx#L231

Did you really mean 'cronjob'?
3. The cronjob exports the resources mentioned above by default

Check warning on line 232 in orka/orka-on-aws-and-on-prem/orka-on-prem-getting-started.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-on-aws-and-on-prem/orka-on-prem-getting-started.mdx#L232

Did you really mean 'cronjob'?
4. The job stores the backups in an S3 bucket that you have specified



### Using The MacStadium Provided Backup

Check warning on line 237 in orka/orka-on-aws-and-on-prem/orka-on-prem-getting-started.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-on-aws-and-on-prem/orka-on-prem-getting-started.mdx#L237

Use 'macstadium' instead of 'MacStadium'.

To use the MacStadium provided functionality you need to:

Check warning on line 239 in orka/orka-on-aws-and-on-prem/orka-on-prem-getting-started.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-on-aws-and-on-prem/orka-on-prem-getting-started.mdx#L239

Use 'macstadium' instead of 'MacStadium'.

1. Create an AWS S3 bucket and generate AWS access id and secret access key that provide permissions to write to the bucket
2. Run the Ansible image provided by MacStadium and mount a backup.yml file with the following content

Check warning on line 242 in orka/orka-on-aws-and-on-prem/orka-on-prem-getting-started.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-on-aws-and-on-prem/orka-on-prem-getting-started.mdx#L242

Use 'macstadium' instead of 'MacStadium'.

```
aws_access_key_id_backup: # The creds that allow access to the S3 bucket
Expand All @@ -266,11 +260,11 @@
```
### Implementing Your Own Backup

The recommended way to backup Orka resources is via a CronJob, similar to what MacStadium provides out of the box.

Check warning on line 263 in orka/orka-on-aws-and-on-prem/orka-on-prem-getting-started.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-on-aws-and-on-prem/orka-on-prem-getting-started.mdx#L263

Use 'macstadium' instead of 'MacStadium'.

The resources you need to backup are:

1. All namespaces with the label orka.macstadium.com/namespace

Check warning on line 267 in orka/orka-on-aws-and-on-prem/orka-on-prem-getting-started.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-on-aws-and-on-prem/orka-on-prem-getting-started.mdx#L267

Use 'Orka' instead of 'orka'.

```
kubectl get namespaces -l orka.macstadium.com/namespace=true -o yaml \
Expand All @@ -278,20 +272,20 @@
```
Note - we are removing some metadata as otherwise restore would fail.

2. OrkaNodes, VirtualMachineConfigs, ServiceAccounts, Rolebindings from these namespaces

Check warning on line 275 in orka/orka-on-aws-and-on-prem/orka-on-prem-getting-started.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-on-aws-and-on-prem/orka-on-prem-getting-started.mdx#L275

Did you really mean 'Rolebindings'?
Note - you need to remove some metadata from these resources. To do that, run the following:

```
kubectl get "$resource" -n "$namespace" -o yaml \
yq eval 'del(.items[].metadata.resourceVersion, .items[].metadata.uid, .items[].metadata.creationTimestamp, .items[].metadata.selfLink, .items[].metadata.managedFields, .items[].metadata.ownerReferences, .items[].metadata.generation, .items[].status)'
```
These resources can be stored in an yml file, which you can archive and store somewhere.

Check warning on line 282 in orka/orka-on-aws-and-on-prem/orka-on-prem-getting-started.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-on-aws-and-on-prem/orka-on-prem-getting-started.mdx#L282

Did you really mean 'yml'?

# Logging, Monitoring, and Alerting

## OpenTelemetry Standards

Logging and monitoring conform to OpenTelemetry best practices, meaning that metrics can be scraped from the appropriate resources via Prometheus and visualized with Grafana using Prometheus as a data source.

Check warning on line 288 in orka/orka-on-aws-and-on-prem/orka-on-prem-getting-started.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-on-aws-and-on-prem/orka-on-prem-getting-started.mdx#L288

Did you really mean 'Grafana'?

Logs can be exposed on Mac workers installing a `promtail` service, allowing them to be aggregated through Loki.

Expand All @@ -299,16 +293,16 @@

| What | Resource | Accessing | Purpose |
| --- | --- | --- | --- |
| Virtual Kubelet Logs | Mac Node | Via promtail: `/usr/local/virtual-kubelet/vk.log` | Interactions between k8s and worker node for managing virtualization. |

Check warning on line 296 in orka/orka-on-aws-and-on-prem/orka-on-prem-getting-started.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-on-aws-and-on-prem/orka-on-prem-getting-started.mdx#L296

Did you really mean 'Kubelet'?

Check warning on line 296 in orka/orka-on-aws-and-on-prem/orka-on-prem-getting-started.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-on-aws-and-on-prem/orka-on-prem-getting-started.mdx#L296

Did you really mean 'promtail'?
| Orka VM Logs | Mac Node | Via promtail: `/Users/administrator/.local/state/virtual-kubelet/vm-logs/*` | Logs pertaining to the lifecycle of a specific VM |

Check warning on line 297 in orka/orka-on-aws-and-on-prem/orka-on-prem-getting-started.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-on-aws-and-on-prem/orka-on-prem-getting-started.mdx#L297

Did you really mean 'promtail'?
| Pod Logs | k8s | Kubernetes Client, Kubernetes Dashboard, Helm Chart further exposing logs to a secondary service | All Kubernetes-level behavior |

#### Orka v3.4+ Log Sources

| What | Resource | Accessing | Purpose |
| --- | --- | --- | --- |
| Virtual Kubelet Logs | Mac Node | Via promtail: `/var/log/virtual-kubelet/vk.log` | Interactions between k8s and worker node for managing virtualization. |

Check warning on line 304 in orka/orka-on-aws-and-on-prem/orka-on-prem-getting-started.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-on-aws-and-on-prem/orka-on-prem-getting-started.mdx#L304

Did you really mean 'Kubelet'?

Check warning on line 304 in orka/orka-on-aws-and-on-prem/orka-on-prem-getting-started.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-on-aws-and-on-prem/orka-on-prem-getting-started.mdx#L304

Did you really mean 'promtail'?
| Orka VM Logs | Mac Node | Via promtail: `/opt/orka/logs/vm/` | Logs pertaining to the lifecycle of a specific VM |

Check warning on line 305 in orka/orka-on-aws-and-on-prem/orka-on-prem-getting-started.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

orka/orka-on-aws-and-on-prem/orka-on-prem-getting-started.mdx#L305

Did you really mean 'promtail'?
| Orka Engine Logs | Engine Node | `/opt/orka/logs/com.macstadium.orka-engine.server.managed.log` | Logs pertaining to Orka Engine |
| Pod Logs | k8s | Kubernetes Client, Kubernetes Dashboard, Helm Chart further exposing logs to a secondary service | All Kubernetes-level behavior |

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: "VDI deployment guide for MacStadium"

Check warning on line 2 in remote-desktop-vdi/macstadium-vdi-deployment/deployment-guide.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

remote-desktop-vdi/macstadium-vdi-deployment/deployment-guide.mdx#L2

Use 'macstadium' instead of 'MacStadium'.
description: "Deploy the Orka-Engine-Orchestration control plane for managing virtual desktops. Runs in a dedicated VM and connects to physical Mac hosts running Orka Engine."
zendesk_id: 44259626250267
---
Expand Down Expand Up @@ -32,7 +32,7 @@
- 10GB Ethernet
- macOS 14 (Sonoma), 15 (Sequoia), or 26 (Tahoe)

An Orka Engine license key and installer URL (contact your MacStadium account representative)
An Orka Engine license key (included in your order confirmation from MacStadium — if you don't have it, log in to your customer portal at [macstadium.users.licensespring.com](https://macstadium.users.licensespring.com) or contact [support@macstadium.com](mailto:support@macstadium.com))

Check warning on line 35 in remote-desktop-vdi/macstadium-vdi-deployment/deployment-guide.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

remote-desktop-vdi/macstadium-vdi-deployment/deployment-guide.mdx#L35

Use 'macstadium' instead of 'MacStadium'.
An administrator account on each machine
Network connectivity between the controller and all Mac hosts

Expand All @@ -47,7 +47,7 @@
To configure manually:

1. Open System Settings then Network, then select your interface (Ethernet or Wi-Fi).
2. Set IP Address, Subnet Mask, Router, and DNS Servers from your management VLAN.

Check warning on line 50 in remote-desktop-vdi/macstadium-vdi-deployment/deployment-guide.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

remote-desktop-vdi/macstadium-vdi-deployment/deployment-guide.mdx#L50

Did you really mean 'Subnet'?
3. Apply settings and verify connectivity.

To use a DHCP reservation:
Expand All @@ -60,7 +60,7 @@

| Field | Example |
| ----------------- | ----------------- |
| Hostname | mac-node-1 |

Check warning on line 63 in remote-desktop-vdi/macstadium-vdi-deployment/deployment-guide.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

remote-desktop-vdi/macstadium-vdi-deployment/deployment-guide.mdx#L63

Did you really mean 'Hostname'?
| IP address | 10.0.100.10 |
| MAC address | a1:b2:c3:d4:e5:f6 |
| Hardware model | Mac mini M4 |
Expand All @@ -68,14 +68,14 @@

### Firewall Requirements (Citrix DaaS)

If deploying MacStadium VDI with Citrix DaaS, ensure the following traffic is permitted:

Check warning on line 71 in remote-desktop-vdi/macstadium-vdi-deployment/deployment-guide.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

remote-desktop-vdi/macstadium-vdi-deployment/deployment-guide.mdx#L71

Use 'macstadium' instead of 'MacStadium'.

Outbound from VMs (TCP 443):

- `[customer_ID].xendesktop.net` - Citrix DaaS controller
- `*.*.nssvc.net` - Citrix Gateway Service
- `*.citrixworkspacesapi.net` - Gateway connectivity checks
- On-premises delivery controller FQDNs (for CVAD deployments)

Check warning on line 78 in remote-desktop-vdi/macstadium-vdi-deployment/deployment-guide.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

remote-desktop-vdi/macstadium-vdi-deployment/deployment-guide.mdx#L78

Did you really mean 'FQDNs'?
- If Citrix Rendezvous is enabled, also allow outbound TCP/UDP 443 to _._.nssvc.net.

Inbound to VMs:
Expand All @@ -86,10 +86,10 @@

Run the steps in this section on the designated Ansible controller machine.

### 1.1  Set the Hostname

Check warning on line 89 in remote-desktop-vdi/macstadium-vdi-deployment/deployment-guide.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

remote-desktop-vdi/macstadium-vdi-deployment/deployment-guide.mdx#L89

Did you really mean 'Hostname'?

**Run on: Controller**
Set a consistent hostname before configuring anything else. This ensures that your VDI tools are able to label the host devices accordingly. Replace example-controller with your chosen name.

Check warning on line 92 in remote-desktop-vdi/macstadium-vdi-deployment/deployment-guide.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

remote-desktop-vdi/macstadium-vdi-deployment/deployment-guide.mdx#L92

Did you really mean 'hostname'?

```
sudo scutil --set ComputerName "example-controller"
Expand All @@ -113,7 +113,7 @@

**Run on: Controller**

Modern versions of macOS protect against installing python packages system-wide. Install Ansible through pipx in a virtual environment so it is isolated from system Python packages.

Check warning on line 116 in remote-desktop-vdi/macstadium-vdi-deployment/deployment-guide.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

remote-desktop-vdi/macstadium-vdi-deployment/deployment-guide.mdx#L116

Did you really mean 'pipx'?

```
brew install pipx
Expand All @@ -121,17 +121,17 @@
pipx install ansible==11.4.0
```

**Note:** Optionally install sshpass if you prefer password-based authentication instead of key exchange: brew tap esolitos/ipa && brew install esolitos/ipa/sshpass

Check warning on line 124 in remote-desktop-vdi/macstadium-vdi-deployment/deployment-guide.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

remote-desktop-vdi/macstadium-vdi-deployment/deployment-guide.mdx#L124

Did you really mean 'sshpass'?

## 2.  Host Setup

Run the steps in this section on each physical Mac host. Repeat for every host in your fleet.

### 2.1  Set the Hostname

Check warning on line 130 in remote-desktop-vdi/macstadium-vdi-deployment/deployment-guide.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

remote-desktop-vdi/macstadium-vdi-deployment/deployment-guide.mdx#L130

Did you really mean 'Hostname'?

**Run on: Host(s)**

Replace example-host0 with the appropriate hostname for each machine. Use a short name (no dots) for HostName.

Check warning on line 134 in remote-desktop-vdi/macstadium-vdi-deployment/deployment-guide.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

remote-desktop-vdi/macstadium-vdi-deployment/deployment-guide.mdx#L134

Did you really mean 'hostname'?

```
sudo scutil --set ComputerName "example-host0"
Expand Down Expand Up @@ -178,7 +178,7 @@

**Run on: Controller**

Run ssh-copy-id once per host, substituting the correct IP address each time.

Check warning on line 181 in remote-desktop-vdi/macstadium-vdi-deployment/deployment-guide.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

remote-desktop-vdi/macstadium-vdi-deployment/deployment-guide.mdx#L181

Use 'SSH' instead of 'ssh'.

```
ssh-copy-id administrator@10.254.235.xx
Expand Down Expand Up @@ -255,12 +255,12 @@

Variable reference:

| max_vms_per_host | Maximum VMs allowed per host |

Check warning on line 258 in remote-desktop-vdi/macstadium-vdi-deployment/deployment-guide.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

remote-desktop-vdi/macstadium-vdi-deployment/deployment-guide.mdx#L258

Did you really mean 'max_vms_per_host'?
| ----------------- | ------------------------------------------------------------- |
| engine_binary | Path to the Orka Engine binary |

Check warning on line 260 in remote-desktop-vdi/macstadium-vdi-deployment/deployment-guide.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

remote-desktop-vdi/macstadium-vdi-deployment/deployment-guide.mdx#L260

Did you really mean 'engine_binary'?
| ansible_user | SSH username on each host |

Check warning on line 261 in remote-desktop-vdi/macstadium-vdi-deployment/deployment-guide.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

remote-desktop-vdi/macstadium-vdi-deployment/deployment-guide.mdx#L261

Did you really mean 'ansible_user'?
| vm_image | Default base image for VM deployments |

Check warning on line 262 in remote-desktop-vdi/macstadium-vdi-deployment/deployment-guide.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

remote-desktop-vdi/macstadium-vdi-deployment/deployment-guide.mdx#L262

Did you really mean 'vm_image'?
| network_interface | (Optional) Network interface for bridged networking, e.g. en0 |

Check warning on line 263 in remote-desktop-vdi/macstadium-vdi-deployment/deployment-guide.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

remote-desktop-vdi/macstadium-vdi-deployment/deployment-guide.mdx#L263

Did you really mean 'network_interface'?

## 5.  Install Orka Engine

Expand All @@ -274,7 +274,7 @@
ansible-playbook install_engine.yml -i inventory -e "orka_license_key=YOUR-LICENSE-KEY" -e "engine_url=https://distribution.macstadium.com/orka-engine/official/3.5.2/orka-engine.pkg"
```

**Note:** Obtain your license key and installer URL from your MacStadium account representative.
**Note:** Your license key is included in your order confirmation from MacStadium. If you don't have it, log in to your customer portal at [macstadium.users.licensespring.com](https://macstadium.users.licensespring.com) or contact [support@macstadium.com](mailto:support@macstadium.com). The installer URL is already included in the command above.

Check warning on line 277 in remote-desktop-vdi/macstadium-vdi-deployment/deployment-guide.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

remote-desktop-vdi/macstadium-vdi-deployment/deployment-guide.mdx#L277

Use 'macstadium' instead of 'MacStadium'.

### 5.1  Verify the Installation

Expand All @@ -289,7 +289,7 @@

**Run on: Controller**

Add the install_engine_force flag to reinstall or upgrade to a newer version:

Check warning on line 292 in remote-desktop-vdi/macstadium-vdi-deployment/deployment-guide.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

remote-desktop-vdi/macstadium-vdi-deployment/deployment-guide.mdx#L292

Did you really mean 'install_engine_force'?

```
ansible-playbook install_engine.yml -i inventory -e "orka_license_key=YOUR-LICENSE-KEY" -e "engine_url=https://distribution.macstadium.com/orka-engine/official/3.5.2/orka-engine.pkg" -e "install_engine_force=true"
Expand All @@ -297,7 +297,7 @@

## 6.  Deploy and Manage VMs

All playbook commands are run from the controller inside ~/orka-automation/orka-engine-orchestration.

Check warning on line 300 in remote-desktop-vdi/macstadium-vdi-deployment/deployment-guide.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

remote-desktop-vdi/macstadium-vdi-deployment/deployment-guide.mdx#L300

Use 'Orka' instead of 'orka'.

Check warning on line 300 in remote-desktop-vdi/macstadium-vdi-deployment/deployment-guide.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

remote-desktop-vdi/macstadium-vdi-deployment/deployment-guide.mdx#L300

Use 'Orka' instead of 'orka'.

### 6.1  Deploy VMs

Expand All @@ -317,7 +317,7 @@

_Run this command once for each additional VM, using a unique `vm_name` each time._

**Note:** When network_interface is not specified, VMs deploy in NAT mode. Bridged mode is recommended for VDI because VMs are directly reachable by Citrix Cloud and end users without port forwarding.

Check warning on line 320 in remote-desktop-vdi/macstadium-vdi-deployment/deployment-guide.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

remote-desktop-vdi/macstadium-vdi-deployment/deployment-guide.mdx#L320

Did you really mean 'network_interface'?

To preview what will be deployed without making any changes, add `--tags plan`:

Expand All @@ -337,7 +337,7 @@

**Run on: Controller**

Start, stop, or delete a specific VM by name. Valid values for desired_state are running, stopped, and absent.

Check warning on line 340 in remote-desktop-vdi/macstadium-vdi-deployment/deployment-guide.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

remote-desktop-vdi/macstadium-vdi-deployment/deployment-guide.mdx#L340

Did you really mean 'desired_state'?

```
ansible-playbook vm.yml -i inventory -e "vm_name=my-vm-name" -e "desired_state=running"
Expand Down Expand Up @@ -367,7 +367,7 @@

## 7.  Semaphore Web UI

Semaphore provides a browser-based interface for running orchestration playbooks. It is the primary way IT administrators interact with MacStadium VDI. The CLI is available for troubleshooting and advanced or custom workflows. All task templates, inventory, and repository configuration are set up automatically on first launch.

Check warning on line 370 in remote-desktop-vdi/macstadium-vdi-deployment/deployment-guide.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

remote-desktop-vdi/macstadium-vdi-deployment/deployment-guide.mdx#L370

Use 'macstadium' instead of 'MacStadium'.

### 7.1  Install Prerequisites

Expand Down Expand Up @@ -471,7 +471,7 @@
| Android: Install SDK Components | `sdkmanager_install.yml` | `platform`, `image_types` (optional) |
| Android: Uninstall SDK Components | `sdkmanager_uninstall.yml` | `platform` |
| Android: Deploy AVD | `deploy_avd.yml` | `vm_name`, `platform` (optional), `image_type` (optional) |
| Android: List AVDs | `list_avds.yml` | `vm_name` (optional) |

Check warning on line 474 in remote-desktop-vdi/macstadium-vdi-deployment/deployment-guide.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

remote-desktop-vdi/macstadium-vdi-deployment/deployment-guide.mdx#L474

Did you really mean 'AVDs'?
| Android: Delete AVD | `delete_avd.yml` | `vm_name`, `avd_index` |
| Android: Manage AVD | `avd.yml` | `vm_name`, `desired_state` (`running`, `stopped`, `absent`), `avd_index` (optional), `cpu` (optional), `memory` (optional) |
| Citrix: Install Citrix VDA | `install_citrix_vda.yml` | `vm_name` |
Expand All @@ -493,9 +493,9 @@

## 8.  Image Management

### 8.1  Using MacStadium Public Images

Check warning on line 496 in remote-desktop-vdi/macstadium-vdi-deployment/deployment-guide.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

remote-desktop-vdi/macstadium-vdi-deployment/deployment-guide.mdx#L496

Use 'macstadium' instead of 'MacStadium'.

MacStadium maintains public base images through GitHub Container Registry. No authentication is required. Reference them by OCI path: `ghcr.io/macstadium/orka-images/[os-version]:latest`

Check warning on line 498 in remote-desktop-vdi/macstadium-vdi-deployment/deployment-guide.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

remote-desktop-vdi/macstadium-vdi-deployment/deployment-guide.mdx#L498

Use 'macstadium' instead of 'MacStadium'.

Check warning on line 498 in remote-desktop-vdi/macstadium-vdi-deployment/deployment-guide.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

remote-desktop-vdi/macstadium-vdi-deployment/deployment-guide.mdx#L498

Use 'Orka' instead of 'orka'.

Available images include Tahoe, Sequoia, Ventura, and Sonoma. Use the image name matching your target macOS version.

Expand Down Expand Up @@ -523,7 +523,7 @@

### 8.4  Private Registry Naming

If using a self-hosted registry (Harbor, Docker Registry, JFrog Artifactory), use a consistent naming convention:

Check warning on line 526 in remote-desktop-vdi/macstadium-vdi-deployment/deployment-guide.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

remote-desktop-vdi/macstadium-vdi-deployment/deployment-guide.mdx#L526

Did you really mean 'JFrog'?

Check warning on line 526 in remote-desktop-vdi/macstadium-vdi-deployment/deployment-guide.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

remote-desktop-vdi/macstadium-vdi-deployment/deployment-guide.mdx#L526

Did you really mean 'Artifactory'?

`registry.example.com/orka/citrix-vda/sequoia-finance:v1.0`
`registry.example.com/orka/citrix-vda/sequoia-engineering:v2.1`
Expand All @@ -544,11 +544,11 @@

**Note:** The following remote host CLI commands are for advanced troubleshooting and diagnostics. It is recommended to use the Ansible playbooks or Semaphore UI when available.

| MacStadium Support | [support@macstadium.com](mailto:support@macstadium.com) |

Check warning on line 547 in remote-desktop-vdi/macstadium-vdi-deployment/deployment-guide.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

remote-desktop-vdi/macstadium-vdi-deployment/deployment-guide.mdx#L547

Use 'macstadium' instead of 'MacStadium'.
| ------------------------------ | ---------------------------------------------------------------------------------------------- |
| orka-engine-orchestration repo | [orka-engine-orchestration on GitHub](https://github.com/macstadium/orka-engine-orchestration) |

Check warning on line 549 in remote-desktop-vdi/macstadium-vdi-deployment/deployment-guide.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

remote-desktop-vdi/macstadium-vdi-deployment/deployment-guide.mdx#L549

Use 'Orka' instead of 'orka'.

Check warning on line 549 in remote-desktop-vdi/macstadium-vdi-deployment/deployment-guide.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

remote-desktop-vdi/macstadium-vdi-deployment/deployment-guide.mdx#L549

Use 'Orka' instead of 'orka'.
| Orka Engine CLI help | orka-engine --help |

Check warning on line 550 in remote-desktop-vdi/macstadium-vdi-deployment/deployment-guide.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

remote-desktop-vdi/macstadium-vdi-deployment/deployment-guide.mdx#L550

Use 'Orka' instead of 'orka'.
| VM commands | orka-engine vm --help |

Check warning on line 551 in remote-desktop-vdi/macstadium-vdi-deployment/deployment-guide.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

remote-desktop-vdi/macstadium-vdi-deployment/deployment-guide.mdx#L551

Use 'Orka' instead of 'orka'.

Check warning on line 551 in remote-desktop-vdi/macstadium-vdi-deployment/deployment-guide.mdx

View check run for this annotation

Mintlify / Mintlify Validation (macstadiuminc) - vale-spellcheck

remote-desktop-vdi/macstadium-vdi-deployment/deployment-guide.mdx#L551

Use 'VM' instead of 'vm'.
| Image commands | orka-engine image --help |
| Ansible docs | [Ansible documentation](https://docs.ansible.com) |
| Citrix VDA for macOS | [Citrix documentation](https://docs.citrix.com) |