Automate reference docs for commandline flags and env vars
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 35/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Stale
- Tech stack
- rust
- Domain
- build-system, documentation
Research direction
Review the existing generated CRD reference workflow and the manually generated HBase command-line and environment-variable reference pages. Then compare the operators' help output with the build.rs and clap parser integration described in the issue, including whether subcommands need separate handling. Done means choosing and implementing a maintainable generation approach that produces usable reference pages without hand-written flag and environment-variable lists.
Written by the indexing model from the issue text.
Description
Problem: Currently we have hand written docs in every operator about commandline flags and environment variables read by the operators. This is difficult to maintain and in some places it is already out of date. Like the CRD references, it would be good to generate this to reduce maintenance burden.
Cheapo variant A: dump the help page
The help pages of the operators actually already reference all the flags (obviously) and also most env vars (some would need to be added through clap, that is easy though). We already do this for stackablectl. It isn't pretty, the formatting is actually quite ugly.
By default the help doesn't show help for subcommands. Maybe we have to call each subcommand individually (or maybe we just show the help for run).
Slightly more involved variant B: generate man page, convert to adoc
There is https://github.com/clap-rs/clap/tree/master/clap_mangen to generate man pages from clap.
We could use pandoc to convert the man page to an adoc file:
pandoc -s -t asciidoc example.man -o example.adoc
And use that as our reference page.
This is a bit annoying to implement because the build.rs file has to include the clap parser definition too. Also I am unsure about the pandoc converted adoc page, I am not sure if the styling can be changed or how easily it can be done.
For reference (currently manually generated):
https://docs.stackable.tech/home/stable/hbase/reference/commandline-parameters/
https://docs.stackable.tech/home/stable/hbase/reference/environment-variables/
- Dominant language
- CSS
- Stars
- 13
- Forks
- 14
- Avg merge
- 4d 8h
- Merged PRs (30d)
- 10
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from stackabletech/documentation
-
Withdraw ADR018 Open
Difficulty 1/5 Under an hour Newbie friendliness 68/100
stackabletech/documentation#734 ·
-
Difficulty 3/5 1-2 days Newbie friendliness 55/100
stackabletech/documentation#779 ·
-
customer-request
Difficulty 4/5 3-5 days Newbie friendliness 35/100
stackabletech/documentation#773 ·
-
Difficulty 4/5 3-5 days Newbie friendliness 25/100
stackabletech/documentation#754 ·
-
Difficulty 3/5 1-2 days Newbie friendliness 25/100
stackabletech/documentation#753 ·
All issues in stackabletech/documentation
Similar issues
-
Update to NCCL 2.32 Open
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
conda-forge/nccl-feedstock#166 ·
-
next-devel: s390x build fails — chccwdev/vmur/zkey missing from initramfs after s390utils 2.44 split Open
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
coreos/fedora-coreos-tracker#2228 ·
-
Python versions Openenhancement
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
MunchLab/ceREEBerus#121 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
integration-meraki type: bug
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
nautobot/nautobot-app-chatops#463 ·