instead of preserving the (never read) data and reading beyond its end later.
This indicates the correct number of pending runtime updates
(for monitoring by Icinga 2) from the beginning.
When building Icinga DB from a tarball generated using `git archive` using a
Git version older than 2.32, the version output could incorrectly state "Icinga
DB version: %(describe)". This commit detects this situation and implements a
fallback.
Aligns the behavior of the IsRetryable functions for Redis and database.
It now also checks if the error implements timeout, even if the error
implements temporary, where previously only the temporary bool was
returned and timeout was ignored. The idea here is that an error could
implement both, returning false for temporary and true for timeout.
Also, all DNS errors are now considered retryable.
This commit adds the build information (Go version, Git commit) and system
information (distribution with version) to the output of `icingadb --version`.
When exporting the source code using `git archive`, Git will insert the version
information using the export-subst attribute (adds both a pretty version string
like `git describe` and the commit hash).
`go build` also adds some Git commit information to the resulting binary when
building from a Git working directory (only the commit hash and a flag if there
are uncommitted changes, but no pretty version string).
Note that `go build` does not include Git version information in the binary, so
when running directly from a Git working directory, commit information won't be
available in the binary, but when doing this, you should be well aware which
version you're running anyways.
System information is obtained from the `os-release` file.
If I remember correctly, some time ago you were able to download artifacts from
the job page, i.e. there was no issues with two jobs using the same artifact
name within one workflow. Now it looks like you can only download the artifacts
from the workflow page, so this commit allows you to download both files from
there.
With recent changes to Unix domain socket support, port and address
handling in SQL and Redis configuration, the function can now be reduced
to just expecting the server name.
The port is set to 6379 by default to keep it consistent with standard
Redis installations, but the example configuration explicitly specifies
6380 since that is the default port of the icingadb-redis package.
This commit ensures that the retention feature only deletes history from the
current environment. Previously, the deletion queries where missing an
appropriate WHERE clause.