[Federation][Kubefed] Support documentation for kubefed and its sub commands

pull/6/head
Irfan Ur Rehman 2017-03-21 15:46:05 +05:30
parent efa8c5eb45
commit bc9852fca4
8 changed files with 22 additions and 7 deletions

View File

@ -58,6 +58,7 @@ package_group(
package_group( package_group(
name = "FEDERATION_BAD", name = "FEDERATION_BAD",
packages = [ packages = [
"//federation/cmd/genfeddocs",
"//federation/cmd/kubefed/app", "//federation/cmd/kubefed/app",
"//federation/pkg/kubefed", "//federation/pkg/kubefed",
"//federation/pkg/kubefed/init", "//federation/pkg/kubefed/init",

View File

@ -22,6 +22,9 @@ go_library(
"//cmd/genutils:go_default_library", "//cmd/genutils:go_default_library",
"//federation/cmd/federation-apiserver/app:go_default_library", "//federation/cmd/federation-apiserver/app:go_default_library",
"//federation/cmd/federation-controller-manager/app:go_default_library", "//federation/cmd/federation-controller-manager/app:go_default_library",
"//federation/cmd/kubefed/app:go_default_library",
"//federation/pkg/kubefed:go_default_library",
"//pkg/kubectl/cmd/util:go_default_library",
"//vendor/github.com/spf13/cobra/doc:go_default_library", "//vendor/github.com/spf13/cobra/doc:go_default_library",
], ],
) )

View File

@ -24,6 +24,9 @@ import (
"k8s.io/kubernetes/cmd/genutils" "k8s.io/kubernetes/cmd/genutils"
fedapiservapp "k8s.io/kubernetes/federation/cmd/federation-apiserver/app" fedapiservapp "k8s.io/kubernetes/federation/cmd/federation-apiserver/app"
fedcmapp "k8s.io/kubernetes/federation/cmd/federation-controller-manager/app" fedcmapp "k8s.io/kubernetes/federation/cmd/federation-controller-manager/app"
kubefedapp "k8s.io/kubernetes/federation/cmd/kubefed/app"
"k8s.io/kubernetes/federation/pkg/kubefed"
cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util"
) )
// Note: We have a separate binary for generating federation docs and kube docs because of the way api groups are api.Registry. // Note: We have a separate binary for generating federation docs and kube docs because of the way api groups are api.Registry.
@ -57,6 +60,10 @@ func main() {
// generate docs for kube-controller-manager // generate docs for kube-controller-manager
controllermanager := fedcmapp.NewControllerManagerCommand() controllermanager := fedcmapp.NewControllerManagerCommand()
doc.GenMarkdownTree(controllermanager, outDir) doc.GenMarkdownTree(controllermanager, outDir)
case "kubefed":
// generate docs for kubefed
kubefed := kubefed.NewKubeFedCommand(cmdutil.NewFactory(nil), os.Stdin, os.Stdout, os.Stderr, kubefedapp.GetDefaultServerImage(), kubefedapp.DefaultEtcdImage)
doc.GenMarkdownTree(kubefed, outDir)
default: default:
fmt.Fprintf(os.Stderr, "Module %s is not supported", module) fmt.Fprintf(os.Stderr, "Module %s is not supported", module)
os.Exit(1) os.Exit(1)

View File

@ -30,14 +30,17 @@ import (
const ( const (
hyperkubeImageName = "gcr.io/google_containers/hyperkube-amd64" hyperkubeImageName = "gcr.io/google_containers/hyperkube-amd64"
defaultEtcdImage = "gcr.io/google_containers/etcd:3.0.17" DefaultEtcdImage = "gcr.io/google_containers/etcd:3.0.17"
) )
func GetDefaultServerImage() string {
return fmt.Sprintf("%s:%s", hyperkubeImageName, version.Get())
}
func Run() error { func Run() error {
logs.InitLogs() logs.InitLogs()
defer logs.FlushLogs() defer logs.FlushLogs()
defaultServerImage := fmt.Sprintf("%s:%s", hyperkubeImageName, version.Get()) cmd := kubefed.NewKubeFedCommand(cmdutil.NewFactory(nil), os.Stdin, os.Stdout, os.Stderr, GetDefaultServerImage(), DefaultEtcdImage)
cmd := kubefed.NewKubeFedCommand(cmdutil.NewFactory(nil), os.Stdin, os.Stdout, os.Stderr, defaultServerImage, defaultEtcdImage)
return cmd.Execute() return cmd.Execute()
} }

View File

@ -96,7 +96,7 @@ const (
var ( var (
init_long = templates.LongDesc(` init_long = templates.LongDesc(`
Initialize a federation control plane. Init initializes a federation control plane.
Federation control plane is hosted inside a Kubernetes Federation control plane is hosted inside a Kubernetes
cluster. The host cluster must be specified using the cluster. The host cluster must be specified using the
@ -178,7 +178,7 @@ func NewCmdInit(cmdOut io.Writer, config util.AdminConfig, defaultServerImage, d
cmd := &cobra.Command{ cmd := &cobra.Command{
Use: "init FEDERATION_NAME --host-cluster-context=HOST_CONTEXT", Use: "init FEDERATION_NAME --host-cluster-context=HOST_CONTEXT",
Short: "init initializes a federation control plane", Short: "Initialize a federation control plane",
Long: init_long, Long: init_long,
Example: init_example, Example: init_example,
Run: func(cmd *cobra.Command, args []string) { Run: func(cmd *cobra.Command, args []string) {

View File

@ -56,7 +56,7 @@ const (
var ( var (
join_long = templates.LongDesc(` join_long = templates.LongDesc(`
Join a cluster to a federation. Join adds a cluster to a federation.
Current context is assumed to be a federation API Current context is assumed to be a federation API
server. Please use the --context flag otherwise.`) server. Please use the --context flag otherwise.`)

View File

@ -72,7 +72,7 @@ func NewCmdUnjoin(f cmdutil.Factory, cmdOut, cmdErr io.Writer, config util.Admin
cmd := &cobra.Command{ cmd := &cobra.Command{
Use: "unjoin CLUSTER_NAME --host-cluster-context=HOST_CONTEXT", Use: "unjoin CLUSTER_NAME --host-cluster-context=HOST_CONTEXT",
Short: "Unjoins a cluster from a federation", Short: "Unjoin a cluster from a federation",
Long: unjoin_long, Long: unjoin_long,
Example: unjoin_example, Example: unjoin_example,
Run: func(cmd *cobra.Command, args []string) { Run: func(cmd *cobra.Command, args []string) {

View File

@ -214,6 +214,7 @@ kube::util::gen-docs() {
# to generate. The actual binary for running federation is hyperkube. # to generate. The actual binary for running federation is hyperkube.
"${genfeddocs}" "${dest}/docs/admin/" "federation-apiserver" "${genfeddocs}" "${dest}/docs/admin/" "federation-apiserver"
"${genfeddocs}" "${dest}/docs/admin/" "federation-controller-manager" "${genfeddocs}" "${dest}/docs/admin/" "federation-controller-manager"
"${genfeddocs}" "${dest}/docs/admin/" "kubefed"
mkdir -p "${dest}/docs/man/man1/" mkdir -p "${dest}/docs/man/man1/"
"${genman}" "${dest}/docs/man/man1/" "kube-apiserver" "${genman}" "${dest}/docs/man/man1/" "kube-apiserver"