# XnodeOS

{% hint style="info" %}
View the [XnodeOS Github Repo](https://github.com/Openmesh-Network/XnodeOS)
{% endhint %}

XnodeOS is an operating system derived from work done by the NixOS project but specialized for certain usecases such as web3 nodes and data infrastructure. The operating system is built for several deployment methods including iPXE netboot, ISO and kexec to make it compatible with as many cloud providers as possible, since each can differ in their API capabilities.&#x20;

Whilst currently in very early stages, this operating system gives openmesh a platform to build it's infrastructure technology on very few dependencies which minimises overhead and upstream dependencies. Being nix-based, deployments are also highly stable and reproducible.

## Next features to be added

Currently, the Studio API system enables direct JSON responses to be received by Xnodes for them to convert into nix code and reconfigure themselves, however this system lacks several important features such as version control, rollbacks, CI/CD tests, etc.&#x20;

Reconfiguration on Xnode will be expanded to support a git-based configuration where the Xnode Studio will directly apply git commits to a repository from the browser, using isomorphic git. This system would enable the previously mentioned features to be built and makes it easier to fully self-host the infrastructure to manage Xnode.&#x20;

Scalability: If there are a huge number of Xnodes being reconfigured through this infrastructure then PowerDNS can be employed to notify Xnodes through a TXT record when they have a new configuration to pull. This event-based solution would reduce the strain of constant querying (by a search interval) from many Xnodes to the configuration infrastructure.

Reliability / Stability: By enabling reconfiguration infrastructure to be self-hosted by anybody, there can be more than one provider for git hosting, enabling users to avoid relying on a centralized entity.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.openmesh.network/products/xnode/xnodeos.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
