fix: use correct flag in dockerfile (#18)

Update the Dockerfile entrypoint script to use the correct version flag
syntax. The flag now requires two dashes instead of one. The syntax for
the texfile collector has also change, and the script was updated
accordingly.
Fix incorrect order of variable assignment when parsing CLI flags.
This commit is contained in:
Hector 2022-01-31 22:51:13 +00:00
parent 98d376ac60
commit 93da909b0a
2 changed files with 13 additions and 12 deletions

View File

@ -1,20 +1,21 @@
#/bin/sh #/bin/sh
# Print version to logs for debugging purposes # Print version to logs for debugging purposes
/app/fail2ban-prometheus-exporter -version /app/fail2ban-prometheus-exporter --version
socket_path=/var/run/fail2ban/fail2ban.sock socket_path=/var/run/fail2ban/fail2ban.sock
textfile_dir=/app/textfile/ textfile_dir=/app/textfile/
textfile_enabled=false textfile_enabled=false
# Enable textfile metrics if the folder exists (i.e. was mounted by docker)
if [ -d $textfile_dir ]; then
textfile_enabled=true
fi
# Start the exporter (use exec to support graceful shutdown) # Start the exporter (use exec to support graceful shutdown)
# Inspired by: https://akomljen.com/stopping-docker-containers-gracefully/ # Inspired by: https://akomljen.com/stopping-docker-containers-gracefully/
exec /app/fail2ban-prometheus-exporter \ # Enable textfile metrics if the folder exists (i.e. was mounted by docker)
--socket "$socket_path" \ if [ -d $textfile_dir ]; then
--collector.textfile=$textfile_enabled \ exec /app/fail2ban-prometheus-exporter \
--collector.textfile.directory="$textfile_dir" --socket "$socket_path" \
--collector.textfile \
--collector.textfile.directory "$textfile_dir"
else
exec /app/fail2ban-prometheus-exporter \
--socket "$socket_path"
fi

View File

@ -81,6 +81,8 @@ func readParamsFromCli(settings *AppSettings) {
Envar(basicAuthPassEnvName). Envar(basicAuthPassEnvName).
String() String()
kingpin.Parse()
settings.VersionMode = *versionMode settings.VersionMode = *versionMode
settings.MetricsPort = *port settings.MetricsPort = *port
settings.MetricsAddress = *address settings.MetricsAddress = *address
@ -88,8 +90,6 @@ func readParamsFromCli(settings *AppSettings) {
settings.FileCollectorEnabled = *fileCollectorEnabled settings.FileCollectorEnabled = *fileCollectorEnabled
settings.FileCollectorPath = *fileCollectorPath settings.FileCollectorPath = *fileCollectorPath
settings.setBasicAuthValues(*rawBasicAuthUsername, *rawBasicAuthPassword) settings.setBasicAuthValues(*rawBasicAuthUsername, *rawBasicAuthPassword)
kingpin.Parse()
} }
func (settings *AppSettings) setBasicAuthValues(rawUsername, rawPassword string) { func (settings *AppSettings) setBasicAuthValues(rawUsername, rawPassword string) {