Artem Chernyshev ada0360837
feat: add a way to sync Kubernetes manifests in Omni
Manifests support two modes:
- `FULL` - Omni will keep the manifest in sync always.
- `ONE_TIME` - Omni will apply the manifest only if it doesn't exist. If the manifest is removed by hand and then changed in Omni it will be applied too.

Manifests are applied using service side apply, Omni now has three inventories: `omni-internal-inventory`, `omni-user-inventory` and `omny-sync-one-time`:

- User inventory will be used for user managed manifests.
- Internal one will be used for the manifests which are created by Omni controllers (workloadproxy, advanced healtcheck service).
- One time inventory is used with NoPrune enabled. If the manifest is
  applied it's just removed from the list of applied manifests: that
  ensures that manifests changes are not going happen.

Manifests also support setting namespace to all namespaced resources. It might be useful for the huge manifest files which are supplied without the namespace (similar to `kubectl apply -n namespace -f manifest.yaml`).

Signed-off-by: Artem Chernyshev <artem.chernyshev@talos-systems.com>
2026-03-23 15:29:49 +03:00
..
2026-01-21 15:30:49 +01:00
2026-01-21 15:30:49 +01:00