API Reference Docs generator for Kubernetes CRDs (used by Knative, Kubeflow and others)
Go
331
118 commits
updated May 11, 2026
If you have a project that is providing Custom Resource Definitions and wanted to generate API Reference Docs like this this tool is for you.
[!WARNING] This project is not super actively maintained. Consider using the crd-ref-docs by Elastic project instead.
This project has inspired creation of the following projects:
Kubernetes reference-docs generator: used in official Kubernetes component reference docs
crd-ref-docs by Elastic: A fresh implementation of this project.
If you're an open source project, consider exposing your CRD API Reference via https://doc.crds.dev/ without much effort.
Also some forks:
Normally you would want to use the same docs generator as Kubernetes API reference, but here's why I wrote a different parser/generator:
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!
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:
Clone this repository.
Make sure you have go1.11+ installed. Then run go build, you should get a
gen-crd-api-reference-docs binary executable in the current directory.
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/gen-crd-api-reference-docs \
-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.
Overall
Maintained
Code review
Latest release
Releases this year
628 followers · starred May 2019
230 followers · starred Jun 2022
381 followers · starred Jul 2019
767 followers · starred Jul 2019
API Reference Docs generator for Kubernetes CRDs (used by Knative, Kubeflow and others)
Go
331
118 commits
updated May 11, 2026
If you have a project that is providing Custom Resource Definitions and wanted to generate API Reference Docs like this this tool is for you.
[!WARNING] This project is not super actively maintained. Consider using the crd-ref-docs by Elastic project instead.
This project has inspired creation of the following projects:
Kubernetes reference-docs generator: used in official Kubernetes component reference docs
crd-ref-docs by Elastic: A fresh implementation of this project.
If you're an open source project, consider exposing your CRD API Reference via https://doc.crds.dev/ without much effort.
Also some forks:
Normally you would want to use the same docs generator as Kubernetes API reference, but here's why I wrote a different parser/generator:
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!
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:
Clone this repository.
Make sure you have go1.11+ installed. Then run go build, you should get a
gen-crd-api-reference-docs binary executable in the current directory.
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/gen-crd-api-reference-docs \
-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.
Overall
Maintained
Code review
Latest release
Releases this year
628 followers · starred May 2019
230 followers · starred Jun 2022
381 followers · starred Jul 2019
767 followers · starred Jul 2019