Commit Graph

5 Commits

Author SHA1 Message Date
Andrey Smirnov
16b008beb0
fix: increase LRU cache size for Talos and Kubernetes clients
Fixes #526

More details in comments.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-08-08 21:40:24 +04:00
Utku Ozdemir
6dcfd4c979
feat: handle all goroutine panics gracefully
Convert goroutine panics to errors or error logs.

Disallow usage of `golang.org/x/sync/errgroup` package in the backend by `depguard` linter. This linter configuration depends on: https://github.com/siderolabs/kres/pull/417

Rekres the project to include the feature (also bump Go to 1.22.4), but revert `PROTOBUF_GO_VERSION` and `GRPC_GATEWAY_VERSION` manually to not break the frontend.

Disallowing the named `go` statement was not possible at the moment using existing linters, raised an issue in `forbidigo` for it: https://github.com/ashanbrown/forbidigo/issues/47

Closes siderolabs/omni#373.

Signed-off-by: Utku Ozdemir <utku.ozdemir@siderolabs.com>
2024-06-20 21:28:12 +02:00
Artem Chernyshev
63ad5bd1ef
feat: provide a way to getadmin talosconfig and kubeconfig
Fixes: https://github.com/siderolabs/omni/issues/33

It is now possible to get full access `kubeconfig` and `talosconfig`
(operator role), if the Omni instance has `enable-break-glass-configs`
flag enabled.

They can be downloaded using cli commands:

`omnictl kubeconfig --admin --cluster <name>`
`omnictl talosconfig --admin --cluster <name>`

After you download the config the cluster will be marked with
`omni.sidero.dev/tainted` annotation to keep in mind that this cluster
has weaker security and might need to get secrets rotation in the
future.

Signed-off-by: Artem Chernyshev <artem.chernyshev@talos-systems.com>
2024-06-12 15:49:48 +03:00
Artem Chernyshev
e12cfa8444
feat: support authcode login in kubectl oidc-login
Omni now allows using `--grant-type=authcode-keyboard` option in
`oidc-login`.
That allows to log in without forwarding `:8000` port from the remote
machine. Instead kubelogin will present a link and ask for
the one time code.

Clicking the link will open Omni web page with one time code.

Fixes: https://github.com/siderolabs/omni/issues/111

Signed-off-by: Artem Chernyshev <artem.chernyshev@talos-systems.com>
2024-06-07 16:59:18 +03:00
Andrey Smirnov
dfcbaae7d0
chore: initial commit
Omni is source-available under BUSL.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
Co-Authored-By: Artem Chernyshev <artem.chernyshev@talos-systems.com>
Co-Authored-By: Utku Ozdemir <utku.ozdemir@siderolabs.com>
Co-Authored-By: Dmitriy Matrenichev <dmitry.matrenichev@siderolabs.com>
Co-Authored-By: Philipp Sauter <philipp.sauter@siderolabs.com>
Co-Authored-By: Noel Georgi <git@frezbo.dev>
Co-Authored-By: evgeniybryzh <evgeniybryzh@gmail.com>
Co-Authored-By: Tim Jones <tim.jones@siderolabs.com>
Co-Authored-By: Andrew Rynhard <andrew@rynhard.io>
Co-Authored-By: Spencer Smith <spencer.smith@talos-systems.com>
Co-Authored-By: Christian Rolland <christian.rolland@siderolabs.com>
Co-Authored-By: Gerard de Leeuw <gdeleeuw@leeuwit.nl>
Co-Authored-By: Steve Francis <67986293+steverfrancis@users.noreply.github.com>
Co-Authored-By: Volodymyr Mazurets <volodymyrmazureets@gmail.com>
2024-02-29 17:19:57 +04:00