mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-22 03:11:40 +00:00
Adding a tool to generate federation docs
This commit is contained in:
parent
28a601571c
commit
f98bda0b47
64
federation/cmd/genfeddocs/gen_fed_docs.go
Normal file
64
federation/cmd/genfeddocs/gen_fed_docs.go
Normal file
@ -0,0 +1,64 @@
|
||||
/*
|
||||
Copyright 2016 The Kubernetes Authors All rights reserved.
|
||||
|
||||
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 main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"os"
|
||||
|
||||
"github.com/spf13/cobra/doc"
|
||||
"k8s.io/kubernetes/cmd/genutils"
|
||||
fedapiservapp "k8s.io/kubernetes/federation/cmd/federation-apiserver/app"
|
||||
fedcmapp "k8s.io/kubernetes/federation/cmd/federation-controller-manager/app"
|
||||
)
|
||||
|
||||
// Note: We have a separate binary for generating federation docs and kube docs because of the way api groups are registered.
|
||||
// If we import both kube-apiserver and federation-apiserver in the same binary then api groups from both kube and federation will get registered in both the apiservers
|
||||
// and hence will produce incorrect flag values.
|
||||
// We can potentially merge cmd/kubegendocs and this when we have fixed that problem.
|
||||
func main() {
|
||||
// use os.Args instead of "flags" because "flags" will mess up the man pages!
|
||||
path := ""
|
||||
module := ""
|
||||
if len(os.Args) == 3 {
|
||||
path = os.Args[1]
|
||||
module = os.Args[2]
|
||||
} else {
|
||||
fmt.Fprintf(os.Stderr, "usage: %s [output directory] [module] \n", os.Args[0])
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
outDir, err := genutils.OutDir(path)
|
||||
if err != nil {
|
||||
fmt.Fprintf(os.Stderr, "failed to get output directory: %v\n", err)
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
switch module {
|
||||
case "federation-apiserver":
|
||||
// generate docs for federated-apiserver
|
||||
apiserver := fedapiservapp.NewAPIServerCommand()
|
||||
doc.GenMarkdownTree(apiserver, outDir)
|
||||
case "federation-controller-manager":
|
||||
// generate docs for kube-controller-manager
|
||||
controllermanager := fedcmapp.NewControllerManagerCommand()
|
||||
doc.GenMarkdownTree(controllermanager, outDir)
|
||||
default:
|
||||
fmt.Fprintf(os.Stderr, "Module %s is not supported", module)
|
||||
os.Exit(1)
|
||||
}
|
||||
}
|
@ -115,6 +115,7 @@ kube::golang::test_targets() {
|
||||
cmd/genswaggertypedocs
|
||||
cmd/linkcheck
|
||||
examples/k8petstore/web-server/src
|
||||
federation/cmd/genfeddocs
|
||||
vendor/github.com/onsi/ginkgo/ginkgo
|
||||
test/e2e/e2e.test
|
||||
test/e2e_node/e2e_node.test
|
||||
|
@ -187,6 +187,7 @@ kube::util::gen-docs() {
|
||||
genman=$(kube::util::find-binary "genman")
|
||||
genyaml=$(kube::util::find-binary "genyaml")
|
||||
genbashcomp=$(kube::util::find-binary "genbashcomp")
|
||||
genfeddocs=$(kube::util::find-binary "genfeddocs")
|
||||
|
||||
mkdir -p "${dest}/docs/user-guide/kubectl/"
|
||||
"${gendocs}" "${dest}/docs/user-guide/kubectl/"
|
||||
@ -196,6 +197,8 @@ kube::util::gen-docs() {
|
||||
"${genkubedocs}" "${dest}/docs/admin/" "kube-proxy"
|
||||
"${genkubedocs}" "${dest}/docs/admin/" "kube-scheduler"
|
||||
"${genkubedocs}" "${dest}/docs/admin/" "kubelet"
|
||||
"${genfeddocs}" "${dest}/docs/admin/" "federation-apiserver"
|
||||
"${genfeddocs}" "${dest}/docs/admin/" "federation-controller-manager"
|
||||
mkdir -p "${dest}/docs/man/man1/"
|
||||
"${genman}" "${dest}/docs/man/man1/"
|
||||
mkdir -p "${dest}/docs/yaml/kubectl/"
|
||||
|
@ -29,7 +29,8 @@ kube::golang::setup_env
|
||||
cmd/genman \
|
||||
cmd/genyaml \
|
||||
cmd/genbashcomp \
|
||||
cmd/mungedocs
|
||||
cmd/mungedocs \
|
||||
federation/cmd/genfeddocs
|
||||
|
||||
kube::util::ensure-temp-dir
|
||||
|
||||
|
@ -32,11 +32,6 @@ kube::golang::setup_env
|
||||
cmd/mungedocs
|
||||
|
||||
# Find binary
|
||||
gendocs=$(kube::util::find-binary "gendocs")
|
||||
genkubedocs=$(kube::util::find-binary "genkubedocs")
|
||||
genman=$(kube::util::find-binary "genman")
|
||||
genyaml=$(kube::util::find-binary "genyaml")
|
||||
genbashcomp=$(kube::util::find-binary "genbashcomp")
|
||||
mungedocs=$(kube::util::find-binary "mungedocs")
|
||||
|
||||
DOCROOT="${KUBE_ROOT}/docs/"
|
||||
|
Loading…
Reference in New Issue
Block a user