Changes for version 0.001 - 2026-10-03

  • First release. Renders a set of Kubernetes::Comb custom resources as one self-contained SVG honeycomb: one hexagon per Comb, coloured by phase. No script, no external reference, the same input always gives the same bytes.
  • Kubernetes::Comb::SVG->render draws the picture. Input is a list of Comb custom resources (hashes or TO_JSON objects, an array or a List); nothing is fetched from a cluster.
  • Two layouts. layout => 'depth' (default): groups by a label, rows by dependency depth, dependency edges from spec.dependsOn. layout => 'packed': a status monitor, all Combs sorted by namespace/name in one compact honeycomb that fits a screen; the grid comes from columns, else rows, else aspect (default 16/9).
  • A cell shows the name (broken into two lines after a hyphen, dot or underscore before it is cut), the phase and, when the Comb is not Running, the reason of its Ready condition. The tooltip carries the rest.
  • Phases with a colour of their own: Running, Pending, Blocked, NeedsConfig, Disabled, Error, Stopped, NotDeployed; anything else is Unknown.
  • A Comb that borrows its service from an upstream (status.upstream recorded, not unreachable, phase Running or Pending) is drawn with a dashed outline and the upstream context.
  • theme sets the phase colours and the surfaces of the picture; a value is one colour or { light => ..., dark => ... }. The colours are CSS custom properties (--comb-*) and, with the classes, the documented styling interface. Light and dark colour schemes are built in.
  • blink and blink_seconds make the cells of the named phases pulse through a CSS animation; with prefers-reduced-motion they get a thicker outline instead.
  • Further options: title, group_label, size, edges, legend and a link callback that makes cells clickable.
  • bin/comb-svg renders Comb custom resources from a JSON file or standard input to an SVG on standard output, with the same options as flags.
  • Kubernetes::Comb::SVG::Cell (a Comb read into a cell) and Kubernetes::Comb::SVG::Layout (cells placed on the honeycomb) are public and documented, for callers who want the data without the drawing.
  • examples/demo.svg and examples/monitor.svg show both layouts, rendered by examples/demo.pl from examples/demo.json; the README and the documentation show them as PNG.

Documentation

Render Kubernetes::Comb custom resources from JSON as an SVG honeycomb

Modules

Render Kubernetes::Comb custom resources as an SVG honeycomb
One Comb custom resource, normalised for layout and drawing
Places cells in groups and a honeycomb, by dependency depth or packed