summaryrefslogtreecommitdiff
path: root/docs
AgeCommit message (Collapse)Author
2026-06-09docs: Remove stale CLI output examples from build-vyos.mdMilaNad
2026-06-09Update default Git branch in build-vyos.md (#2088)Quill
Update the default Git branch in build-vyos.md from 'current' to 'rolling'
2026-06-09docs: Update OpenFabric page to VyOS 1.5 standards (#2060)LiudmylaNad
* docs: Update OpenFabric page to VyOS 1.5 standards * Update openfabric.md * Update openfabric.md * Update openfabric.md
2026-06-09docs: Update RPKI page to VyOS 1.5 standards (#2061)LiudmylaNad
* docs: Update RPKI page to VyOS 1.5 standards * Update rpki.md * Update rpki.md
2026-06-08docs: Update Traffic Engineering page to VyOS 1.5 standards (#2066)LiudmylaNad
* docs: Update Traffic Engineering page to VyOS 1.5 standards * Update traffic-engineering.md * Update traffic-engineering.md
2026-06-08docs: Update Segment Routing page to VyOS 1.5 standards (#2067)LiudmylaNad
* docs: Update Segment Routing page to VyOS 1.5 standards * docs: Minor corrections * docs: Minor formatting corrections * Update segment-routing.md
2026-06-08docs: Update RIP page to VyOS 1.5 standards (#2068)LiudmylaNad
* docs: Update RIP page to VyOS 1.5 standards * Update rip.md
2026-06-08docs: Update PIM page to VyOS 1.5 standards (#2069)LiudmylaNad
* docs: Update PIM page to VyOS 1.5 standards * Update pim.md
2026-06-08docs: Update MPLS page to VyOS 1.5 standards (#2082)LiudmylaNad
* docs: Update MPLS page to VyOS 1.5 standards * Update mpls.md
2026-06-08Merge pull request #2086 from woodsb02/T8967Viacheslav Hletenko
T8967: Fix update-check URL for rolling
2026-06-07T8967: Fix update-check URL for rollingBen Woods
2026-06-03Merge pull request #2055 from alexandr-san4ez/T8308-rollingViacheslav Hletenko
conntrack: T8308: Enhancements to the `show conntrack table` op-mode command
2026-05-28docs: Update Static page to VyOS 1.5 standards (#2049)LiudmylaNad
* docs: Update Static page to VyOS 1.5 standards * Update static.md * Remove needless words * Fix an incorrect fact about RIB not preserving routes after interface state changes --------- Co-authored-by: Daniil Baturin <daniil@baturin.org>
2026-05-28ipsec: T7555: Documentation of `ikev2-reauth` option for site-to-site peers ↵Alexandr K.
(#2047)
2026-05-26docs: Update BFD page to VyOS 1.5 standards (#2056)LiudmylaNad
* docs: Update BFD page to VyOS 1.5 standards * Update bfd.md * Remove mentions of security from the minimum-ttl section --------- Co-authored-by: Daniil Baturin <daniil@baturin.org>
2026-05-26docs: Update IGMP Proxy page to VyOS 1.5 standards (#2054)LiudmylaNad
* docs: Update IGMP Proxy page to VyOS 1.5 standards * Minor formatting corrections * docs: use RFC 5737 IP range * Apply suggestions from code review Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * Update igmp-proxy.md --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2026-05-26docs: Update Multicust page to VyOS 1.5 standards (#2057)LiudmylaNad
2026-05-26docs: Update PIMv6 page to VyOS 1.5 standards (#2059)LiudmylaNad
2026-05-22conntrack: T8308: Enhancements to the `show conntrack table` op-mode commandOleksandr Kuchmystyi
- Display per-flow packet and byte counters (original and reply direction). - Add VRF filter option `show conntrack table <ipv4|ipv6> vrf <vrf-name>`.
2026-05-20Merge pull request #2053 from natali-rs1985/T7059Viacheslav Hletenko
high-availability: T7059: Add persistence-timeout option in virtual-server
2026-05-20high-availability: T7059: Add persistence-timeout option in virtual-serverNataliia Solomko
2026-05-18Update Git branch to 'rolling'Quill Cronwall
Update the upstream Git branch from 'current' to 'rolling in the 'Write Documentation' instructions.
2026-05-14bgp: T8607: Add CLI support for BGP update-delay and establish-wait (#1891)Nataliia S.
* bgp: T8607: Add CLI support for BGP update-delay and establish-wait * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * T8607: Apply Copilot's suggestions --------- Co-authored-by: Christian Breunig <christian@breunig.cc> Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-05-14Merge pull request #2024 from vyos/yuriy/cli-aws-doc-fixesYuriy Andamasov
docs: fix CLI typo, orphan fences, CloudWatch case, terraformvyos link labels
2026-05-14docs(cli, aws): hard-wrap pre-existing long prose lines to <=80 charsYuriy Andamasov
doc-lint regression on [vyos-documentation#2024](https://github.com/vyos/vyos-documentation/pull/2024): the CI workflow's `scripts/doc-linter.py` scans every line of every changed file (not just changed lines), so the typo fix on `cli.md:464` and the capitalization fix on `aws.md:118` surfaced 57 pre-existing >80-char violations that have lived on rolling since the MyST migration. `cli.md` — 53 prose paragraphs hard-wrapped at word boundaries to 80 chars, preserving content fidelity. List items use hanging-indent continuations under their `- ` marker. No content reworded; only soft-wrap → hard-wrap. `aws.md` — wrapped the inline AWS GWLB blog link (L164) and the References section (L185-187) with `% stop_vyoslinter` / `% start_vyoslinter` markers. These are URL-bearing lines that cannot be shortened (URL itself >80 chars). Verified locally: `python3 scripts/doc-linter.py "['docs/cli.md','docs/installation/cloud/aws.md','docs/automation/terraform/terraformvyos.md']"` → exit 0, no violations. 🤖 Generated by [robots](https://vyos.io)
2026-05-14docs(terraform): wrap long install URL in vyoslinter suppressionYuriy Andamasov
The full HashiCorp install-CLI URL is 79 chars, so any reference definition `[X]: <URL>` form exceeds the 80-char docs-lint limit regardless of label length. Existing `% stop_vyoslinter` / `% start_vyoslinter` markers in this file were back-to-back with no content between them (flagged by Copilot on [vyos-documentation#2021](https://github.com/vyos/vyos-documentation/pull/2021)) — put them to work by wrapping the long `[install Terraform]:` reference. The shorter `[Terraform introduction]:` reference (73 chars) sits outside the suppression range. Both Copilot and CodeRabbit flagged the docs-lint regression on [vyos-documentation#2024](https://github.com/vyos/vyos-documentation/pull/2024) — verified locally with `python3 scripts/doc-linter.py docs/automation/terraform/terraformvyos.md`: no warnings. 🤖 Generated by [robots](https://vyos.io)
2026-05-14docs(terraform): replace non-descriptive [link]/[install] reference labelsYuriy Andamasov
Surfaced by CodeRabbit on the circinus RST→MD conversion PR [vyos-documentation#2021](https://github.com/vyos/vyos-documentation/pull/2021) (`terraformvyos.md:14`). Both labels violate MD059 (descriptive link text) — generic words like "link" don't convey the destination to screen-reader users or search indexers. Pre-existing on rolling; out of scope for the conversion port, fixed here at the source. Mergify will backport to circinus and sagitta. Sibling `automation/terraform/index.md` already uses the descriptive form ([Terraform], [Ansible]). 🤖 Generated by [robots](https://vyos.io)
2026-05-14fix(includes): wrap admonition in `{only} not latex` to preserve PDF suppressionYuriy Andamasov
The original RST `_include/need_improvement.txt` wrapped the admonition in `.. raw:: latex \iffalse / \fi`, intentionally hiding the "Call for Contributions" notice from the LaTeX/PDF builder (see b222a313, 2020). `.readthedocs.yml` enables `formats: - pdf` and `conf.py` configures `latex_elements`/`latex_documents`, so PDF output is a real downstream artifact. The previous commit (82a06e1d) dropped that suppression. Restore it using Sphinx's `only` directive with `not latex`, which is the MyST equivalent of the original RST builder-conditional pattern. Spotted by Copilot inline review on #2016. 🤖 Generated by [robots](https://vyos.io)
2026-05-14docs: fix CLI typo, orphan colon fences, CloudWatch capitalizationYuriy Andamasov
Three pre-existing rolling docs bugs, surfaced by Copilot review on the sagitta RST→MD conversion PR #2022 against the byte-for-byte ports of `cli.md` and `aws.md`: - `cli.md` line 464: `set interface ethernet …` is wrong; the CLI command is `set interfaces ethernet …` (plural). Users copying the example verbatim would hit "Configuration path is not valid". - `cli.md` lines 527-528: orphan `:::` / `::::` fence closers after the `{cfgcmd} save` block. The `(save)=` directive opens at line 503 and closes at line 506; the two `` ``` none `` blocks at 508-526 are self-contained; nothing opens these colon fences. MyST/Sphinx tolerates them silently today but they're literal noise. Drop both. - `aws.md` line 118: "Cloudwatch" → "CloudWatch", matching the surrounding correctly-cased uses on lines 115/121/122 and AWS's product naming. Mergify will backport to circinus and sagitta via the standard `@Mergifyio backport circinus sagitta` post-merge. 🤖 Generated by [robots](https://vyos.io)
2026-05-13fix(includes): rewrite need_improvement.txt as MyST so plain `{include}` ↵Yuriy Andamasov
renders correctly After the RST→MyST migration, ~45 MD pages use the plain `{include}` MyST directive to pull in `_include/need_improvement.txt`. The included file still contained RST (`.. raw:: html`, `.. raw:: latex`, `:ref:`), and MyST's built-in `{include}` parses the content with the *outer* file's parser — i.e. as MyST. RST directives then render as literal paragraphs. Visible symptom on docs.vyos.io/en/rolling (and across 1.5/1.4): the VPP index, VPP subpages, haproxy, isis, bfd, policy, pki, salt, flowtables, webproxy, and others all show: .. raw:: latex \iffalse .. raw:: html Call for Contributions Help improve this section ... For contribution guidelines, see :ref: documentation . Fix: rewrite `_include/need_improvement.txt` as a native MyST admonition (`:::{admonition} Call for Contributions / :class: error / ... / :::`) and drop the now-unnecessary `{eval-rst}` wrapper at the single callsite (`configuration/highavailability/index.md`) that wrapped the include for RST processing. The fix is companion to 9c815d68 (cmdincludemd RST plumbing) but targets the plain-`{include}` path which doesn't route through our custom extension. 🤖 Generated by [robots](https://vyos.io)
2026-05-13pseudo-ethernet: T8540: Add anycast-gateway support for EVPNOleksandr Kuchmystyi
Introduce 'anycast-gateway' option for pseudo-ethernet interfaces. When set, a local FDB entry is installed on the parent bridge to prevent the shared anycast MAC from leaking over the VXLAN overlay.
2026-05-12Merge pull request #1997 from vyos/claude/scan-typos-errors-VJZ5EViacheslav Hletenko
docs: fix typos across configuration, contributing, and vpp docs
2026-05-12fix(ext): parse cmdincludemd content as RST so legacy `_include/*.txt` ↵Yuriy Andamasov
directives render The `_include/*.txt` library is written in reStructuredText (`.. cfgcmd::`, `.. code-block::`, `.. note::`, `.. cmdinclude::`). After the RST→MyST migration, the `{cmdincludemd}` fence on .md pages routed include content through `MockState.nested_parse`, which in MyST 2.0 simply replays the content through the MyST renderer (see myst_parser/mocking.py:153). RST directives in the .txt file then rendered as literal paragraph text: <p>.. cmdinclude:: /_include/interface-description.txt</p> <p>.. cfgcmd:: set interfaces ethernet ...</p> <p>.. code-block:: none</p> User-visible symptom (reported on rolling docs): the Ethernet, dummy, tunnel, bonding, bridge, macsec, vxlan, l2tpv3, pseudo-ethernet, virtual-ethernet, and wireless pages all showed unprocessed `.. cfgcmd::` and `.. cmdinclude::` directives instead of styled command boxes. Fix: mirror MyST's own `{eval-rst}` plumbing (`MockRSTParser().parse(text, doc)` per `mdit_to_docutils/base.py:1655`). Build a fresh document that inherits the outer document's settings + reporter, run `MockRSTParser` over the substituted include content, and graft the resulting children back into the calling document with explicit-target registration. Keeps the Sphinx env available to `cfgcmd`/`opcmd`/`cmdinclude` directives. Verified locally on rolling (Sphinx 7.x, myst-parser 2.0): zero literal `cfgcmd::` / `cmdinclude::` / `code-block::` / `opcmd::` / `note::` / `include::` strings remain in any built HTML page under `configuration/`, `automation/`, `installation/`, `operation/`, `vpp/`; all 11 affected interface pages now render proper `cfgcmd-heading` / `cfgcmd-body` blocks (e.g. ethernet.html: 160, wireless.html: 172, dummy.html: 4). 🤖 Generated by [robots](https://vyos.io)
2026-05-12docs: address ready-flip review (webproxy hostname, ospf grammar, ipsec polish)Yuriy Andamasov
- webproxy.md: replace `ftp.univ-tlse1.fr` with `ftp.example.com` so the hostname matches the documentation-reserved IP `192.0.2.249` (Copilot). - ospf.md: insert missing preposition in `show ip ospf interface` and `show ipv6 ospfv3 interface` op-cmd descriptions (CodeRabbit). - ipsec.md: rewrite intro sentence ("can significantly speed up …") and hyphenate `feature-rich` (CodeRabbit). 🤖 Generated by [robots](https://vyos.io)
2026-05-11docs: address Copilot grammar review on ospf and vpp ipsecClaude
- ipsec.md: "to speed-up" -> "to speed up"; drop article in "creates a corresponding SAs and policies"; "there routes" -> "these routes". - ospf.md: "Cost calculation wireguard interfaces" -> "Cost calculation for WireGuard interfaces". https://claude.ai/code/session_01RDpSBDLSWLKMGnyPCaKECB
2026-05-11docs: hard-wrap pre-existing long prose lines to satisfy doc-linterClaude
scripts/doc-linter.py enforces an 80-character limit outside fenced code blocks and treats any finding as a failure. Wrap long paragraphs in files that this PR touched so CI passes: - docs/configuration/protocols/ospf.md: wrap the WireGuard cost note. - docs/configuration/protocols/traffic-engineering.md: wrap the IS-IS/ OSPF note. - docs/contributing/debugging.md: wrap the Phabricator paragraph, and guard the long [bootchart.conf]/[vyatta-cfg] link references at EOF with `% stop_vyoslinter`/`% start_vyoslinter`. - docs/vpp/configuration/ipsec.md: wrap the integration, requirements, algorithm, ACL, VTI example, troubleshooting paragraphs. Pure reformatting; no semantic changes. https://claude.ai/code/session_01RDpSBDLSWLKMGnyPCaKECB
2026-05-11docs: address review feedback and pre-existing doc-lint errorsClaude
- terraformAWS.md: balance the orphan `.. stop_vyoslinter` directive inside the eval-rst block and wrap the long MyST link references at EOF with `% stop_vyoslinter`/`% start_vyoslinter`. - webproxy.md: replace real-world IP 193.49.48.249 with doc-range 192.0.2.249 in the blacklist update example output. - console-server.md: "some times" -> "sometimes". - bgp.md: "command disable" -> "command disables"; add comma before "use the delete form"; "Route dampening which described in" -> "Route dampening, described in". https://claude.ai/code/session_01RDpSBDLSWLKMGnyPCaKECB
2026-05-11docs: fix typos across configuration, contributing, and vpp docsClaude
Corrections include: adresses->addresses, oder->other, Them->The, criterias->criteria, seeting->setting, carefull->careful, beeing->being, reenable->re-enable, wich->which, derection->direction, Whith->With, assosiate->associate, fpr->for, bootup->boot, trough->through. https://claude.ai/code/session_01RDpSBDLSWLKMGnyPCaKECB
2026-05-11Fix recursive _build directory nesting errorQuill Cronwall
2026-05-10docs: drop stray terraformvyos.rst and remove .rst from source_suffixYuriy Andamasov
The .md equivalent already exists alongside it; with both present and `source_suffix = ['.rst', '.md']`, Sphinx silently preferred the .rst. Deletion removes the shadowing and the only active .rst left in tree (legacy is archived under docs/_rst_legacy/). Restricting source_suffix to ['.md'] prevents future stray .rst files from being picked up, and is what external indexers (e.g. context7) look at when classifying the source format of the docs. 🤖 Generated by [robots](https://vyos.io)
2026-05-10chore: livehtml — drop stale md-* ignore, add _rst_legacy ignoreYuriy Andamasov
The md- prefix on MyST-migrated pages was retired; the ignore was dead config. Replace with _rst_legacy/ so sphinx-autobuild watches don't trigger on archive edits. Addresses Copilot's low-confidence suggestion on PR #1940. 🤖 Generated by [robots](https://vyos.io)
2026-05-10chore: remove RST swap mechanism, archive rst-*.rst under docs/_rst_legacy/Yuriy Andamasov
The swap mechanism (RST-as-fallback for migrated MD pages) is dormant — docs/_rst_overrides.txt has been empty since the MyST flip trio (#1899/#1900/#1901) landed in May 2026. The mechanism's surface area (scripts/swap_sources.py, its 245-line test, RTD pre/post hooks, Makefile glue, conf.py dynamic loader) is dead weight, and the rst-*.rst shadows scattered across the source tree cause Context7's parser to misclassify the project as RST. Changes: - Move 253 rst-*.rst shadow files into docs/_rst_legacy/ preserving subdirectory structure. They remain in the repo for reference; Sphinx excludes the folder via exclude_patterns; Context7 excludes it via excludeFolders. - Strip swap_sources.py invocation from docs/Makefile (swap/restore targets, : swap deps, trap chains). - Strip jobs: pre_build/post_build block from .readthedocs.yml. - Strip rst-*.rst exclude entry and the _md_exclude.txt loader from docs/conf.py; replace with a single _rst_legacy exclude. - Delete scripts/swap_sources.py, tests/test_swap_sources.py, docs/_rst_overrides.txt. - Update context7.json: add docs/_rst_legacy to excludeFolders; fix stale "Branch current tracks…" rule to "Branch rolling tracks…" (default branch was renamed 2026-05-10). - Update AGENTS.md: drop the "RST override mechanism" section and the test-runner snippet for the deleted test; describe _rst_legacy as archive only. Verified: sphinx-build -b html with --keep-going produces identical warning set (68 unique), identical sitemap entry count (257), identical llms.txt entry count (22), zero rst-* URLs in any artifact. 🤖 Generated by [robots](https://vyos.io)
2026-05-10ci/docs: drop current branch references after rename to rollingYuriy Andamasov
Cleanup PR following the current→rolling default-branch rename. Drops the now-stale current branch from workflow triggers, flips remaining defaults, and updates documentation/templates. Workflows: - pr-mirror-repo-sync.yml: branches narrowed to [rolling]; workflow_dispatch default and choice list now rolling-only; sync_branch fallback flipped from 'current' to 'rolling'. - check-open-prs-conflict.yml: dropped current from push.branches. - update-version-tags.yml: dropped current from push.branches and from the case statement (now bare 'rolling) TAG=rolling'). - submodules.yml: renamed update_current job, branch update-dependencies-current, and the related commit/title strings to rolling. - update-translations.yml: PR branch update-translations-current renamed to update-translations-rolling. - ai-validation.yml: prompt example updated. Docs/templates: - docs/conf.py: READTHEDOCS_GIT_IDENTIFIER fallback flipped to 'rolling'; comment block updated to describe the rolling branch (the user-facing "(current)" suffix is release-channel terminology and remains). - README.md: branching-scheme section now describes rolling as the default branch, with a note about the rename date. - .github/PULL_REQUEST_TEMPLATE.md: CONTRIBUTING link points at blob/rolling. External @current refs to vyos/.github and vyos/vyos-cla-signatures are left untouched — they reference those repos' default branches and are unaffected by this repo's rename. 🤖 Generated by [robots](https://vyos.io)
2026-05-10Merge pull request #1878 from anderbak/t8608-tcp-ping-docsYuriy Andamasov
troubleshooting: T8608: document TCP ping
2026-05-10Merge pull request #1927 from natali-rs1985/T8600Yuriy Andamasov
T8600: Add option to change logging verbosity in Kea
2026-05-08T8600: Add option to change logging verbosity in KeaNataliia Solomko
2026-05-08docs: Remove deprecated cloud-init pageMilaNad
2026-05-08troubleshooting: T8608: document TCP pinganderbak
2026-05-07fix(docs): add missing space after colon in personalization_storageYuriy Andamasov
🤖 Generated by [robots](https://vyos.io)
2026-05-07feat(docs): move Cookiebot CBID to COOKIEBOT_ID env varYuriy Andamasov
Read COOKIEBOT_ID from the environment via conf.py html_context, replacing the hardcoded data-cbid value in layout.html. Guards tightened to {% if gtm_id and cookiebot_id %} so neither GTM nor Cookiebot loads unless both IDs are present. 🤖 Generated by [robots](https://vyos.io)