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/genswaggertypedocs
|
||||||
cmd/linkcheck
|
cmd/linkcheck
|
||||||
examples/k8petstore/web-server/src
|
examples/k8petstore/web-server/src
|
||||||
|
federation/cmd/genfeddocs
|
||||||
vendor/github.com/onsi/ginkgo/ginkgo
|
vendor/github.com/onsi/ginkgo/ginkgo
|
||||||
test/e2e/e2e.test
|
test/e2e/e2e.test
|
||||||
test/e2e_node/e2e_node.test
|
test/e2e_node/e2e_node.test
|
||||||
|
@ -187,6 +187,7 @@ kube::util::gen-docs() {
|
|||||||
genman=$(kube::util::find-binary "genman")
|
genman=$(kube::util::find-binary "genman")
|
||||||
genyaml=$(kube::util::find-binary "genyaml")
|
genyaml=$(kube::util::find-binary "genyaml")
|
||||||
genbashcomp=$(kube::util::find-binary "genbashcomp")
|
genbashcomp=$(kube::util::find-binary "genbashcomp")
|
||||||
|
genfeddocs=$(kube::util::find-binary "genfeddocs")
|
||||||
|
|
||||||
mkdir -p "${dest}/docs/user-guide/kubectl/"
|
mkdir -p "${dest}/docs/user-guide/kubectl/"
|
||||||
"${gendocs}" "${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-proxy"
|
||||||
"${genkubedocs}" "${dest}/docs/admin/" "kube-scheduler"
|
"${genkubedocs}" "${dest}/docs/admin/" "kube-scheduler"
|
||||||
"${genkubedocs}" "${dest}/docs/admin/" "kubelet"
|
"${genkubedocs}" "${dest}/docs/admin/" "kubelet"
|
||||||
|
"${genfeddocs}" "${dest}/docs/admin/" "federation-apiserver"
|
||||||
|
"${genfeddocs}" "${dest}/docs/admin/" "federation-controller-manager"
|
||||||
mkdir -p "${dest}/docs/man/man1/"
|
mkdir -p "${dest}/docs/man/man1/"
|
||||||
"${genman}" "${dest}/docs/man/man1/"
|
"${genman}" "${dest}/docs/man/man1/"
|
||||||
mkdir -p "${dest}/docs/yaml/kubectl/"
|
mkdir -p "${dest}/docs/yaml/kubectl/"
|
||||||
|
@ -29,7 +29,8 @@ kube::golang::setup_env
|
|||||||
cmd/genman \
|
cmd/genman \
|
||||||
cmd/genyaml \
|
cmd/genyaml \
|
||||||
cmd/genbashcomp \
|
cmd/genbashcomp \
|
||||||
cmd/mungedocs
|
cmd/mungedocs \
|
||||||
|
federation/cmd/genfeddocs
|
||||||
|
|
||||||
kube::util::ensure-temp-dir
|
kube::util::ensure-temp-dir
|
||||||
|
|
||||||
|
@ -32,11 +32,6 @@ kube::golang::setup_env
|
|||||||
cmd/mungedocs
|
cmd/mungedocs
|
||||||
|
|
||||||
# Find binary
|
# 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")
|
mungedocs=$(kube::util::find-binary "mungedocs")
|
||||||
|
|
||||||
DOCROOT="${KUBE_ROOT}/docs/"
|
DOCROOT="${KUBE_ROOT}/docs/"
|
||||||
|
Loading…
Reference in New Issue
Block a user