status
Problems
{problemCount}
{problemCount === 1 ? 'entity' : 'entities'} not healthy
{#each problemGroups as g}
{HEALTH_LABEL[g.h]} · {g.items.length}
{#each g.items as it}
openNode(it.slug)}>
{it.name}
{it.kind}
{/each}
{/each}
status
{HEALTH_LABEL[healthFilter]}
{healthItems.length}
{healthItems.length === 1 ? 'entity' : 'entities'}
{HEALTH_LABEL[healthFilter]}
{#each healthItems as it}
openNode(it.slug)}>
{it.name}
{it.kind}
{/each}
{detailNode.slug}
{detailNode.name}
{HEALTH_LABEL[detailNode.health]}
0}>{detailBlast.length}
{detailNode.kind === 'service'
? 'downstream service'
: 'service'}{detailBlast.length === 1 ? '' : 's'}
affected if this goes down
Attributes
{#if detailNode.kind === 'container'}
type {detailNode.type}
{/if}
{#if detailNode.role}
role {detailNode.role}
{/if}
{#if detailNode.ip}
ip {detailNode.ip}
{/if}
{#if detailNode.publicHost}
url {detailNode.publicHost}
exposure {detailNode.fauth
? 'forward-auth gated'
: detailNode.fauth === false
? 'no auth gate'
: 'public'}
{:else if detailNode.url}
url {detailNode.url}
{/if}
{#if detailNode.mounts.length}
mounts {detailNode.mounts.join(', ')}
{/if}
{#if detailNode.repo}
config {detailNode.repo}
{/if}
{#if detailRunsOn.length}
Runs on
{#each detailRunsOn as it}
openNode(it.slug)}>
{it.name}
{it.kind}
{/each}
{/if}
{#if detailDeps.length}
Depends on
{#each detailDeps as it}
openNode(it.slug)}>
{it.name}
{it.kind}
{/each}
{/if}
{#if detailProvides.length}
{detailNode.kind === 'host' ? 'Hosts' : 'Provides'}
{#each detailProvides as it}
openNode(it.slug)}>
{it.name}
{it.kind}
{/each}
{/if}
{#if detailNode.kind === 'service' && detailBlast.length}
Depended on by
{#each detailBlast as it}
openNode(it.slug)}>
{it.name}
{it.kind}
{/each}
{/if}
Health
{#each HEALTH_ORDER as h}
{HEALTH_LABEL[h]}
{/each}
Lanes
Hosts — physical machines
Containers — LXCs & VMs
Services — what you actually use
Every service flows right from the machine that runs it. Hover any node to trace its
chain and blast radius — what breaks if it goes down. Click to open it in a window.
Dashed arcs are service-to-service dependencies.