From 331e178f60adaec42b41f4dc40e23bb4daff9b28 Mon Sep 17 00:00:00 2001 From: joshvanl Date: Tue, 15 Jun 2021 15:18:45 +0100 Subject: [PATCH] Wires up `ctl x create csr` command Signed-off-by: joshvanl --- cmd/ctl/BUILD.bazel | 1 + cmd/ctl/cmd/BUILD.bazel | 1 + cmd/ctl/cmd/cmd.go | 4 ++ .../certificatesigningrequest.go | 4 -- cmd/ctl/pkg/experimental/BUILD.bazel | 29 +++++++++++++ cmd/ctl/pkg/experimental/experimental.go | 43 +++++++++++++++++++ 6 files changed, 78 insertions(+), 4 deletions(-) create mode 100644 cmd/ctl/pkg/experimental/BUILD.bazel create mode 100644 cmd/ctl/pkg/experimental/experimental.go diff --git a/cmd/ctl/BUILD.bazel b/cmd/ctl/BUILD.bazel index 239cf810f..2d2e61313 100644 --- a/cmd/ctl/BUILD.bazel +++ b/cmd/ctl/BUILD.bazel @@ -37,6 +37,7 @@ filegroup( "//cmd/ctl/pkg/convert:all-srcs", "//cmd/ctl/pkg/create:all-srcs", "//cmd/ctl/pkg/deny:all-srcs", + "//cmd/ctl/pkg/experimental:all-srcs", "//cmd/ctl/pkg/inspect:all-srcs", "//cmd/ctl/pkg/renew:all-srcs", "//cmd/ctl/pkg/status:all-srcs", diff --git a/cmd/ctl/cmd/BUILD.bazel b/cmd/ctl/cmd/BUILD.bazel index aa81426f9..20e04c990 100644 --- a/cmd/ctl/cmd/BUILD.bazel +++ b/cmd/ctl/cmd/BUILD.bazel @@ -10,6 +10,7 @@ go_library( "//cmd/ctl/pkg/convert:go_default_library", "//cmd/ctl/pkg/create:go_default_library", "//cmd/ctl/pkg/deny:go_default_library", + "//cmd/ctl/pkg/experimental:go_default_library", "//cmd/ctl/pkg/inspect:go_default_library", "//cmd/ctl/pkg/renew:go_default_library", "//cmd/ctl/pkg/status:go_default_library", diff --git a/cmd/ctl/cmd/cmd.go b/cmd/ctl/cmd/cmd.go index 424bbb504..4df1d7a95 100644 --- a/cmd/ctl/cmd/cmd.go +++ b/cmd/ctl/cmd/cmd.go @@ -34,6 +34,7 @@ import ( "github.com/jetstack/cert-manager/cmd/ctl/pkg/convert" "github.com/jetstack/cert-manager/cmd/ctl/pkg/create" "github.com/jetstack/cert-manager/cmd/ctl/pkg/deny" + "github.com/jetstack/cert-manager/cmd/ctl/pkg/experimental" "github.com/jetstack/cert-manager/cmd/ctl/pkg/inspect" "github.com/jetstack/cert-manager/cmd/ctl/pkg/renew" "github.com/jetstack/cert-manager/cmd/ctl/pkg/status" @@ -74,6 +75,9 @@ kubectl cert-manager is a CLI tool manage and configure cert-manager resources f cmds.AddCommand(approve.NewCmdApprove(ctx, ioStreams, factory)) cmds.AddCommand(deny.NewCmdDeny(ctx, ioStreams, factory)) + // Experimental features + cmds.AddCommand(experimental.NewCmdExperimental(ctx, ioStreams, factory)) + return cmds } diff --git a/cmd/ctl/pkg/create/certificatesigningrequest/certificatesigningrequest.go b/cmd/ctl/pkg/create/certificatesigningrequest/certificatesigningrequest.go index ac725404c..c9d4ee3e3 100644 --- a/cmd/ctl/pkg/create/certificatesigningrequest/certificatesigningrequest.go +++ b/cmd/ctl/pkg/create/certificatesigningrequest/certificatesigningrequest.go @@ -366,10 +366,6 @@ func buildCertificateSigningRequest(crt *cmapi.Certificate, pk []byte, crName, s return nil, err } - if err != nil { - return nil, err - } - csr := &certificatesv1.CertificateSigningRequest{ ObjectMeta: metav1.ObjectMeta{ Name: crName, diff --git a/cmd/ctl/pkg/experimental/BUILD.bazel b/cmd/ctl/pkg/experimental/BUILD.bazel new file mode 100644 index 000000000..1506c93af --- /dev/null +++ b/cmd/ctl/pkg/experimental/BUILD.bazel @@ -0,0 +1,29 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library") + +go_library( + name = "go_default_library", + srcs = ["experimental.go"], + importpath = "github.com/jetstack/cert-manager/cmd/ctl/pkg/experimental", + visibility = ["//visibility:public"], + deps = [ + "//cmd/ctl/pkg/create:go_default_library", + "//cmd/ctl/pkg/create/certificatesigningrequest:go_default_library", + "@com_github_spf13_cobra//:go_default_library", + "@io_k8s_cli_runtime//pkg/genericclioptions:go_default_library", + "@io_k8s_kubectl//pkg/cmd/util:go_default_library", + ], +) + +filegroup( + name = "package-srcs", + srcs = glob(["**"]), + tags = ["automanaged"], + visibility = ["//visibility:private"], +) + +filegroup( + name = "all-srcs", + srcs = [":package-srcs"], + tags = ["automanaged"], + visibility = ["//visibility:public"], +) diff --git a/cmd/ctl/pkg/experimental/experimental.go b/cmd/ctl/pkg/experimental/experimental.go new file mode 100644 index 000000000..7f8a91973 --- /dev/null +++ b/cmd/ctl/pkg/experimental/experimental.go @@ -0,0 +1,43 @@ +/* +Copyright 2021 The cert-manager Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package experimental + +import ( + "context" + + "github.com/spf13/cobra" + "k8s.io/cli-runtime/pkg/genericclioptions" + cmdutil "k8s.io/kubectl/pkg/cmd/util" + + "github.com/jetstack/cert-manager/cmd/ctl/pkg/create" + "github.com/jetstack/cert-manager/cmd/ctl/pkg/create/certificatesigningrequest" +) + +func NewCmdExperimental(ctx context.Context, ioStreams genericclioptions.IOStreams, factory cmdutil.Factory) *cobra.Command { + cmds := &cobra.Command{ + Use: "experimental", + Aliases: []string{"x"}, + Short: "Interact with experimental features", + Long: "Interact with experimental features", + } + + create := create.NewCmdCreateBare() + create.AddCommand(certificatesigningrequest.NewCmdCreateCSR(ctx, ioStreams, factory)) + cmds.AddCommand(create) + + return cmds +}