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
dnstapsource now requires themodeparameter
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.