bundles/basic: add links to icinga, grafana and nginx vhosts to login message

This commit is contained in:
Franzi 2021-09-16 19:30:36 +02:00
parent 5a7d0b0afd
commit ed2bb66e3e
Signed by: kunsi
GPG key ID: 12E3D2136B818350
3 changed files with 62 additions and 2 deletions

View file

@ -1 +0,0 @@
This system is managed using bundlewrap.

View file

@ -1,3 +1,8 @@
from inspect import cleandoc
from uuid import UUID
from bundlewrap.utils.text import italic
# TODO support non-systemd systems
files = {
@ -13,7 +18,9 @@ files = {
'/etc/htoprc.global': {
'source': 'htoprc',
},
'/etc/motd': {},
'/etc/motd': {
'content': '',
},
}
locale_needs = set()
@ -34,3 +41,50 @@ actions = {
'command': 'locale-gen',
},
}
description = []
if not node.metadata.get('icinga_options/exclude_from_monitoring', False):
description.append('icingaweb2: https://icinga.kunsmann.eu/monitoring/host/show?host={}'.format(node.name))
if node.has_bundle('telegraf'):
description.append('Grafana: https://grafana.kunsmann.eu/d/{}'.format(UUID(int=node.magic_number).hex[:10]))
if (
not node.metadata.get('icinga_options/exclude_from_monitoring', False) or
node.has_bundle('telegraf')
):
description.append('') # divider line
if node.metadata.get('nginx/vhosts', {}):
description.append('nginx vhosts:')
for vname, vconfig in sorted(node.metadata.get('nginx/vhosts', {}).items()):
if vconfig.get('ssl', 'letsencrypt') is not None:
proto = 'https'
else:
proto = 'http'
domain = vconfig.get('domain', vname)
description.append(' {}: {}://{}{}'.format(
vname,
proto,
domain,
vconfig.get('website_check_path', '/'),
))
if node.metadata.get('description', []):
description.append('') # divider line
for line in node.metadata.get('description', []):
description.append('# {}'.format(italic(line)))
if description:
files['/etc/node.description'] = {
'content': '\n'.join(description) + '\n',
}
else:
files['/etc/node.description'] = {
'delete': True,
}

View file

@ -21,6 +21,13 @@ case $TERM in
;;
esac
if [[ -f "/etc/node.description" ]]
then
echo
cat "/etc/node.description"
echo
fi
uptime
last | grep 'still logged in'