0.37 Upgrade Guide
An upgrade guide that addresses breaking changes in 0.37.0
Vector’s 0.37.0 release includes breaking changes:
- Vector defaults to requiring non-optional environment variables
- The
dnstap
source now requires themode
parameter
and potentially impactful changes:
We cover them below to help you upgrade quickly:
Upgrade guide
Breaking Changes
Vector defaults to requiring non-optional environment variables
Vector has the ability to interpolate environment variables into its
configuration as a means of templating
configuration. Now, if an environment variable is undefined, unless the -
interpolation syntax is
used to provide a default, Vector will output an error and stop. This behavior can be opted out of
by setting the --strict-env-vars
flag (or VECTOR_STRICT_ENV_VARS
environment variable) to
false
when running Vector; however, this behavior is deprecated and this flag to opt out will be
removed in a future release. If you want to have Vector start-up even if an environment variable is
undefined you can provide a default like ${FOO-bar}
to default FOO
to bar
if it is unset.
The reasoning for this change is that users often miss the undefined variable warning and are
confused by Vector not behaving as the expected. In particular, this happens when using $1
in
regex capture groups in VRL without realizing they need to be escaped as $$1
to avoid
interpolation.
The dnstap
source now requires the mode
parameter
The dnstap
source now requires the mode
parameter with the addition of support for reading
events over a TCP socket. Set this to unix
to continue reading from the Unix socket configured as
socket_path
.
Potentially impactful changes
geoip
enrichment tables no longer fallback to the GeoIP-City
type
With the addition of the new mmdb
enrichment table type, the existing geoip2
enrichment table
type no longer falls back assuming the database is a GeoIP-City
database when the type is unknown.
We don’t expect this to affect anyone, but the fix is to ensure that the MMDB database type is
correctly set to GeoIP2-City
if the database is a GeoIP2-City database.
For custom MMDBs, that are not GeoIP2 databases, the new mmdb
enrichment table can be used instead
to read the MMDB records exactly as they are.