MINOR: config: add HAPROXY_BRANCH environment variable
This patch adds support from HAPROXY_BRANCH environment variable.
It can be useful is some resources are loaded from different
locations when migrating from one version to another.
Signed-off-by: Sébastien Gross <sgross@haproxy.com>
diff --git a/doc/configuration.txt b/doc/configuration.txt
index beae7db..fbe598e 100644
--- a/doc/configuration.txt
+++ b/doc/configuration.txt
@@ -782,6 +782,11 @@
mode this is the version which was used to start the master, even after
updating the binary and reloading.
+* HAPROXY_BRANCH: contains the HAProxy branch version (such as "2.8"). It does
+ not contain the full version number. It can be useful in case of migration
+ if resources (such as maps or certificates) are in a path containing the
+ branch number.
+
In addition, some pseudo-variables are internally resolved and may be used as
regular variables. Pseudo-variables always start with a dot ('.'), and are the
only ones where the dot is permitted. The current list of pseudo-variables is:
diff --git a/src/haproxy.c b/src/haproxy.c
index a1399f9..eb49080 100644
--- a/src/haproxy.c
+++ b/src/haproxy.c
@@ -2090,6 +2090,7 @@
setenv("HAPROXY_HTTP_LOG_FMT", default_http_log_format, 1);
setenv("HAPROXY_HTTPS_LOG_FMT", default_https_log_format, 1);
setenv("HAPROXY_TCP_LOG_FMT", default_tcp_log_format, 1);
+ setenv("HAPROXY_BRANCH", PRODUCT_BRANCH, 1);
list_for_each_entry(wl, &cfg_cfgfiles, list) {
int ret;
@@ -2116,6 +2117,7 @@
}
}
/* remove temporary environment variables. */
+ unsetenv("HAPROXY_BRANCH");
unsetenv("HAPROXY_HTTP_LOG_FMT");
unsetenv("HAPROXY_HTTPS_LOG_FMT");
unsetenv("HAPROXY_TCP_LOG_FMT");