added a hidden openapi info command

This commit is contained in:
Natasha Sarkar
2020-10-16 13:53:42 -07:00
parent 7e04be9ec6
commit a4f1f0841e
8 changed files with 94 additions and 8 deletions

View File

@@ -10,6 +10,7 @@ require (
k8s.io/client-go v0.17.3
sigs.k8s.io/kustomize/api v0.6.3
sigs.k8s.io/kustomize/cmd/config v0.8.2
sigs.k8s.io/kustomize/kyaml v0.9.2
sigs.k8s.io/yaml v1.2.0
)
@@ -19,6 +20,8 @@ exclude (
sigs.k8s.io/kustomize/cmd/config v0.2.0
)
replace sigs.k8s.io/kustomize/api v0.6.3 => ../api
replace sigs.k8s.io/kustomize/cmd/config v0.8.2 => ../cmd/config
replace (
sigs.k8s.io/kustomize/api v0.6.3 => ../api
sigs.k8s.io/kustomize/cmd/config v0.8.2 => ../cmd/config
sigs.k8s.io/kustomize/kyaml v0.9.2 => ../kyaml
)

View File

@@ -19,6 +19,7 @@ import (
"sigs.k8s.io/kustomize/kustomize/v3/internal/commands/build"
"sigs.k8s.io/kustomize/kustomize/v3/internal/commands/create"
"sigs.k8s.io/kustomize/kustomize/v3/internal/commands/edit"
"sigs.k8s.io/kustomize/kustomize/v3/internal/commands/openapi"
"sigs.k8s.io/kustomize/kustomize/v3/internal/commands/version"
)
@@ -43,6 +44,7 @@ See https://sigs.k8s.io/kustomize
edit.NewCmdEdit(fSys, v, uf),
create.NewCmdCreate(fSys, uf),
version.NewCmdVersion(stdOut),
openapi.NewCmdOpenAPI(stdOut),
)
configcobra.AddCommands(c, "kustomize")

View File

@@ -0,0 +1,28 @@
// Copyright 2019 The Kubernetes Authors.
// SPDX-License-Identifier: Apache-2.0
package info
import (
"fmt"
"io"
"github.com/spf13/cobra"
"sigs.k8s.io/kustomize/kyaml/openapi/kubernetesapi"
)
// NewCmdInfo makes a new info command.
func NewCmdInfo(w io.Writer) *cobra.Command {
infoCmd := cobra.Command{
Use: "info",
Short: "Prints the `info` field from the kubernetes OpenAPI data",
Example: `kustomize openapi info`,
Run: func(cmd *cobra.Command, args []string) {
fmt.Fprintln(w, kubernetesapi.Info)
},
Hidden: true,
}
return &infoCmd
}

View File

@@ -0,0 +1,27 @@
// Copyright 2019 The Kubernetes Authors.
// SPDX-License-Identifier: Apache-2.0
package openapi
import (
"io"
"github.com/spf13/cobra"
"sigs.k8s.io/kustomize/cmd/config/configcobra"
"sigs.k8s.io/kustomize/kustomize/v3/internal/commands/openapi/info"
)
// NewCmdOpenAPI makes a new openapi command.
func NewCmdOpenAPI(w io.Writer) *cobra.Command {
openApiCmd := &cobra.Command{
Use: "openapi",
Short: "Commands for interacting with the OpenAPI data",
Example: `kustomize openapi info`,
}
openApiCmd.AddCommand(info.NewCmdInfo(w))
configcobra.AddCommands(openApiCmd, "openapi")
return openApiCmd
}