A Kubernetes Custom Resource Definition (CRD) documentation browser.
crds-dev-doc (né doc) is a web service that indexes and displays
documentation for Kubernetes CRDs from public GitHub repositories. Search and
browse CRDs by repository, version tag, or Group/Version/Kind (GVK).
This is a fork of crdsdev/doc, originally powering doc.crds.dev. I'd happily contribute the changes back should the original author resume accepting PRs.
- Find CRDs and search by GVK from any public GitHub repository
- Browse versions at specific git tags or the latest version
- Automatic indexing discovers CRDs from GitHub repositories
For a repository to be successfully indexed, it must meet the following criteria:
- Publicly hosted on GitHub, which is inherited from the original implementation
- CRDs in YAML format (i.e., not JSON, not Helm chart templates)
- Files must have
.yamlextension - Must have
kindofCustomResourceDefinition - Must pass the Kubernetes CRD validator
The doc web server (cmd/doc) exposes the following HTTP endpoints, which is the primary interface for users:
| Method | Endpoint | Description |
|---|---|---|
| GET | / |
Home page with search interface |
| GET | /gvk |
Browse all indexed Groups |
| GET | /gvk/{group} |
List all versions in the specified Group |
| GET | /gvk/{group}/{version} |
List all Kinds in the specified Group-Version |
| GET | /gvk/{group}/{version}/{kind} |
List all repos containing the specified GVK |
| GET | /raw/github.com/{org}/{repo} |
Get raw JSON data for latest repository version |
| GET | /raw/github.com/{org}/{repo}@{tag} |
Get raw JSON data for a repository/tag |
| GET | /recent |
List recently indexed repositories |
| GET | /repo/github.com/{org}/{repo} |
List all indexed tags for a repository |
| GET | /repo/github.com/{org}/{repo}@{tag} |
View CRDs from a specific repository and tag |
The gitter indexer service (cmd/gitter), which doc talks to, exposes the following RPC methods:
Health check method that just returns pong.
Indexes a GitHub repository and extracts CRDs.
Parameters:
type GitterRepo struct {
Org string // GitHub organization/user
Repo string // Repository name
Tag string // Git tag/version to index
}See DEVELOPING.md for additional local development steps.