...
1
16
17 package main
18
19 import (
20 "bytes"
21 "fmt"
22 "io"
23 "os"
24
25 "github.com/spf13/cobra/doc"
26 "github.com/spf13/pflag"
27 "k8s.io/kubernetes/cmd/genutils"
28 apiservapp "k8s.io/kubernetes/cmd/kube-apiserver/app"
29 cmapp "k8s.io/kubernetes/cmd/kube-controller-manager/app"
30 proxyapp "k8s.io/kubernetes/cmd/kube-proxy/app"
31 schapp "k8s.io/kubernetes/cmd/kube-scheduler/app"
32 kubeadmapp "k8s.io/kubernetes/cmd/kubeadm/app/cmd"
33 kubeletapp "k8s.io/kubernetes/cmd/kubelet/app"
34 )
35
36 func main() {
37
38 path := ""
39 module := ""
40 if len(os.Args) == 3 {
41 path = os.Args[1]
42 module = os.Args[2]
43 } else {
44 fmt.Fprintf(os.Stderr, "usage: %s [output directory] [module] \n", os.Args[0])
45 os.Exit(1)
46 }
47
48 outDir, err := genutils.OutDir(path)
49 if err != nil {
50 fmt.Fprintf(os.Stderr, "failed to get output directory: %v\n", err)
51 os.Exit(1)
52 }
53
54 switch module {
55 case "kube-apiserver":
56
57 apiserver := apiservapp.NewAPIServerCommand()
58 doc.GenMarkdownTree(apiserver, outDir)
59 case "kube-controller-manager":
60
61 controllermanager := cmapp.NewControllerManagerCommand()
62 doc.GenMarkdownTree(controllermanager, outDir)
63 case "kube-proxy":
64
65 proxy := proxyapp.NewProxyCommand()
66 doc.GenMarkdownTree(proxy, outDir)
67 case "kube-scheduler":
68
69 scheduler := schapp.NewSchedulerCommand()
70 doc.GenMarkdownTree(scheduler, outDir)
71 case "kubelet":
72
73 kubelet := kubeletapp.NewKubeletCommand()
74 doc.GenMarkdownTree(kubelet, outDir)
75 case "kubeadm":
76
77
78
79 pflag.CommandLine = pflag.NewFlagSet(os.Args[0], pflag.ExitOnError)
80
81
82 kubeadm := kubeadmapp.NewKubeadmCommand(bytes.NewReader(nil), io.Discard, io.Discard)
83 doc.GenMarkdownTree(kubeadm, outDir)
84
85
86 MarkdownPostProcessing(kubeadm, outDir, cleanupForInclude)
87 default:
88 fmt.Fprintf(os.Stderr, "Module %s is not supported", module)
89 os.Exit(1)
90 }
91 }
92
View as plain text