Commit Graph
1682 Commits
Author SHA1 Message Date
Oliver BählerandGitHub f1b760a87a feat(rules): improve metadata enforcement and add ingress rules (#2050)
* feat: implement namespace metadata enforcement

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>

* feat: add ingress enforcment

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>

* feat: add ingress enforcment

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>

* feat: add ingress enforcment

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>

* feat: add ingress enforcment

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>

* feat: add ingress enforcment

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>

* feat: add ingress enforcment

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>

* feat: add ingress enforcment

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>

* feat: add ingress enforcment

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>

* feat: add ingress enforcment

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>

* feat: add ingress enforcment

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>

* feat: add ingress enforcment

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>

---------

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>
2026-07-22 22:24:54 +02:00
8c26b409a1 chore(deps): update actions/checkout digest to 3d3c42e (#2043)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-21 17:00:19 +02:00
Oliver BählerandGitHub 99e05220ab feat: implement performance optimizations (#2045)
* feat: implement performance optimizations

---------

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>
2026-07-21 16:27:29 +02:00
Hristo HristovandGitHub 16bc2190ca ci: add fossa project.team name (#2047)
* ci: add fossa project.team name

Signed-off-by: Hristo Hristov <me@hhristov.info>

* ci: add fossa project.team name

Signed-off-by: Hristo Hristov <me@hhristov.info>

* ci: add fossa project.team name

Signed-off-by: Hristo Hristov <me@hhristov.info>

---------

Signed-off-by: Hristo Hristov <me@hhristov.info>
2026-07-21 15:04:31 +03:00
Hristo HristovandGitHub 1fadf5f7b9 ci: add fossa project.team name (#2046)
* ci: add fossa project.team name

Signed-off-by: Hristo Hristov <me@hhristov.info>

* ci: add fossa project.team name

Signed-off-by: Hristo Hristov <me@hhristov.info>

---------

Signed-off-by: Hristo Hristov <me@hhristov.info>
2026-07-21 14:14:01 +03:00
Hristo HristovandGitHub 0378ea279e test(e2e): skip failing specs on openshift (#2034)
Fix the OpenShift e2e bootstrap and skip the specs that still fail on
OpenShift/MicroShift:

- Drop the dev-setup-fluxcd prerequisite from dev-setup-cert-manager so
  the OpenShift path no longer re-applies the non-OpenShift flux
  manifests over the SCC-patched ones (which restored source-controller's
  fsGroup 1337, rejected by every OpenShift SCC and hanging the run).
- Label the remaining OpenShift-failing specs with skip-on-openshift so
  they are excluded by the e2e-openshift label filter.

Signed-off-by: Hristo Hristov <me@hhristov.info>
2026-07-20 14:44:15 +03:00
975d738509 chore(deps): update dependency goreleaser/goreleaser to v2.17.0 (#2040)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-20 13:04:54 +02:00
1790189d4e chore: revert dry-run admission tests (#2038)
* fix: allow administrator operations on tenant namespaces

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>

* fix: allow administrator operations on tenant namespaces

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>

* fix: allow administrator operations on tenant namespaces

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>

* fix: allow administrator operations on tenant namespaces

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* fix: revert dry-run

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>

* fix: revert dry-run

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>

* fix: revert dry-run

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>

* feat: implement namespace metadata enforcement

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>

---------

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-07-20 13:03:47 +02:00
Tom StockwellandGitHub abff646dab fix: Enforce namespace metadata validation for capsule users only (#2042)
Signed-off-by: Tom Stockwell <tstockwell@redhat.com>
2026-07-20 11:10:14 +02:00
8e99f7c155 chore(deps): update capsule-proxy docker tag to v0.13.9 (#2030)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-17 09:40:49 +02:00
ef9b95ea75 chore(deps): update all-ci-updates (#2035)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-17 09:40:24 +02:00
Oliver BählerandGitHub 15a848d844 fix: allow administrator operations on tenant namespaces (#2037)
fix: allow administrator operations on tenant namespaces 

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>
2026-07-17 09:38:32 +02:00
4829d40e7a chore(deps): update all-ci-updates (#2025)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-15 10:54:41 +02:00
f5bfb72723 fix(deps): update module google.golang.org/grpc to v1.82.0 (#2033)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-15 10:53:47 +02:00
Oliver BählerandGitHub 9ee5468f47 feat: add rolebindings to rules api (#2032)
* feat: add rolebindings to rules api

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>

* feat: add rolebindings to rules api

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>

* feat: add rolebindings to rules api

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>

* feat: add rolebindings to rules api

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>

* feat: add rolebindings to rules api

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>

* feat: implement review

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>

---------

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>
2026-07-15 10:35:36 +02:00
Oliver BählerandGitHub 30e4f9d3e8 feat: add managed-by labels to emitted events (#2028)
* feat: add managed-by labels to emitted events

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>

* feat: add managed-by labels to emitted events

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>

---------

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>
2026-07-15 09:29:51 +02:00
a2d314d15f chore(deps): update dependency anchore/syft to v1.46.0 (#2018)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-14 12:17:15 +02:00
12d5b161fa chore(deps): update dependency google/ko to v0.19.1 (#2026)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-14 12:16:33 +02:00
509516e6dc fix(deps): update module k8s.io/klog/v2 to v2.140.0 (#2016)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-13 07:38:09 +02:00
10bd9a1958 chore(deps): update all-ci-updates (#2017)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-13 07:37:39 +02:00
a5cc581218 chore(deps): update dependency google/ko to v0.19.0 (#2019)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-13 07:14:16 +02:00
a14db27dbc fix(deps): update opentelemetry-go monorepo to v1.44.0 (#2011)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-10 06:52:25 +02:00
86f6fc0229 chore(deps): update all-ci-updates (#2013)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-10 06:51:50 +02:00
9ee3b18bed chore(deps): update dependency alessandrojcm/commitlint-pre-commit-hook to v9.26.0 (#2014)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-10 06:51:24 +02:00
boettluSICKAGandGitHub 388d9f3f38 fix(webhook): fix hostname validation logic (#2015)
Signed-off-by: Lukas Boettcher <lukas.boettcher@sick.de>
2026-07-10 06:50:35 +02:00
8ed873b2e0 chore(deps): update all-ci-updates (#2004)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-08 11:46:25 +02:00
dba27e8867 chore(deps): update actions/setup-go action to v6.5.0 (#2009)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-08 11:46:02 +02:00
Oliver BählerandGitHub c17e4fa812 feat: add leader-election tuning (#2008)
* feat: add leader-election tuning

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>

* feat: add leader-election tuning

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>

* feat: add tracing for admission

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>

* feat: add tracing for admission

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>

* add tenant

---------

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>
2026-07-08 11:44:43 +02:00
f7c5523613 chore(deps): update helm release argo-cd to v9.7.0 (#2007)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-07 01:12:56 +02:00
Oliver BählerandGitHub 8d521169ba fix: add cache timeout for rbac controller (#2006)
fix: add cache timeout for rbac controller (#2006)
v0.13.9
2026-07-06 19:09:52 +02:00
e44e02a36d chore(deps): update all-ci-updates (#2002)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-06 09:50:22 +02:00
4b07463705 fix: metric recorders for all conditionals (#1998)
* fix(controller): decode old object for delete requests

Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com>

* chore: modernize golang

Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com>

* chore: modernize golang

Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com>

* chore: modernize golang

Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com>

* fix: preserve ca-bundles injected from external providers

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>

* feat: add metadata enforcement

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>

* feat: add metadata enforcement

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>

* fix: add resourcepoolclaim validation

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>

* fix: add resourcepoolclaim validation

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>

* fix: add resourcepoolclaim validation

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* fix: add resourcepoolclaim validation

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>

* fix: wave of fixes

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>

* fix: wave of fixes

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>

* fix: wave of fixes

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>

* fix: wave of fixes

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>

* fix: wave of fixes

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>

* fix: wave of fixes

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>

---------

Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com>
Signed-off-by: Oliver Baehler <oliver@sudo-i.net>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
v0.13.8
2026-07-03 14:38:41 +02:00
Sander TervoertandGitHub 8e1cc910bd feat(globalcustomquota): add support for not-equals field selector (#1997)
Signed-off-by: sandert-k8s <sandert98@gmail.com>
2026-07-03 10:25:34 +02:00
4c14d7a532 chore(deps): update helm release kube-prometheus-stack to v86.3.1 (#1996)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-03 09:46:47 +02:00
2606c4c0ea chore(deps): update dependency prometheus-operator/prometheus-operator to v0.92.0 (#1993)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-03 09:46:29 +02:00
6a762e7899 feat: security measures and prometheusrules (#1995)
* fix(controller): decode old object for delete requests

Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com>

* chore: modernize golang

Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com>

* chore: modernize golang

Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com>

* chore: modernize golang

Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com>

* fix: preserve ca-bundles injected from external providers

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>

* feat: add metadata enforcement

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>

* feat: add metadata enforcement

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>

* fix: add resourcepoolclaim validation

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>

* fix: add resourcepoolclaim validation

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>

* fix: add resourcepoolclaim validation

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* fix: add resourcepoolclaim validation

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>

* feat: security measures and prometheusrules

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>

* feat: security measures and prometheusrules

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>

* feat: security measures and prometheusrules

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>

* feat: security measures and prometheusrules

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>

* feat: security measures and prometheusrules

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>

* feat: security measures and prometheusrules

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>

---------

Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com>
Signed-off-by: Oliver Baehler <oliver@sudo-i.net>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-07-03 08:21:09 +02:00
8526d84500 chore(deps): update capsule-proxy docker tag to v0.13.7 (#1994)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-02 16:14:43 +02:00
77d1810bb9 feat: add metadata enforcement (#1990)
* fix(controller): decode old object for delete requests

Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com>

* chore: modernize golang

Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com>

* chore: modernize golang

Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com>

* chore: modernize golang

Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com>

* fix: preserve ca-bundles injected from external providers

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>

* feat: add metadata enforcement

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>

* feat: add metadata enforcement

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>

* fix: add resourcepoolclaim validation

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>

* fix: add resourcepoolclaim validation

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>

* fix: add resourcepoolclaim validation

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* fix: add resourcepoolclaim validation

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>

---------

Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com>
Signed-off-by: Oliver Baehler <oliver@sudo-i.net>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-07-02 13:42:08 +02:00
6fbd472f27 fix(deps): update module sigs.k8s.io/cluster-api to v1.13.3 (#1988)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-02 07:52:15 +02:00
a63f0afb53 chore(deps): update all-ci-updates (#1984)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-02 07:27:23 +02:00
200d8a9d70 chore(deps): update azure/setup-helm digest to 9bc31f4 (#1979)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-02 07:24:38 +02:00
4ecaa4f811 chore(deps): update actions/checkout action to v7 (#1989)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-02 02:06:18 +02:00
45a428e55f chore(deps): update capsule-proxy docker tag to v0.13.6 (#1987)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-02 02:05:47 +02:00
Marc BruggerandGitHub 0c22ce882a feat: define interface for event recorder (#1985)
Signed-off-by: bakito <github@bakito.ch>
2026-06-30 11:48:18 +02:00
Oliver BählerandGitHub 8d89d6865d fix(sec): corrects validation for regex objects (hostname and forbidden (#1983)
* fix(controller): decode old object for delete requests

Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com>

* chore: modernize golang

Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com>

* chore: modernize golang

Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com>

* chore: modernize golang

Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com>

* fix: preserve ca-bundles injected from external providers

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>

* fix(sec): corrects validation for regex objects (hostname and forbidden metadata)

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>

---------

Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com>
Signed-off-by: Oliver Baehler <oliver@sudo-i.net>
v0.13.7
2026-06-24 11:33:34 +02:00
Oliver BählerandGitHub 755cef54bf feat(rules): add service enforcement rules (#1982)
* fix(controller): decode old object for delete requests

Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com>

* chore: modernize golang

Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com>

* chore: modernize golang

Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com>

* chore: modernize golang

Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com>

* fix: preserve ca-bundles injected from external providers

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>

* feat(rules): add service enforcement rules

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>

* feat(rules): add service enforcement rules

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>

* feat(rules): add service enforcement rules

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>

* feat(rules): add service enforcement rules

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>

* feat(rules): add service enforcement rules

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>

---------

Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com>
Signed-off-by: Oliver Baehler <oliver@sudo-i.net>
2026-06-24 11:20:23 +02:00
7669abf063 chore(deps): update all-ci-updates (#1974)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-24 06:47:04 +02:00
Cyril JouveandGitHub 4e9e529cfd fix(webhook): remove dead diff code block that panics on nil namespace metadata (#1976)
In userMetadataHandler.OnUpdate the per-request labels/annotations diff is computed twice. The inline block at the top clones oldNs metadata and diffs it against newNs, but its results are immediately shadowed by the `labels, annotations, err := userMetadataForValidation(...)` declaration in the `tnt.Spec.NamespaceOptions \!= nil` branch, which recomputes the same diff (via metadataForValidation) and is the only version actually passed to validateUserMetadata. The inline block is therefore dead code.

It is also a  panic: `maps.Clone(oldNs.GetAnnotations())` returns nil for a namespace with no annotations, and the following `annotations[key] = value` then panics with "assignment to entry in nil map" (same with labels).
This happens when using features like NamespaceOptions.AdditionalMetadataList on a namespace that had none.

The dead block and panic was introduced in a6927c5 (#1947).

Signed-off-by: Cyril Jouve <jv.cyril@gmail.com>
2026-06-22 11:29:23 +02:00
f31bd7c7af chore(deps): update all-ci-updates to v7 (#1975)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-22 09:27:42 +02:00
Oliver BählerandGitHub 0b11582e4a feat: add scheduler enforcement rule (#1971)
* fix(controller): decode old object for delete requests

Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com>

* chore: modernize golang

Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com>

* chore: modernize golang

Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com>

* chore: modernize golang

Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com>

* fix: preserve ca-bundles injected from external providers

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>

* feat: abstract ruling

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>

* feat: migrate events api

* feat: migrate events api

* feat: migrate events api

* feat: migrate events api

* feat: migrate events  api

* feat: migrate events api

* feat: migrate events api

* feat: migrate events api

* feat: migrate events api

* feat: migrate events api

---------

Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com>
Signed-off-by: Oliver Baehler <oliver@sudo-i.net>
2026-06-19 14:34:16 +02:00