Skip to content

dorucioclea/chart-doc-gen

 
 

Repository files navigation

Go Report Card Build Status Github All Releases Twitter

chart-doc-gen

Helm Chart Documentation Generator

$ chart-doc-gen -d=./testdata/doc.yaml -v=./testdata/values.yaml > ./testdata/README.md

Installation

Download the pre-built binaries from release page and copy to your $PATH directory. If you are using Go modules, you can install like below:

go get -u kubepack.dev/chart-doc-gen@v0.3.0

How does it work

chart-doc-gen takes a doc.yaml file and fills it with a values table auto generated from a chart values file. Then it renders to stdout a README.md file based on readme template.

chart-doc-gen walks a chart values file and generates a row for each leaf node in the values YAML document. The description of each leaf node must be written above it in comments. You can find an example generated README.md from a values file.

Sometimes you may provide an object as default value for a parameter. To break out from the tree walk in that case, add a line comment +doc-gen:break to the right of the parameter.

+doc-gen:break example +doc-gen:break preview

You can also add an example for --set key=value command in the comments. To do so, add a line # Example: and write the example commands in the comments below. The example lines will be broken by <br > in the generated values table.

values example values example preview

Use with CI

You can use this tool in CI pipelines to ensure that your chart readme is up-to-date. You can use a Makefile with targets like below:

.PHONY: gen
gen: gen-chart-doc

.PHONY: gen-chart-doc
gen-chart-doc:
	@echo "Generate chart docs"
	@chart-doc-gen -d=./testdata/doc.yaml -v=./testdata/values.yaml > ./testdata/README.md

.PHONY: verify
verify: verify-gen

.PHONY: verify-gen
verify-gen: gen fmt
	@if !(git diff --exit-code HEAD); then \
		echo "generated files are out of date, run make gen"; exit 1; \
	fi

About

Helm Chart Documentation Generator

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 54.1%
  • Makefile 34.2%
  • Shell 11.7%