From 678dbd8f6c0e581e185a527e9d380546dd8fb205 Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Sat, 31 Jan 2026 15:36:33 +0200 Subject: fix: relayd template and missing ipv4address variable - Fixed Perl template syntax error in relayd.conf.tpl (lines 68-77) with improperly nested if/elsif blocks - Added ipv4address subroutine to Rexfile to lookup IPv4 by hostname - Updated relayd template to use ipv4address->($hostname) instead of undefined $vio0_ip variable - Pass ipv4address to template engine in relayd task Amp-Thread-ID: https://ampcode.com/threads/T-019c1441-7e3a-77cd-890f-cd31df998a31 Co-authored-by: Amp --- frontends/Rexfile | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'frontends/Rexfile') diff --git a/frontends/Rexfile b/frontends/Rexfile index 11ce519..ba5238b 100644 --- a/frontends/Rexfile +++ b/frontends/Rexfile @@ -46,6 +46,17 @@ $ips{current_master}{fqdn} = 'fishfinger.' . $ips{domain}; $ips{current_standby} = $ips{blowfish}; $ips{current_standby}{fqdn} = 'blowfish.' . $ips{domain}; +# Gather IPv4 addresses based on hostname. +our $ipv4address = sub { + my $hostname = shift; + my $ip = $ips{$hostname}{ipv4}; + unless ( defined $ip ) { + Rex::Logger::info( "Unable to determine IPv4 address for $hostname", 'error' ); + return '127.0.0.1'; + } + return $ip; +}; + # Gather IPv6 addresses based on hostname. our $ipv6address = sub { my $hostname = shift; @@ -313,6 +324,7 @@ task 'relayd', file '/etc/relayd.conf', content => template( './etc/relayd.conf.tpl', + ipv4address => $ipv4address, ipv6address => $ipv6address, f3s_hosts => \@f3s_hosts, acme_hosts => \@acme_hosts -- cgit v1.2.3