Skip to content

Development

Documentation Structure

The documentation is split into two layers:

  • hand-written guides in docs/crds/
  • generated schema reference in docs/reference/api.md

The hand-written pages explain operator behavior and Harbor-specific semantics. The generated page reflects the API types and Kubebuilder markers.

Reference Generator

The generated API reference uses crd-ref-docs.

Regenerate it with:

make generate-docs

Local Docs Tooling

Local docs commands:

make docs-build
make docs-serve

These targets run through the squidfunk/mkdocs-material image, so the docs workflow is the same locally and in CI.

Material features enabled in this repo include:

  • light and dark mode palette toggle
  • edit and view actions linked to GitHub
  • git-based last updated dates
  • tabbed top-level navigation

Drift Verification

Generated assets are verified in CI. That includes:

  • generated code
  • CRDs
  • synced chart RBAC and chart CRDs
  • generated API reference docs

The verify workflow effectively checks:

make manifests generate sync-chart generate-docs

GitHub Pages

The site is built with MkDocs Material and published from main with the docs workflow.

Repository settings should use GitHub Pages with GitHub Actions as the source.