Skip to content

History / File Output

Revisions

  • wiki: say what each feature is for, before saying what it does Twenty-two sections opened by restating their own name - "NodeClass defines device types and their basic properties", "Define automatic parameter assignment" - or by going straight into a table. A reader who does not already know why the feature exists learns nothing from the syntax that follows. Each now opens with what it is useful for. The existing text is untouched; this is one paragraph added in front of it. The six class definitions carried the most weight, since the class system is where a topology's shape is decided and "NodeClass defines device types" says nothing about why there is one class per kind of object. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

    @cpflat cpflat committed Aug 14, 2026
  • wiki: finish the terminology change, and give every page a way out The substitution left the word in a few places and left Basic-Concepts arguing with its own definition: the callout said a topology is both files, and the page below kept saying "change topology" for editing the DOT file. A reader ends a page believing whatever it said last. - the graph is called the graph where the graph is meant - "topology file" only where a platform is named; the cross-platform places name topo.yaml and spec.yaml instead - Upgrading names netroub, which the CHANGELOG already warns about, as the downstream tool that reads generated files by path - Basic-Concepts and Command-Reference had no outgoing links at all; both now end somewhere, and the class table and param_rule reach the pages that explain them - two links pointed at nothing (a Graphviz-style path, an anchor with a slash in it) Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

    @cpflat cpflat committed Aug 13, 2026
  • wiki: say topology where a topology is meant, and stop saying scenario scenario is netroub's word - a configuration together with the events that happen in it, defined in its papers and in its own schema, where a scenario is a topology plus events. This documentation had taken it for what a reader writes, which would have left two projects by the same author using one word for two things. What you write - the DOT file and the YAML that configures it - is a topology, which is how this field already speaks: containerlab calls its own file a topology definition and puts the nodes' images and configuration in it. Basic-Concepts and Home say so before the word is used. Where only the graph is meant the pages now say the DOT file, and topology file is left to mean what a platform reads.

    @cpflat cpflat committed Aug 13, 2026
  • explain what the fields decide, not just that they exist A table row saying provide is 'mount or copy' tells a reader nothing about which to pick. The file definition fields now say what each one decides and links to the section that explains the choice, and the same was done for the param_rule sources and the class combination rules - where the config row was also wrong: two classes defining a config entry of the same name is an error whatever their strength, not a conflict resolved by tier. Module-FRR says where the log actually ends up: inside the container while the lab runs, under collected/<node>/ once it is destroyed, owned by whoever ran the script. That is the question a reader of the FRR page has, and answering it there is worth the repetition. Best-Practices had two sections about building incrementally and no table of contents; it now has one of each, in an order that follows how a scenario is written, plus what multi-host asks of a design. Also: the upgrade page belongs in Getting Started, not under Modules; node_class: is not a key and 0.8.0 rejects it; TiNET's complete example still had sysctls, switches: [] and ./ mounts; a digraph cannot hold --; and virtual on an interface no longer taking its link with it is a breaking change nobody was told about.

    @cpflat cpflat committed Aug 12, 2026
  • fix what the sweep left behind: names, examples, and the rules they depend on The pages written from scratch were checked against the code; the older ones were not, and the site contradicted itself. The default interface prefix said net in the reference and eth in the upgrade page. The frr FormatStyle was called frrVtysh, which never existed. TiNET's mounts had no $PWD and grew a sysctls section it does not generate; containerlab's examples had no network-mode: none, in a page that explains it is there. The tutorial's first YAML example used keys that do not exist, which 0.8.0 rejects outright, and Best-Practices told readers to run subcommands that were never implemented. Added what everything else leans on: how several classes on one object combine and which one wins, scope: group and what a group-scoped file is for, and the per-machine topology and spec files on the two platform pages. Kathara and assert are in the module tables now, so the new page can be reached.

    @cpflat cpflat committed Aug 12, 2026
  • 0.8.0: file provisioning, the module/scenario boundary, and a Kathara page File-Output: path now decides where a file is written as well as where it goes in the container, which is a breaking change; provide: mount|copy, staging, collect, executable. Module-System: which names may cross between a module and a scenario - class names, value names, and the hooks dot2net owns (startup, teardown). A module class pulled in with use: can add to a hook. Module-Kathara: new. Why the lab sits in a directory of its own, why mounts are directories and what mount_dirs states, and what Kathara cannot express.

    @cpflat cpflat committed Aug 12, 2026
  • fix TiNet -> TiNET, update broken links to File-Output and Module-System

    @cpflat cpflat committed Jan 3, 2026
  • reorganize wiki: split File-Output and Module-System, restructure Home categories

    @cpflat cpflat committed Jan 3, 2026