On Tue, 26 Apr 2022 15:03:51 +0200
Valerio Pachera wrote:
> Hi, I have several backend configuration that make use of a custom script:
>
> external-check command 'custom-script.sh'
>
> The script read uses the environment variables such as $HAPROXY_PROXY_NAME.
> I would like to be able to set and environment variable in the backend
> declaration, before running the external check.
> This environment variable will change the behavior of custom-script.sh.
>
> Is it possible to declare environment variables in haproxy 1.9 or later?
>
> What I need is to make custom-script.sh aware if SSL is used or not.
> If there's another way to achieve that, please tell me.
Well you can put it in the name of the server as I don't see any other option
to add extra variables into the external check.
https://git.haproxy.org/?p=haproxy.git;a=blob;f=src/extcheck.c;hb=e50aabe443125eb94e3e7823c387125ca7e0c302#l81
```
81 const struct extcheck_env extcheck_envs[EXTCHK_SIZE] = {
82 [EXTCHK_PATH] = { "PATH",
EXTCHK_SIZE_EVAL_INIT },
83 [EXTCHK_HAPROXY_PROXY_NAME] = { "HAPROXY_PROXY_NAME",
EXTCHK_SIZE_EVAL_INIT },
84 [EXTCHK_HAPROXY_PROXY_ID] = { "HAPROXY_PROXY_ID",
EXTCHK_SIZE_EVAL_INIT },
85 [EXTCHK_HAPROXY_PROXY_ADDR] = { "HAPROXY_PROXY_ADDR",
EXTCHK_SIZE_EVAL_INIT },
86 [EXTCHK_HAPROXY_PROXY_PORT] = { "HAPROXY_PROXY_PORT",
EXTCHK_SIZE_EVAL_INIT },
87 [EXTCHK_HAPROXY_SERVER_NAME]= { "HAPROXY_SERVER_NAME",
EXTCHK_SIZE_EVAL_INIT },
88 [EXTCHK_HAPROXY_SERVER_ID] = { "HAPROXY_SERVER_ID",
EXTCHK_SIZE_EVAL_INIT },
89 [EXTCHK_HAPROXY_SERVER_ADDR]= { "HAPROXY_SERVER_ADDR",
EXTCHK_SIZE_ADDR },
90 [EXTCHK_HAPROXY_SERVER_PORT]= { "HAPROXY_SERVER_PORT",
EXTCHK_SIZE_UINT },
91 [EXTCHK_HAPROXY_SERVER_MAXCONN] = { "HAPROXY_SERVER_MAXCONN",
EXTCHK_SIZE_EVAL_INIT },
92 [EXTCHK_HAPROXY_SERVER_CURCONN] = { "HAPROXY_SERVER_CURCONN",
EXTCHK_SIZE_ULONG },
93 };
```
> Thank you.
Hth
Alex