bundles/basic: add links to icinga, grafana and nginx vhosts to login message
This commit is contained in:
parent
5a7d0b0afd
commit
ed2bb66e3e
3 changed files with 62 additions and 2 deletions
|
@ -1 +0,0 @@
|
|||
This system is managed using bundlewrap.
|
|
@ -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,
|
||||
}
|
||||
|
|
|
@ -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'
|
||||
|
||||
|
|
Loading…
Reference in a new issue