You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Today, Kubernetes API does not provide OpenAPI specs for CRDs (e.g.
Knative), therefore the gen-apidocs
generator used by Kubernetes won't work.
Even when Kubernetes API starts providing OpenAPI specs for CRDs, your CRD
must have a validation schema (e.g. Knative API doesn't!)
Kubernetes gen-apidocs parser relies on running a kube-apiserver and
calling /apis endpoint to get OpenAPI specs to generate docs. This tool
doesn't need that!
How
This is a custom API reference docs generator that uses the
k8s.io/gengo project to parse types and
generate API documentation from it.
Capabilities of this tool include:
Doesn't depend on OpenAPI specs, or kube-apiserver, or a running cluster.
Relies only on the Go source code (pkg/apis/**/*.go) to parse API types.
Can link to other sites for external APIs. For example, if your types have a
reference to Kubernetes core/v1.PodSpec, you can link to it.
Configurable settings to hide certain fields or types
entirely from the generated output.
Either output to a file or start a live http-server (for rapid iteration).
Supports markdown rendering from godoc type, package and field comments.
Try it out
Clone this repository.
Make sure you have go1.11+ instaled. Then run go build, you should get a
refdocs binary executable.
Clone a Knative repository, set GOPATH correctly,
and call the compiled binary within that directory.
# go into a repository root with GOPATH set. (I use my own script# goclone(1) to have a separate GOPATH for each repo I clone.)
$ goclone knative/build
$ /path/to/refdocs \
-config "/path/to/example-config.json" \
-api-dir "github.com/knative/build/pkg/apis/build/v1alpha1" \
-out-file docs.html
Visit docs.html to view the results.
This is not an official Google project. See LICENSE.
About
API Reference Docs generator for Kubernetes CRDs (used by Knative, Kubeflow and others)