Sphinx extension¶
Frigate can also automatically document your Helm charts right in your Sphinx documentation.
Setup¶
- Install Frigate.
- Enable the plugin in your Sphinx
conf.py
file:
extensions = ['frigate.sphinx.ext']
- Now you can use the
frigate
directive wherever you wish in your documentation.
.. frigate:: path/to/your/helm/chart
Note
Frigate paths are relative to the root of your documentation.
Example¶
The following was autogenerated from the rich nginx example chart in Frigate’s test suite.
Rich¶
A rich nginx Helm chart example.
This is the default chart created with helm create nginx
.
Descriptions have then been added to all items in values.yaml
and a .frigate.jinja2
template has been included to enrich it.
Frigate has then been used to generate both the README.rst
in that directory as well as the example in the Sphinx docs.
Generating the README.rst¶
$ frigate gen ../frigate/tests/mockcharts/rich > ../frigate/tests/mockcharts/rich/README.rst
Sphinx docs directive¶
.. frigate:: ../frigate/tests/mockcharts/rich
Configuration¶
The following table lists the configurable parameters of the Rich chart and their default values.
Parameter | Description | Default |
---|---|---|
replicaCount |
Number of nginx pod replicas to create | 1 |
image.repository |
Docker image name | "nginx" |
image.tag |
Docke rimage label | "stable" |
image.pullPolicy |
Kubernetes pull policy | "IfNotPresent" |
imagePullSecrets |
Secrets to use for docker registry credentials | [] |
nameOverride |
Override the name of the application | "" |
fullnameOverride |
Override the name of the chart | "" |
service.type |
Nginx service type, could be ‘clusterip’, ‘loadbalancer’ or ‘nodeport’ | "ClusterIP" |
service.port |
Port to serve on the internal service | 80 |
ingress.enabled |
Enable the ingress | false |
ingress.annotations |
Ingress annotations | {} |
ingress.hosts |
Hostnames for ingresses and which service paths they should map to | [{"host": "chart-example.local", "paths": []}] |
ingress.tls |
Tls secrets and which hosts they should be used for | [] |
resources |
Resource limits and requests | {} |
nodeSelector |
Node selector config for the nginx pods | {} |
tolerations |
Tolarations for the nginx pods | [] |
affinity |
Node affinities/antiaffinities for the nginx pods | {} |
Footnotes¶
It is also possible to include a footnotes section which is placed after the parameters table in your documentation.
This is a good location for information which you want to include but may not be of primary interest to users.
Documentation generated by Frigate.
This is an example of a rich chart.