Variables & Drop-ins¶
Custom Variables Drop-ins¶
Some third-party NGINX modules define additional variables (e.g. $brotli_ratio). By default, Gixy warns when it cannot resolve a variable. You can teach Gixy about extra variables via simple drop-in files.
Enabling Drop-ins¶
Provide one or more directories containing variable definitions using either CLI or config:
- CLI:
--vars-dirs /etc/gixy/vars,~/.config/gixy/vars - gixy.cfg:
vars-dirs = [/etc/gixy/vars, ~/.config/gixy/vars]
All files with .cfg or .conf extensions inside those directories are read.
File Format¶
Each non-empty, non-comment line defines one variable as name value. Supported value forms:
- Quoted literal:
'...'or"..."→ treated as a literal value (non user-controlled) - Regex:
r'...'orr"..."→ a regular expression describing allowed content none/null(case-insensitive) → mark as non user-controlled- Trailing comma after the value is tolerated
Examples:
# /etc/gixy/vars/nginx-module-brotli.cfg
brotli_ratio none
# /etc/gixy/vars/nginx-module-foo.cfg
foo_host "example.com"
foo_uri r'/[^\s]*',
Prefix variables are supported using names ending with _ (like built-ins), e.g. http_ will match $http_foo.
Notes¶
- Drop-in variables override built-ins when names collide.
- Only variables referenced during analysis are instantiated.
- This mechanism affects variable resolution only; it does not change NGINX behavior.