elastic / crd-ref-docs

Generates Kubernetes CRD API reference documentation
Apache License 2.0
100 stars 50 forks source link

Add flag for reading binary version #57

Open blacksails opened 10 months ago

blacksails commented 10 months ago

It would be nice to be able to get the version of the binary through a flag eg. crd-ref-docs --version. We rely on doing this in order to ensure that our team uses the right versions of binaries. We would like to be able to do something like this in our Makefile:

CRD_REF_DOCS ?= $(TOOLSBIN)/crd-ref-docs
CRD_REF_DOCS_GO_MOD_VERSION ?= $(shell cat tools/go.mod | grep -E "github.com/elastic/crd-ref-docs" | cut -d ' ' -f2)

.PHONY: crd-ref-docs
crd-ref-docs: ## 📦 Download crd-ref-docs locally if necessary.
    (test -s $(CRD_REF_DOCS) && \
    $(CRD_REF_DOCS) --version | grep $(CRD_REF_DOCS_GO_MOD_VERSION)) || \
    (cd tools && GOBIN=$(TOOLSBIN) go install github.com/elastic/crd-ref-docs)

This make target will download the binary and install it in ./tools/bin if it doesn't exist or the version doesn't match what we have in the go module in ./tools/go.mod.