{{ group_name }}
{% for server in servers %}
{% set d = server.details or {} %}
{% set sys = d.get('system', {}) if d.get('system') else {} %}
{% set cpu = d.get('cpu', {}) if d.get('cpu') else {} %}
{% set mem = d.get('memory', {}) if d.get('memory') else {} %}
{% set temps = d.get('temperatures', {}) if d.get('temperatures') else {} %}
{% set max_temp = namespace(val=0.0) %}
{% for k, v in temps.items() %}
{% if v|float > max_temp.val %}
{% set max_temp.val = v|float %}
{% endif %}
{% endfor %}
{% set nvidia_gpus = d.get('nvidia_gpu', []) if d.get('nvidia_gpu') else [] %}
{% set intel_gpus = d.get('intel_gpu', []) if d.get('intel_gpu') else [] %}
{% set max_gpu_pct = namespace(val=-1.0) %}
{% for ng in nvidia_gpus %}
{% set gp = ng.get('utilization_percent', '0')|float %}
{% if gp > max_gpu_pct.val %}
{% set max_gpu_pct.val = gp %}
{% endif %}
{% endfor %}
{% for ig in intel_gpus %}
{% set gp = ig.get('utilization_percent', '0')|float %}
{% if gp > max_gpu_pct.val %}
{% set max_gpu_pct.val = gp %}
{% endif %}
{% endfor %}
{% set cpu_pct = cpu.get('usage_percent', '0')|float %}
{% set mem_pct = mem.get('usage_percent', '0')|float %}
{% set disk_usages = d.get('disk_usage', []) if d.get('disk_usage') else [] %}
{% set root_disk = namespace(pct=0.0) %}
{% for du in disk_usages %}
{% if du.get('mount') == '/' %}
{% set root_disk.pct = du.get('usage_percent', '0')|float %}
{% endif %}
{% endfor %}
{% if root_disk.pct == 0.0 and disk_usages|length > 0 %}
{% set root_disk.pct = disk_usages[0].get('usage_percent', '0')|float %}
{% endif %}
{% endfor %}
{{ server.hostname }}
{% if server.url %}
↗
{% endif %}
{{ server.primary_ip or 'No IP' }}
{% if sys.get('platform') %}{{ sys.get('platform')|capitalize }} {{ sys.get('platform_version', '') }} / {% endif %}{{ sys.get('os_pretty', '') }}
{% set server_links = server.links or [] %}
{% if server_links %}
{% for link in server_links %}
{{ link.label }}
{% endfor %}
{% endif %}
{% if server.is_online and (cpu.get('model') or mem.get('total_mb')) %}
{%- if cpu.get('model') %}{{ cpu.get('model') }}{% endif %}
{%- if cpu.get('cores') %} ({{ cpu.get('cores') }}c){% endif %}
{%- if mem.get('total_mb') %} / {{ mem.get('total_mb', '')|format_mb }}{% endif -%}
{% endif %}
{% set containers_raw = d.get('container', []) if d.get('container') else [] %}
{% set child_vms = children_map.get(server.hostname, []) %}
{% set child_names = [] %}
{% for vm in child_vms %}
{% set _ = child_names.append(vm.hostname) %}
{% if vm.details and vm.details.get('system', {}).get('hostname') %}
{% set _ = child_names.append(vm.details['system']['hostname']) %}
{% endif %}
{% endfor %}
{% set containers = [] %}
{% for ct in containers_raw %}
{% set ct_name = ct.get('name', ct.get('id', '')) %}
{% if ct_name not in child_names %}
{% set _ = containers.append(ct) %}
{% endif %}
{% endfor %}
{% set ds_services = d.get('dropshell_service', []) if d.get('dropshell_service') else [] %}
{% set svc_container_names = [] %}
{% for svc in ds_services %}
{% if svc.get('container_name') %}
{% set _ = svc_container_names.append(svc.get('container_name')) %}
{% endif %}
{% endfor %}
{% set orphan_containers = [] %}
{% for ct in containers %}
{% set ct_name = ct.get('name', '') %}
{% set ns = namespace(is_svc=false) %}
{% for cn in svc_container_names %}
{% if ct_name.startswith(cn ~ '-') %}
{% set ns.is_svc = true %}
{% endif %}
{% endfor %}
{% if not ns.is_svc %}
{% set _ = orphan_containers.append(ct) %}
{% endif %}
{% endfor %}
{% if server.is_online %}
{% if ds_services or orphan_containers or containers or child_vms %}
{% for vm in child_vms %}
{% endif %}
{% else %}
{{ vm.details.get('system', {}).get('hostname', vm.hostname) if vm.details else vm.hostname }}
VM
{% set vm_os = vm.details.get('system', {}).get('os_pretty', '') if vm.details else '' %}
{% if vm_os %}{{ vm_os }}{% endif %}
{{ vm.primary_ip or vm.hostname }}
{% set vm_ds = vm.details.get('dropshell_service', []) if vm.details and vm.details.get('dropshell_service') else [] %}
{% set vm_cts = vm.details.get('container', []) if vm.details and vm.details.get('container') else [] %}
{% set vm_svc_cns = [] %}
{% for vs in vm_ds %}
{% if vs.get('container_name') %}{% set _ = vm_svc_cns.append(vs.get('container_name')) %}{% endif %}
{% endfor %}
{% for vs in vm_ds %}
{% set vs_cn = vs.get('container_name', '') %}
{% set vs_running = namespace(val=false) %}
{% for vct in vm_cts %}
{% if vct.get('name', '').startswith(vs_cn ~ '-') and vct.get('status', '')|lower in ['running', 'started'] %}
{% set vs_running.val = true %}
{% endif %}
{% endfor %}
{{ vs.get('name') }}
SVC
{% endfor %}
{% for vct in vm_cts %}
{% set vct_name = vct.get('name', '') %}
{% set vct_is_svc = namespace(val=false) %}
{% for cn in vm_svc_cns %}
{% if vct_name.startswith(cn ~ '-') %}{% set vct_is_svc.val = true %}{% endif %}
{% endfor %}
{% if not vct_is_svc.val %}
{% set vct_up = vct.get('status', '')|lower in ['running', 'started'] %}
{{ vct_name }}
{% if vct.get('ip') %}{{ vct.get('ip') }}{% endif %}
{% endif %}
{% endfor %}
{% endfor %}
{% for svc in ds_services %}
{% set svc_cn = svc.get('container_name', '') %}
{% set svc_running = namespace(val=false) %}
{% for ct in containers %}
{% if ct.get('name', '').startswith(svc_cn ~ '-') and ct.get('status', '')|lower in ['running', 'started'] %}
{% set svc_running.val = true %}
{% endif %}
{% endfor %}
{{ svc.get('name') }}
SVC
{% endfor %}
{% for ct in orphan_containers %}
{% set ct_up = ct.get('status', '')|lower in ['running', 'started'] %}
{{ ct.get('name', ct.get('id', '?')) }}
{% if ct.get('os') %}{{ ct.get('os') }}{% endif %}
{% if ct.get('ip') %}{{ ct.get('ip') }}{% endif %}
{% endfor %}
Unreachable
{% endif %}
No servers configured
Edit infrastructure.conf to add your servers.