1
0
mirror of https://github.com/siderolabs/omni.git synced 2026-02-05 15:45:13 +01:00
Utku Ozdemir 0906bcc23c fix: prevent unwanted upgrades of non-image-factory machines
The schematic comparison logic had an edge case: if a machine predates the image factory, it is installed via a `ghcr.io` installer image (or a custom one). Those machines do not have the schematic meta extension on them, and Omni creates a synthetic schematic ID and properties for those. These properties do not have the "actual" kernel args of the machine, but rather, Omni sets them as what it thinks they should be (the "correct" siderolink args from the Omni perspective).

Later, if Omni gets its siderolink API advertised URL get updated, it wrongly detects those synthetic kernel args to be the "new ones (with the new URL)", hence, the desired vs actual schematic comparison returns a mismatch. And Omni does an unnecessary upgrade to that machine.

Fix this by using the "current (non-protected) args of the machine" as the synthetic args in such cases. Those "current" args will be synthetic themselves (since we cannot read them from the machine, as it does not have schematic info on it), but, it will prevent changes when the advertised URL changes.

Additionally, we have two checks to detect a schematic mismatch in the `ClusterMachineConfigStatus` controller - make them check the mismatch in the same way, to be more consistent.

Unrelated to this bug, also fix the `SchematicReady` check (introduced in 1.5) to treat invalid schematics as valid, as otherwise we cannot create clusters from non-factory images.

Signed-off-by: Utku Ozdemir <utku.ozdemir@siderolabs.com>
2026-02-05 13:56:49 +01:00
2026-01-30 14:09:27 +01:00
2026-01-30 14:09:27 +01:00
2024-05-23 20:34:11 +03:00
2026-01-30 14:09:27 +01:00
2024-07-01 21:08:34 +04:00
2026-01-30 14:09:27 +01:00
2024-02-29 17:19:57 +04:00
2025-09-26 15:52:08 +05:30
2026-01-21 15:34:00 +04:00
2026-01-30 14:09:27 +01:00
2026-02-02 22:35:14 +01:00
2026-02-02 22:35:14 +01:00
2026-01-16 11:15:02 +01:00
2026-01-30 14:09:27 +01:00
2026-01-30 14:09:27 +01:00

Omni screenshot

SaaS-simple deployment of Kubernetes - on your own hardware.

Release Pre-release


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. Thats 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

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

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:

When contributing to an Omni feature, you can find the relevant license in the comments at the top of each file.

Description
SaaS-simple deployment of Kubernetes - on your own hardware.
Readme 17 MiB
Languages
Go 73.8%
Vue 14.8%
TypeScript 9.1%
Dockerfile 0.6%
Shell 0.6%
Other 1.1%