From a9f716b214ae9100f58f35b38a81bce1b11fa220 Mon Sep 17 00:00:00 2001 From: Gianluca Arbezzano Date: Thu, 5 Feb 2026 18:35:25 +0100 Subject: [PATCH] feat: add who-ami and can-i commands We had this in our roadmap and yeah, easy `[x] check`! ```terminal $ datumctl auth whoami ATTRIBUTE VALUE Username ciao@gianarb.it UID 338949000486977803 Groups [system:authenticated] Extra: iam.miloapis.com/parent-api-group [iam.miloapis.com] Extra: iam.miloapis.com/parent-name [338949000486977803] Extra: iam.miloapis.com/parent-type [User] Extra: iam.miloapis.com/registrationApproval [Approved] ``` --- internal/cmd/auth/auth.go | 4 +++- internal/cmd/root.go | 5 +++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/internal/cmd/auth/auth.go b/internal/cmd/auth/auth.go index ceb5236..4b4710a 100644 --- a/internal/cmd/auth/auth.go +++ b/internal/cmd/auth/auth.go @@ -1,6 +1,8 @@ package auth -import "github.com/spf13/cobra" +import ( + "github.com/spf13/cobra" +) // Command creates the base "auth" command and adds subcommands for login, // logout, token retrieval, etc. diff --git a/internal/cmd/root.go b/internal/cmd/root.go index 80172fc..526410b 100644 --- a/internal/cmd/root.go +++ b/internal/cmd/root.go @@ -13,6 +13,7 @@ import ( "k8s.io/cli-runtime/pkg/genericclioptions" "k8s.io/kubectl/pkg/cmd/apiresources" "k8s.io/kubectl/pkg/cmd/apply" + kubeauth "k8s.io/kubectl/pkg/cmd/auth" delcmd "k8s.io/kubectl/pkg/cmd/delete" "k8s.io/kubectl/pkg/cmd/describe" "k8s.io/kubectl/pkg/cmd/diff" @@ -45,6 +46,10 @@ func RootCmd() *cobra.Command { rootCmd.AddGroup(&cobra.Group{ID: "resource", Title: "Resource Management"}) authCommand := auth.Command() + whoami := kubeauth.NewCmdWhoAmI(factory, ioStreams) + authCommand.AddCommand(whoami) + cani := kubeauth.NewCmdCanI(factory, ioStreams) + authCommand.AddCommand(cani) authCommand.GroupID = "auth" rootCmd.AddCommand(authCommand)