]> git.proxmox.com Git - pmg-api.git/blame - src/bin/pmgbanner
api: node status: return structured info about current kernel
[pmg-api.git] / src / bin / pmgbanner
CommitLineData
1635608e
DM
1#!/usr/bin/perl
2
3use strict;
4use warnings;
5
c3e98aed 6use PVE::Network;
72766fc0 7use Time::HiRes qw(usleep);
1635608e
DM
8
9my $xline = '-' x 78;
10
c3e98aed 11my $banner = <<__EOBANNER;
1635608e
DM
12
13$xline
14
15Welcome to the Proxmox Mail Gateway. Please use your web browser to
16configure this server - connect to:
17
c3e98aed 18__EOBANNER
1635608e 19
72766fc0
TL
20my $addr;
21for (my $try = 1; $try <= 15; $try ++) {
22 # TODO, pass `all => 1` and print them? May be seen as "leak" for some users of unprotected setups?!
23 $addr = PVE::Network::get_local_ip();
24 last if defined($addr);
25
26 usleep($try * 150_000); # gradually increase poll, ensure's we're ready faster in average
27}
28
29$addr //= '<unknown>'; # useless but we must _not_ fail here
1635608e 30
c3e98aed 31$banner .= " https://${addr}:8006/\n";
1635608e 32
c3e98aed 33$banner .= "\n$xline\n\n";
1635608e 34
32f704e0 35open(my $issue_fh, '>', '/etc/issue') or die "cannot open '/etc/issue' for writing - $!";
1635608e 36
f95eb381 37print $issue_fh $banner;
1635608e 38
f95eb381 39close($issue_fh);
1635608e
DM
40
41exit (0);