- Update to prometheus 0.8.0.
- Remove FreeBSD 12.0 image from the test matrix, as it is EOL.
- Update to users 0.10.0.
- Switch from failure crate to thiserror.
- Minimum Rust version bumped to 1.39.0 as we use:
enum
type aliasesasync
/await
foractix-web
2.0
- Added basic Grafana dashboard example.
- Update to actix-web 2.0.
- Update FreeBSD images used for CI testing.
- Simplified template error handling.
- Update to prometheus 0.7.0.
- Update to actix-web 1.0.8.
- Update to jail 0.1.1.
- Bump minimum version of Rust to 1.34.0 in README, due to actix-web update.
- Add
output.file-path
argument which allows writing metrics to either a file or stdout. - Internals: Move CLI parsing functions to
cli.rs
.
- No code changes.
- Added
exporter_build_info
metric to man page. rc.d
script is now a.in
file, suitable for use in ports.- Fixes to
rc.d
script. - Tighten permissions on
.pid
file inrc.d
script, matching permission of other daemons that run as root.
- No code changes.
- Changes to
Cargo.toml
for publishing on crates.io.
- Added pretty-assertions for tests.
- Use Cirrus CI to run
cargo test
on push. - Update prometheus crate to 0.6.0.
- Move to using a local metrics registry, which makes testing much more reliable.
- Implement local macros for registering metrics with local registry.
- Simplify
dead_jails
method inExporter
and add test. - Add test for
reap
method inExporter
. - Add locking around environment tests to fix race conditions.
- Improve CLI testing by passing our own argv in a few cases.
- Use mime crate for ContentTypes in HTTP handlers.
- Update jail to 0.1.0.
- Additional testing around CLI argument environment variables.
- Additional testing around HTTP handling.
- Minor style clean up.
- Version bumps in
Cargo.lock
. - Fixing of some incorrect comments.
- Updated to askama 0.8.
- Updated to users 0.9.1.
- Add testing for
is_running_as_root()
function. - Break out various parts of
httpd
module into sub-modules.handlers
: Route handlers used by the server.templates
: Renders templates used elsewhere.
- Improvements to error handling in
lib.rs
which should allow an "Internal Server Error" to be generated inhttpd.rs
the event of any issues. - Minor documentation improvements.
- Simplify handling of
bind_address
inhttpd
module. - Noted in
README.md
that minimum version of Rust is now 1.32. - Add
Cargo.lock
to repository.
- Attempts at taking care of some clippy warnings.
- Change templating library from handlebars to askama.
- Move exporter into the
AppState
struct, removing the requirement for lazy_static in the release binaries. - Created a
jail_exporter(8)
man page. - Move some helper code out of
main
into their own functions. - Moved HTTP related code out to
httpd
module, simplifyingmain
function. jail_exporter::Metrics
is now#[derive(Clone)]
- Fixed a bug where Metrics would attempt initialization once per Actix Web thread.
- Added Actix Web Logger middleware to HTTP server.
jail_exporter
now attempts to ensure that it's running asroot
before starting.- Updated to version 0.5 of the prometheus crate.
- Now using a builder pattern for the HTTP server instead of multiple arguments to a run function.
- Added a validator for the
web.telemetry-path
setting. - Moved to using failure crate and removed explicit
exit
calls on error conditions by usingResult
return onmain
function.
- Implemented landing page at HTTP web root which simply links to the
--web.telemetry-path
. This makes viewing exporter output from a browser a slightly more friendly experience. - Declare
#![forbid(unsafe_code)]
as we aren't implementing anyunsafe
blocks directly. - Update to
env_logger
0.6 andlazy_static
1.2.
- Added
CHANGELOG.md
- Updated to Rust 1.31 and 2018 edition.
- Added FreeBSD
rc.d
script. - Switched from warp to actix-web for HTTP related functions.
- Update to jail 0.0.6 and rctl 0.0.5.
- Deal with errors if HTTP server can't bind to address.
- Simplify metrics HTTP response handler.
- Provided more metadata in
Cargo.toml
.