New PR from - 1.2.0
-
Modularized and documented functions
-
maxmind_license_download,iso_map_creation, andlanonly_map_creationnow include docstrings with description, globals, locals, returns, and actions.
-
-
More robust GeoIP management
- Automatic download of GeoLite2-Country from MaxMind if
MAXMIND_LICENSE_KEYis provided. - Generation of
GeoLite2-Country.mapcompatible with HAProxy and supporting both IPv4/IPv6. - Global variables
GEOIP_STATUSandGEOIP_REFRESHEDmanaged consistently.
- Automatic download of GeoLite2-Country from MaxMind if
-
Local access maps (
lanonly.map)- Automatically generated from
HAPROXY_ALLOWED_IPV4_PREFIX. - Whitespace sanitized and prefixes normalized to
/24. - Fully compatible with HAProxy.
- Automatically generated from
-
Ensured directory structure
- Dynamic creation of necessary directories (
modules.files,conf.d) before starting HAProxy.
- Dynamic creation of necessary directories (
-
Configuration flexibility
- Supports multiple additional
.cfgfiles inconf.d. - HAProxy starts with base and additional configuration files.
- Supports multiple additional
-
Improved readability and maintainability
- Refactored in
bashwith clear comments and docstrings. - Temporary files (
/tmp/GeoLite2-Country) cleaned up after map generation.
- Refactored in
-
Compatibility and safety
- Maps generated without parsing errors for HAProxy.
- Safe initialization flow using
set -e.