From 2f19cf7cbc1ce4e9c76885af23c30ff60c936395 Mon Sep 17 00:00:00 2001 From: Yago Nobre Date: Sat, 19 Sep 2020 08:59:02 -0300 Subject: [PATCH] Graduate kubeadm alpha certs command --- cmd/kubeadm/app/cmd/alpha/alpha.go | 17 ++++++++++++++++- cmd/kubeadm/app/cmd/alpha/certs.go | 4 ++-- cmd/kubeadm/app/cmd/cmd.go | 5 ++++- 3 files changed, 22 insertions(+), 4 deletions(-) diff --git a/cmd/kubeadm/app/cmd/alpha/alpha.go b/cmd/kubeadm/app/cmd/alpha/alpha.go index f188232979c..2ff406637d7 100644 --- a/cmd/kubeadm/app/cmd/alpha/alpha.go +++ b/cmd/kubeadm/app/cmd/alpha/alpha.go @@ -29,9 +29,24 @@ func NewCmdAlpha(in io.Reader, out io.Writer) *cobra.Command { Short: "Kubeadm experimental sub-commands", } - cmd.AddCommand(newCmdCertsUtility(out)) cmd.AddCommand(newCmdKubeConfigUtility(out)) cmd.AddCommand(NewCmdSelfhosting(in)) + certsCommand := NewCmdCertsUtility(out) + deprecateCertsCommand(certsCommand) + cmd.AddCommand(certsCommand) + return cmd } + +func deprecateCertsCommand(cmds ...*cobra.Command) { + const deprecatedMessage = "please use the same command under \"kubeadm certs\"" + + for _, cmd := range cmds { + cmd.Deprecated = deprecatedMessage + childCmds := cmd.Commands() + if len(childCmds) > 0 { + deprecateCertsCommand(childCmds...) + } + } +} diff --git a/cmd/kubeadm/app/cmd/alpha/certs.go b/cmd/kubeadm/app/cmd/alpha/certs.go index ae62ffb91ad..d3b8ca8186c 100644 --- a/cmd/kubeadm/app/cmd/alpha/certs.go +++ b/cmd/kubeadm/app/cmd/alpha/certs.go @@ -90,8 +90,8 @@ var ( `) ) -// newCmdCertsUtility returns main command for certs phase -func newCmdCertsUtility(out io.Writer) *cobra.Command { +// NewCmdCertsUtility returns main command for certs phase +func NewCmdCertsUtility(out io.Writer) *cobra.Command { cmd := &cobra.Command{ Use: "certs", Aliases: []string{"certificates"}, diff --git a/cmd/kubeadm/app/cmd/cmd.go b/cmd/kubeadm/app/cmd/cmd.go index 548163361de..64002f1f235 100644 --- a/cmd/kubeadm/app/cmd/cmd.go +++ b/cmd/kubeadm/app/cmd/cmd.go @@ -90,8 +90,11 @@ func NewKubeadmCommand(in io.Reader, out, err io.Writer) *cobra.Command { cmds.AddCommand(NewCmdToken(out, err)) cmds.AddCommand(upgrade.NewCmdUpgrade(out)) cmds.AddCommand(alpha.NewCmdAlpha(in, out)) - options.AddKubeadmOtherFlags(cmds.PersistentFlags(), &rootfsPath) + // TODO: remove "certs" from "alpha" + // https://github.com/kubernetes/kubeadm/issues/2291 + cmds.AddCommand(alpha.NewCmdCertsUtility(out)) + return cmds }