Skip to content

Commit 836b169

Browse files
committed
Add completions and manpages
1 parent cbf7f33 commit 836b169

File tree

5 files changed

+32
-4
lines changed

5 files changed

+32
-4
lines changed

.gitignore

+3
Original file line numberDiff line numberDiff line change
@@ -8,3 +8,6 @@
88
# the binary
99
nginx-prometheus-exporter
1010
dist/
11+
12+
completions/
13+
manpages/

.goreleaser.yml

+15-2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
before:
2+
hooks:
3+
- ./scripts/completions.sh
4+
- ./scripts/manpages.sh
5+
16
builds:
27
- env:
38
- CGO_ENABLED=0
@@ -38,6 +43,11 @@ archives:
3843
- format_overrides:
3944
- goos: windows
4045
format: zip
46+
files:
47+
- README.md
48+
- LICENSE.md
49+
- completions/*
50+
- manpages/*
4151

4252
sboms:
4353
- artifacts: archive
@@ -53,11 +63,13 @@ brews:
5363
homepage: https://www.nginx.com/
5464
description: NGINX Prometheus Exporter for NGINX and NGINX Plus
5565
license: Apache-2.0
56-
install: |
57-
bin.install "nginx-prometheus-exporter"
5866
commit_author:
5967
name: nginx-bot
6068
69+
extra_install: |-
70+
bash_completion.install "completions/nginx-prometheus-exporter.bash" => "nginx-prometheus-exporter"
71+
zsh_completion.install "completions/nginx-prometheus-exporter.zsh" => "_nginx-prometheus-exporter"
72+
man1.install "manpages/nginx-prometheus-exporter.1.gz"
6173
6274
signs:
6375
- cmd: cosign
@@ -99,4 +111,5 @@ snapcrafts:
99111
nginx-prometheus-exporter:
100112
command: nginx-prometheus-exporter
101113
plugs: ["network", "network-bind"]
114+
completer: completions/nginx-prometheus-exporter.bash
102115
disable: "{{ if .IsSnapshot }}true{{ end }}"

exporter.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -85,14 +85,14 @@ var (
8585
webConfig = kingpinflag.AddFlags(kingpin.CommandLine, ":9113")
8686
metricsPath = kingpin.Flag("web.telemetry-path", "Path under which to expose metrics.").Default("/metrics").Envar("TELEMETRY_PATH").String()
8787
nginxPlus = kingpin.Flag("nginx.plus", "Start the exporter for NGINX Plus. By default, the exporter is started for NGINX.").Default("false").Envar("NGINX_PLUS").Bool()
88-
scrapeURIs = kingpin.Flag("nginx.scrape-uri", "A URI or unix domain socket path for scraping NGINX or NGINX Plus metrics. For NGINX, the stub_status page must be available through the URI. For NGINX Plus -- the API. Repeatable for multiple URIs.").Default("http://127.0.0.1:8080/stub_status").Strings()
88+
scrapeURIs = kingpin.Flag("nginx.scrape-uri", "A URI or unix domain socket path for scraping NGINX or NGINX Plus metrics. For NGINX, the stub_status page must be available through the URI. For NGINX Plus -- the API. Repeatable for multiple URIs.").Default("http://127.0.0.1:8080/stub_status").HintOptions("http://127.0.0.1:8080/stub_status", "http://127.0.0.1:8080/api").Strings()
8989
sslVerify = kingpin.Flag("nginx.ssl-verify", "Perform SSL certificate verification.").Default("false").Envar("SSL_VERIFY").Bool()
9090
sslCaCert = kingpin.Flag("nginx.ssl-ca-cert", "Path to the PEM encoded CA certificate file used to validate the servers SSL certificate.").Default("").Envar("SSL_CA_CERT").String()
9191
sslClientCert = kingpin.Flag("nginx.ssl-client-cert", "Path to the PEM encoded client certificate file to use when connecting to the server.").Default("").Envar("SSL_CLIENT_CERT").String()
9292
sslClientKey = kingpin.Flag("nginx.ssl-client-key", "Path to the PEM encoded client certificate key file to use when connecting to the server.").Default("").Envar("SSL_CLIENT_KEY").String()
9393

9494
// Custom command-line flags
95-
timeout = createPositiveDurationFlag(kingpin.Flag("nginx.timeout", "A timeout for scraping metrics from NGINX or NGINX Plus.").Default("5s").Envar("TIMEOUT"))
95+
timeout = createPositiveDurationFlag(kingpin.Flag("nginx.timeout", "A timeout for scraping metrics from NGINX or NGINX Plus.").Default("5s").Envar("TIMEOUT").HintOptions("5s", "10s", "30s", "1m", "5m"))
9696
)
9797

9898
const exporterName = "nginx_exporter"

scripts/completions.sh

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
#!/bin/sh
2+
set -e
3+
rm -rf completions
4+
mkdir completions
5+
for shell in bash zsh; do
6+
go run . --completion-script-$shell >completions/nginx-prometheus-exporter.$shell
7+
done

scripts/manpages.sh

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
#!/bin/sh
2+
set -e
3+
rm -rf manpages
4+
mkdir manpages
5+
go run . --help-man | gzip -c -9 >manpages/nginx-prometheus-exporter.1.gz

0 commit comments

Comments
 (0)