We had an issue with bare metal provider where two different schematic IDs would fight each other, causing machine to get installed with a wrong schematic ID, only to be upgraded to the correct one immediately, and in some cases, go into an upgrade loop between a correct and an incorrect schematic. The cause: Omni treated schematics it observed when the machine in agent mode dialed in, and stored the information it received (like kernel args and initial schematic info). This was wrong, as agent mode information essentially meaningless. Fix this by changing the simple check of "was the schematic info for machine X ever observed" to be "is the schematic info for machine X ready". The readiness check involves schematic being populated and machine not being in agent mode. This change caused `SchematicConfiguration` resource to not be generated before the machine leaves the agent mode, and caused a side effect: `InfraMachineController` would not receive Talos version from it and would not populate it on the `InfraMachine` resource. And this would cause BM provider to never get notified about the fact that the machine is allocated to a cluster, and would not power it on (to PXE boot it to "regular" Talos, for it to receive the "install" call to Omni). Change that controller to get the Talos version info directly from the Cluster resource. Signed-off-by: Utku Ozdemir <utku.ozdemir@siderolabs.com>
SaaS-simple deployment of Kubernetes - on your own hardware.
Omni manages Kubernetes on bare metal, virtual machines, or in a cloud. Built on Talos Linux by the folks at Sidero.
Boot from an Omni image. Click to allocate to a cluster. That’s it!
- Vanilla Kubernetes, on your machines, under your control.
- Elegant UI for management and operations
- Security taken care of—ties into your Enterprise ID provider
- Highly Available Kubernetes API endpoint built in
- Firewall friendly—manage edge nodes securely
- From single-node clusters to the largest scale
- Support for GPUs and most CSIs
Install
Omni is available via a Business Source License which allows free installations in non-production environments. If you would like to deploy Omni for production use please contact Sidero sales. If you would like to subscribe to the hosted version of Omni please see the SaaS pricing.
If you would like to self-host Omni for non-production workloads please follow the instructions in the documentation.
To deploy Omni on Kubernetes, see the Helm chart.
Development
For instructions on developing Omni, see DEVELOPMENT.md.
Community
- Support: Questions, bugs, feature requests GitHub Issues
- Slack: Join our slack channel. Request access via inviter.co.
- Twitter: @SideroLabs
- Email: info@SideroLabs.com
If you're interested in this project and would like to help in engineering efforts or have general usage questions, we are happy to have you! We hold a weekly meeting that all audiences are welcome to attend.
Office Hours
- When: Mondays at 16:30 UTC.
- Where: Google Meet.
You can subscribe to this meeting by joining the community forum above.
Note: You can convert the meeting hours to your local time.
Contributing
Contributions are welcomed and appreciated! See Contributing for our guidelines.
Licenses
The Omni code is released under a combination of two licenses:
- The main Omni Server code is licensed under Business Source License 1.1 (BSL-1.1).
- The Omni client library is licensed under Mozilla Public License 2.0 (MPL-2.0).
When contributing to an Omni feature, you can find the relevant license in the comments at the top of each file.
