in web/src/app/pages/graph/architecture-graph/graph/components/workload.ts [94:174]
export function generateNodeMetadataBox(node: GraphNode): GraphObject {
const generateTaintItems = () => {
if (node.taints.length == 0) {
return [$label('No taints').withStyle(NODE_METADATA_LABEL_NORMAL)];
}
return [
$label('Node taints:').withStyle(NODE_METADATA_LABEL_NORMAL),
...node.taints.map((t) =>
$rect()
.withStyle(METADATA_BOX_WARNING)
.withChildren([
$label(t)
.withStyle(NODE_METADATA_LABEL_NORMAL)
.withMargin(2, 5, 2, 5),
]),
),
];
};
const generateConditionItems = () => {
return [
$label('Node conditions:').withStyle(NODE_METADATA_LABEL_NORMAL),
...node.conditions.map((c) =>
$rect()
.withStyle(
c.is_positive_status ? TRANSPARENT_BOX : METADATA_BOX_ERROR,
)
.withChildren([
$label(`${c.type} : ${c.status}`)
.withStyle(NODE_METADATA_LABEL_NORMAL)
.withMargin(2, 5, 2, 5),
]),
),
];
};
return $empty()
.withMinSize(0, 350)
.withChildren([
...common.generateDeletionOrUpdateLabel(node, GRAPH_COLORS.NODE, 20),
$alignedBox(
Direction.Vertical,
TRANSPARENT_BOX,
5,
[0, 0, 0, 0],
[
$alignedBox(
Direction.Vertical,
NODE_METADATA_BOX,
0,
[3, 5, 3, 5],
[
$label(`PodCIDR:${node.podCIDR}`).withStyle(
NODE_METADATA_LABEL_NORMAL,
),
$label(`InternalIP:${node.internalIP}`).withStyle(
NODE_METADATA_LABEL_NORMAL,
),
$label(`ExternalIP:${node.externalIP}`).withStyle(
NODE_METADATA_LABEL_NORMAL,
),
],
),
$alignedBox(
Direction.Vertical,
NODE_METADATA_BOX,
3,
[3, 5, 3, 5],
[...generateTaintItems()],
),
$alignedBox(
Direction.Vertical,
NODE_METADATA_BOX,
3,
[3, 5, 3, 5],
[...generateConditionItems()],
),
],
),
]);
}