Hector
8f7966cab3
add vet command and step to pipeline
2023-06-22 19:15:02 +01:00
Hector
8d457da2b9
Merge branch 'feat/add-new-dry-run-mode' into 'main'
...
feat: add new dry run mode
See merge request hectorjsmith/fail2ban-prometheus-exporter!98
2023-06-22 16:09:36 +00:00
Hector
9c1a10e309
feat: add new dry run mode ( !98 )
...
* Add a new *dry-run* mode to exit just before running the server
* This allows testing that the socket is working before starting the server
https://gitlab.com/hectorjsmith/fail2ban-prometheus-exporter/-/merge_requests/98
2023-06-22 16:09:36 +00:00
Hector
5275d280be
Merge branch 'build/disable-cgo-for-makefile-build' into 'main'
...
build: disable cgo for makefile build
See merge request hectorjsmith/fail2ban-prometheus-exporter!97
2023-06-22 15:22:42 +00:00
Hector
b9ab77d62d
build: disable cgo for makefile build ( !97 )
...
* Disable `CGO` in the makefile build to avoid dependencies on external C libraries
* This also aligns with the build done for releases and docker images
https://gitlab.com/hectorjsmith/fail2ban-prometheus-exporter/-/merge_requests/97
2023-06-22 15:22:42 +00:00
Hector
5f879e1921
Merge branch 'feat/print-fail2ban-version-on-startup' into 'main'
...
feat: print fail2ban version on startup
See merge request hectorjsmith/fail2ban-prometheus-exporter!96
2023-06-22 15:16:12 +00:00
Hector
8e0284d9f0
feat: print fail2ban version on startup ( !96 )
...
* Print the version reported by `fail2ban-server` when the exporter starts up
* Logs an error if the connection to the server fails
https://gitlab.com/hectorjsmith/fail2ban-prometheus-exporter/-/merge_requests/96
2023-06-22 15:16:12 +00:00
Hector
d1b65a2134
Merge branch 'chore/replace-ioutils-with-os-calls' into 'main'
...
chore: replace ioutil with os calls
See merge request hectorjsmith/fail2ban-prometheus-exporter!95
2023-06-22 14:33:57 +00:00
Hector
dc342e3051
chore: replace ioutil with os calls ( !95 )
...
* Replace calls to deprecated `ioutil` functions with the `os` package
https://gitlab.com/hectorjsmith/fail2ban-prometheus-exporter/-/merge_requests/95
2023-06-22 14:33:56 +00:00
Hector
1508693dd6
Merge branch 'chore/rename-examples-folder' into 'main'
...
chore: rename examples folder
See merge request hectorjsmith/fail2ban-prometheus-exporter!94
2023-06-22 14:22:31 +00:00
Hector
594d9f26a1
chore: rename examples folder ( !94 )
...
* Rename the `examples` folder to `_examples` to distinguish it from source code folders
https://gitlab.com/hectorjsmith/fail2ban-prometheus-exporter/-/merge_requests/94
2023-06-22 14:22:31 +00:00
Hector
938860d5dc
Merge branch 'set-dependency-scanning-config-1' into 'main'
...
ci: configure dependency scanning
See merge request hectorjsmith/fail2ban-prometheus-exporter!93
2023-06-21 17:50:43 +00:00
Hector
cfa20f6c1d
ci: configure dependency scanning ( !93 )
...
* Enable dependency scanning CI pipeline
https://gitlab.com/hectorjsmith/fail2ban-prometheus-exporter/-/merge_requests/93
2023-06-21 17:50:43 +00:00
Hector
211a5015d0
Merge branch 'chore/update-makefile-commands' into 'main'
...
chore: update makefile commands
See merge request hectorjsmith/fail2ban-prometheus-exporter!92
2023-06-21 15:02:11 +00:00
Hector
56ecc03341
chore: update makefile commands ( !92 )
...
* Tweak makefile commands and file formatting
* Remove command and build step for go mod formatting
* Add command to update project dependencies
* Add make command to list all make commands
https://gitlab.com/hectorjsmith/fail2ban-prometheus-exporter/-/merge_requests/92
2023-06-21 15:02:11 +00:00
Hector
b32bbeb1cd
Merge branch 'fix/set-http-server-timeouts' into 'main'
...
fix: set http server timeouts
See merge request hectorjsmith/fail2ban-prometheus-exporter!91
2023-06-21 11:09:39 +00:00
Hector
37b67643e8
fix: set http server timeouts ( !91 )
...
* Set timeout values when configuring the HTTP server to mitigate "Slowloris" vulnerability
https://gitlab.com/hectorjsmith/fail2ban-prometheus-exporter/-/merge_requests/91
2023-06-21 11:09:39 +00:00
Hector
1eec68b49b
Merge branch 'refactor/move-server-setup-code-to-new-package' into 'main'
...
refactor: move server setup code to new package
See merge request hectorjsmith/fail2ban-prometheus-exporter!90
2023-06-21 10:58:43 +00:00
Hector
11c4b26c0b
refactor: move server setup code to new package ( !90 )
...
* Move code setting up the HTTP server to it's own package
* This helps clean up the `main` function and make it easier to read
* Rename the `BasicAuthMiddleware` to remove reference to Basic since it can now handle any type of auth type
https://gitlab.com/hectorjsmith/fail2ban-prometheus-exporter/-/merge_requests/90
2023-06-21 10:58:43 +00:00
Hector
41b05f7e16
Merge branch 'refactor/rewrite-auth-handler-code' into 'main'
...
refactor: rewrite auth handler code
See merge request hectorjsmith/fail2ban-prometheus-exporter!89
2023-06-21 10:31:33 +00:00
Hector
3cff8ccd64
refactor: rewrite auth handler code ( !89 )
...
* Rewrite the code handling basic auth to make it easier to extend for other types of auth.
* The behaviour of the existing code is maintained.
* No changes to how basic auth is configured from a user's perspective.
https://gitlab.com/hectorjsmith/fail2ban-prometheus-exporter/-/merge_requests/89
2023-06-21 10:31:33 +00:00
Hector
3215fe5f4c
Merge branch 'refactor/replace-cli-parser-with-kong' into 'main'
...
refactor: replace cli parser with kong
See merge request hectorjsmith/fail2ban-prometheus-exporter!88
2023-06-20 20:16:23 +00:00
Hector
43cab7adc2
refactor: replace cli parser with kong ( !88 )
...
https://gitlab.com/hectorjsmith/fail2ban-prometheus-exporter/-/merge_requests/88
2023-06-20 20:16:23 +00:00
Hector
d584345fc6
Merge branch 'ci/add-sast-step-to-pipeline' into 'main'
...
ci: add sast step to pipeline
See merge request hectorjsmith/fail2ban-prometheus-exporter!87
2023-06-20 17:24:16 +00:00
Hector
8974395bba
ci: add sast step to pipeline ( !87 )
...
https://gitlab.com/hectorjsmith/fail2ban-prometheus-exporter/-/merge_requests/87
2023-06-20 17:24:16 +00:00
Hector
ad593dbd9b
Merge branch 'docs/update-readme-with-latest-changes' into 'main'
...
docs: update readme with latest changes
See merge request hectorjsmith/fail2ban-prometheus-exporter!86
2023-06-20 16:34:25 +00:00
Hector
f1e69fc4da
docs: update readme with latest changes ( !86 )
...
Update `README` to reflect recent changes in the project build process.
https://gitlab.com/hectorjsmith/fail2ban-prometheus-exporter/-/merge_requests/86
2023-06-20 16:34:25 +00:00
Hector
30b92d61da
Merge branch 'feat/tag-docker-images-with-extra-labels' into 'main'
...
feat: tag docker images with extra labels
See merge request hectorjsmith/fail2ban-prometheus-exporter!85
2023-06-20 07:20:11 +00:00
Hector
812f506432
feat: tag docker images with extra labels ( !85 )
...
Add a new build step to tag docker images with extra labels:
- `:latest`
- `:<major>`
- `:<major>.<minor>`
This job is only triggered on main release tags.
https://gitlab.com/hectorjsmith/fail2ban-prometheus-exporter/-/merge_requests/85
2023-06-20 07:20:11 +00:00
Hector
f29e127f5f
Merge branch 'chore/update-go-and-dependencies' into 'main'
...
chore: update go and dependencies
See merge request hectorjsmith/fail2ban-prometheus-exporter!84
2023-06-19 21:59:42 +00:00
Hector
d7f9b5c4ab
chore: update go and dependencies
...
Update Go version to 1.20
Update dependencies to latest versions
2023-06-19 21:59:42 +00:00
Hector
56cc0b7901
Merge branch 'fix/disable-cgo-in-build' into 'main'
...
fix: disable cgo in goreleaser build
See merge request hectorjsmith/fail2ban-prometheus-exporter!83
2023-06-19 21:27:09 +00:00
Hector
53a1f12f39
fix: disable cgo in goreleaser build
2023-06-19 21:27:09 +00:00
Hector
c19b986795
Merge branch 'chore/add-build-output-to-gitignore' into 'main'
...
chore: add build output to gitignore
See merge request hectorjsmith/fail2ban-prometheus-exporter!82
2023-06-19 20:52:48 +00:00
Hector
d7cf78bd59
chore: add build output to gitignore
2023-06-19 20:52:47 +00:00
Hector
17e5a3835b
Merge branch 'feat/automate-releases-using-goreleaser' into 'main'
...
feat: automate releases using goreleaser
See merge request hectorjsmith/fail2ban-prometheus-exporter!81
2023-06-19 20:37:30 +00:00
Hector
e599570220
feat: automate releases using goreleaser
2023-06-19 20:37:30 +00:00
Hector
baa157fc06
Merge branch 'chore/rewrite-dockerfile' into 'main'
...
chore: rewrite dockerfile
See merge request hectorjsmith/fail2ban-prometheus-exporter!80
2023-06-19 19:06:18 +00:00
Hector
772cdb52c5
chore: rewrite dockerfile
...
Rewrite the Dockerfile to be ready for fully automating releases using GoReleaser.
2023-06-19 19:06:18 +00:00
Hector
1d4ec79bac
Merge branch 'docs/remove-changelog-file' into 'main'
...
docs: remove changelog file
See merge request hectorjsmith/fail2ban-prometheus-exporter!79
2023-06-19 18:44:58 +00:00
Hector
c966da3a5f
docs: remove changelog file
...
Removing the changelog file from the repo because we are moving to auto generating a changelog for each release.
This file has also always been out of date between releases, making it pointless to have in the repo itself.
2023-06-19 18:44:57 +00:00
Hector
0d5b771205
Merge branch 'chore/rewrite-make-commands' into 'main'
...
chore: rewrite make commands
See merge request hectorjsmith/fail2ban-prometheus-exporter!78
2023-06-19 18:37:27 +00:00
Hector
8ff64467db
chore: rewrite make commands
2023-06-19 18:37:27 +00:00
Hector
95f9c821ff
Merge branch 'chore/move-source-code-to-root-folder' into 'main'
...
chore: move source code to root folder
See merge request hectorjsmith/fail2ban-prometheus-exporter!77
2023-06-19 17:58:16 +00:00
Hector
ae1285dc66
chore: move source code to root folder
2023-06-19 17:58:16 +00:00
Hector
c3b6fb3b07
Merge branch 'chore/remove-hardcoded-tools' into 'main'
...
chore: remove hardcoded tools
See merge request hectorjsmith/fail2ban-prometheus-exporter!76
2023-06-19 17:50:28 +00:00
Hector
83be83d83d
chore: remove hardcoded tools
2023-06-19 17:50:28 +00:00
Hector
da991a22ee
Merge branch 'release/0.7.2' into 'main'
...
Release/0.7.2
See merge request hectorjsmith/fail2ban-prometheus-exporter!75
2023-03-16 20:52:34 +00:00
Hector
be58ab36ff
docs: update changelog for release
2023-03-16 20:35:56 +00:00
Hector
9d1bdadab1
Merge branch 'chore/update-dependencies' into 'main'
...
chore: update dependencies
See merge request hectorjsmith/fail2ban-prometheus-exporter!74
2023-03-16 18:05:22 +00:00
Hector
3a77a0ad3a
chore: update dependencies
...
Update all project dependencies to their latest versions.
2023-03-16 18:05:22 +00:00
Hector
e005abfc1c
Merge branch 'docs/update-example-grafana-dashboard' into 'main'
...
docs: update grafana dashboard
See merge request hectorjsmith/fail2ban-prometheus-exporter!73
2022-10-13 08:36:43 +00:00
Hector
f6663d1ffd
docs: update grafana dashboard
...
Update the example grafana dashboard to add support for multiple
exporter instances. This includes updating panel queries and display
names.
The grafana version has been bumped to 9.1.8.
2022-10-13 08:36:43 +00:00
Hector
482773713a
Merge branch 'release/0.7.1' into 'main'
...
Release/0.7.1
See merge request hectorjsmith/fail2ban-prometheus-exporter!72
2022-09-18 20:38:46 +00:00
Hector
08157eda73
docs: update changelog for release
2022-09-18 21:32:49 +01:00
Hector
8c38a10245
Merge branch '23-exporter-does-not-fail-when-listening-fails' into 'main'
...
Resolve "Exporter does not fail when listening fails"
Closes #23
See merge request hectorjsmith/fail2ban-prometheus-exporter!71
2022-09-18 20:29:33 +00:00
Hector
04b84cc840
fix: report failure when server fails to start ( #23 )
...
Exit with an error when the server startup reports an error. For example, when the server fails to bind to the provided port.
2022-09-18 21:26:22 +01:00
Hector
efa02e3c28
Merge branch 'release/0.7.0' into 'main'
...
Release/0.7.0
See merge request hectorjsmith/fail2ban-prometheus-exporter!70
2022-06-19 20:01:55 +00:00
Hector
6818f034c0
docs: update changelog for release
2022-06-19 17:18:13 +01:00
Hector
77b69da93c
Merge branch '21-exit-exporter-when-fail2ban-is-restarted' into 'main'
...
Exit exporter when fail2ban is restarted
Closes #21
See merge request hectorjsmith/fail2ban-prometheus-exporter!69
2022-06-19 07:20:45 +00:00
Hector
fd58b20162
feat: option to exit on socket conn error ( #21 )
...
Add a new startup option to exit the exporter when an error occurs when connecting to the fail2ban socket file.
This option is set to "false" by default.
2022-06-19 07:20:45 +00:00
Hector
951ceccf67
Merge branch 'rename-project-module-to-include-url-path' into 'main'
...
Rename project module to include url path
See merge request hectorjsmith/fail2ban-prometheus-exporter!68
2022-02-25 22:01:55 +00:00
Hector
24ee5d96bd
refactor: rename project module
...
Rename the project module to include the full project URL instead of just
the name. This better aligns with Go best-practices.
2022-02-25 21:53:38 +00:00
Hector
7c2bcecf7a
Merge branch 'release/0.6.0' into 'main'
...
Release/0.6.0
See merge request hectorjsmith/fail2ban-prometheus-exporter!67
2022-02-20 17:13:25 +00:00
Hector
939fbf72f7
docs: update changelog for release
2022-02-20 16:59:16 +00:00
Hector
2759dcb159
Merge branch 'update-project-documentation' into 'main'
...
Update project documentation
See merge request hectorjsmith/fail2ban-prometheus-exporter!66
2022-02-20 16:44:27 +00:00
Hector
82b7e34866
docs: rewrite project readme
...
Rewrite the project README file to be more succinct and to the point. Add
new section on getting started quickly with either docker or the standalone
binary file.
Update CHANGELOG file with recent changes.
2022-02-20 16:44:27 +00:00
Hector
0eb4880286
Merge branch 'add-example-systemd-service-file' into 'main'
...
Add example systemd service file
See merge request hectorjsmith/fail2ban-prometheus-exporter!65
2022-02-20 09:05:38 +00:00
Hector
23e073ffde
feat: add example systemd service file
...
Add a basic systemd service file to serve as an example on how to run the
exporter as a system service. Add short README with an overview of the
service file.
2022-02-20 09:05:38 +00:00
Hector
b12ab669b1
Merge branch 'update-goreleaser-config' into 'main'
...
Update goreleaser config
See merge request hectorjsmith/fail2ban-prometheus-exporter!64
2022-02-20 08:46:40 +00:00
Hector
3911eca07e
feat: rename output binary and archives
...
Update the goreleaser config to rename the output binary and archive names
to `fail2ban_exporter` instead of defaulting to the project name. This
better aligns with conventions used by other exporters.
Update Dockerfile and Makefile to follow the new naming scheme.
Update the output archives to wrap the build files in a folder. This makes
extracting the archives a little easier.
BREAKING CHANGE: Release binary name has been changed to `fail2ban_exporter`.
2022-02-20 08:46:40 +00:00
Hector
cc68fe3f01
Merge branch 'add-mechanism-for-graceful-shutdown' into 'main'
...
Add mechanism for graceful shutdown
See merge request hectorjsmith/fail2ban-prometheus-exporter!63
2022-02-20 08:25:04 +00:00
Hector
f6e328a0aa
feat: correctly handle shutdown signals
...
Add a new method to the application startup to listen for OS shutdown
signals and handle them appropriately. A shutdown signal will cause the
app to exit immediately.
Use correct syntax for the `ENTRYPOINT` field in the Dockerfile to ensure
that OS signals get passed down to the running application.
2022-02-20 08:17:06 +00:00
Hector
aedef536dd
Merge branch 'update-changelog' into 'main'
...
Update changelog
See merge request hectorjsmith/fail2ban-prometheus-exporter!62
2022-02-19 17:10:25 +00:00
Hector
97ea58d86a
docs: update changelog
2022-02-19 17:06:48 +00:00
Hector
ab80610a3a
Merge branch 'rewrite-application-cli-parameters' into 'main'
...
Rewrite application cli parameters
See merge request hectorjsmith/fail2ban-prometheus-exporter!61
2022-02-19 17:01:50 +00:00
Hector
6e575aa0fd
feat: rewrite cli flags and environment variables
...
Replace existing CLI flags to make them more consistent and follow a more
standard format.
Remove CLI flags and environment variables that are no longer relevant.
Add short `-v` option for version flag.
Update README with new documentation.
BREAKING CHANGE: Replace `--socket` flag with `--collector.f2b.socket`.
BREAKING CHANGE: Merge `--port` flag and `--web.listen-address` into a single flag.
BREAKING CHANGE: Remove `--collector.textfile` flag, its value is now derived from `--collector.textfile.directory`.
BREAKING CHANGE: Remove `F2B_COLLECTOR_TEXT` and `F2B_WEB_PORT` environment variables.
2022-02-19 17:01:49 +00:00
Hector
7515698ec8
Merge branch 'simplify-docker-image-for-exporter' into 'main'
...
Simplify docker image for exporter
See merge request hectorjsmith/fail2ban-prometheus-exporter!60
2022-02-19 14:58:51 +00:00
Hector
0f0efe58af
feat: remove startup script from docker image
...
Update the docker image to remove the `run.sh` script and instead run the
exporter directly. This keeps the docker image as simple as possible.
Update README file with extra info on how to collect textfile metrics in
a docker container.
BREAKING CHANGE: Using the textfile collector in docker now requires setting environment variables.
2022-02-19 14:10:36 +00:00
Hector
e01d4cfe12
Merge branch 'update-exporter-logging-on-startup' into 'main'
...
Update exporter logging on startup
See merge request hectorjsmith/fail2ban-prometheus-exporter!59
2022-02-19 11:25:58 +00:00
Hector
e2902b8cc2
feat: improve logging on startup
...
Update the exporter logging on startup to include the exporter version,
the path to the fail2ban socket, and whether basic-auth is enabled or not.
Fix code printing error messages on invalid CLI parameters to correct line
breaks and correctly print the "usage" information.
2022-02-19 11:21:58 +00:00
Hector
ec10999814
Merge branch 'add-default-value-for-fail2ban-socket' into 'main'
...
Add default value for fail2ban socket
See merge request hectorjsmith/fail2ban-prometheus-exporter!58
2022-02-18 22:15:32 +00:00
Hector
1f27dace2d
feat: add default value for fail2ban socket path
...
Update the CLI param parser to include a default value for the fail2ban
socket file path. This is the default location fail2ban creates the socket
file on an ubuntu-based system.
2022-02-18 22:15:32 +00:00
Hector
8452caf4c5
Merge branch 'update-changelog' into 'main'
...
Update changelog
See merge request hectorjsmith/fail2ban-prometheus-exporter!57
2022-02-18 21:52:01 +00:00
Hector
4bf63a6ed6
docs: update changelog
...
Update the CHANGELOG file with recent unreleased changes.
2022-02-18 21:49:20 +00:00
Hector
9f0327b028
Merge branch '19-update-creation-of-docker-image-labels' into 'main'
...
Resolve "Update creation of docker image labels"
Closes #19
See merge request hectorjsmith/fail2ban-prometheus-exporter!56
2022-02-12 17:31:01 +00:00
Hector
05f236902a
ci: update creation of tags ( #19 )
...
Update creation of docker tags to only tag actual releases with the
`:latest` tag. Builds on the main branch are now tagged with a `:nightly`
tag.
2022-02-12 17:31:01 +00:00
Hector
191dda3b9f
Merge branch '18-dash-missing-in-docker-run-sh-line-4-version' into 'main'
...
Resolve "Dash missing in /docker/run.sh line 4 "-version""
Closes #18
See merge request hectorjsmith/fail2ban-prometheus-exporter!55
2022-01-31 22:51:13 +00:00
Hector
93da909b0a
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.
2022-01-31 22:51:13 +00:00
Hector
98d376ac60
Merge branch '17-configure-exporter-using-environment-variables' into 'main'
...
Resolve "Configure exporter using environment variables"
Closes #17
See merge request hectorjsmith/fail2ban-prometheus-exporter!54
2022-01-30 21:32:48 +00:00
Hector
b7e317edbc
feat: configure tool using environment variables ( #17 )
...
Replace CLI parsing functionality with the `kingpin` library to better
support configuring the tool with environment variables.
Add new environment variables to configure the tool.
BREAKING CHANGE: CLI params now require two dashes instead of one (e.g. `--socket`)
2022-01-30 21:32:48 +00:00
Hector
d92f7f79b6
Merge branch '16-add-basic-auth' into 'main'
...
Resolve "Add basic auth"
Closes #16
See merge request hectorjsmith/fail2ban-prometheus-exporter!53
2022-01-14 21:36:49 +00:00
Hector
6f76a03118
feat: add support for basic auth ( #16 )
...
Add new CLI parameters to enable protecting the API endpoints with basic
auth authentication.
Wrap the server endpoints in a new auth middleware that protects it using
the provided basic auth credentials (if set).
Store the provided basic auth credentials as hashed values to prevent them
from being accidentally leaked.
Add unit tests to ensure the new functionality works as expected.
2022-01-14 21:36:49 +00:00
Hector
013e8f30c9
Merge branch '15-update-sample-grafana-dashboard' into 'main'
...
Update sample grafana dashboard
Closes #15
See merge request hectorjsmith/fail2ban-prometheus-exporter!52
2021-12-23 11:42:10 +00:00
Hector
ae08a798b6
refactor: update grafana dashboard ( #15 )
...
Update the sample Grafana dashboard to use a variable for the data
source. All panels have been updated to use the new variable. This makes
it easier to import the dashboard and have it work with different data
sources.
2021-12-23 11:39:15 +00:00
Hector
cf71dc7449
Merge branch 'release/0.5.0' into 'main'
...
Release/0.5.0
See merge request hectorjsmith/fail2ban-prometheus-exporter!51
2021-12-21 21:25:00 +00:00
Hector
e0531694dd
docs: update changelog for release
2021-12-21 21:16:38 +00:00
Hector
c2bc99afc2
Merge branch 'remove-deprecated-database-metric-collector' into 'main'
...
Remove deprecated database metric collector
See merge request hectorjsmith/fail2ban-prometheus-exporter!50
2021-12-21 17:46:46 +00:00
Hector
497e2ff692
remove: references to db collector
...
Remove final references to the deprecated database metric collector.
Remove counter for db connection errors.
BREAKING CHANGE: Remove `-db` CLI flag.
2021-12-21 17:42:42 +00:00
Hector
157e065369
Merge branch '15-add-sample-grafana-dashboard' into 'main'
...
Resolve "Add sample grafana dashboard"
Closes #15
See merge request hectorjsmith/fail2ban-prometheus-exporter!49
2021-12-21 17:29:00 +00:00