summaryrefslogtreecommitdiff
path: root/docs
AgeCommit message (Collapse)Author
26 hours docs: Update DNS forwarding page to VyOS 1.5 standards (#2163)LiudmylaNad
* docs: Update DNS forwarding page to VyOS 1.5 standards * Update dns.md * Update dns.md
26 hours docs: Update Dynamic DNS page to VyOS 1.5 standards (#2164)LiudmylaNad
* docs: Update Dynamic DNS page to VyOS 1.5 standards
26 hours docs: Update DHCP Relay page to VyOS 1.5 standards (#2146)LiudmylaNad
26 hours docs: Update Router Advertisements page to VyOS 1.5 standards (#2132)LiudmylaNad
* docs: Update Router Advertisements page to VyOS 1.5 standards
27 hours docs: Update HTTP API page to VyOS 1.5 standards (#2131)LiudmylaNad
* docs: Update HTTP API page to VyOS 1.5 standards * Clarify the wording about self-signed certificates * Fix unsual wording regarding DH parameters configuration * Update https.md --------- Co-authored-by: Daniil Baturin <daniil@baturin.org>
47 hoursvyos-api: clarify comment regarding commit failure and partial commits (#2178)John Estabrook
5 daysdocs(Installation): Remove outdated portal link and Proxmox/KVM cloudโ€ฆ (#2176)LiudmylaNad
* docs(Installation): Remove outdated portal link and Proxmox/KVM cloud-init note * Update install.md
8 dayssecurity: remediate CodeQL code-scanning alerts (#2171)Yuriy Andamasov
* security: remediate CodeQL code-scanning alerts (picker XSS sinks, test sanitization, vendored DataTables exclusion) Remediates all 11 open CodeQL alerts on the default branch: - version-picker.js (js/xss-through-dom, alerts 1-3): percent-encode every DOM-derived path component (select.value, parsed location segments) at URL construction time via encodePath()/langUrlFor(), and tighten the parseLocation slug charset to [A-Za-z0-9._-]. No-op on legitimate sphinx slugs โ€” URLs stay byte-identical (asserted by tests). - workers/apex/test/manifest.test.ts (js/incomplete-multi-character- sanitization, alert 6): strip HTML comments from the root.html fixture repeatedly to a fixpoint instead of a single pass. - docs/_static/js/datatables.js (alerts 4,5,7-11): excluded from CodeQL analysis via .github/codeql/codeql-config.yml (new codeql-cfg-path input to the fleet reusable workflow). The file is vendored stock DataTables 1.11.5; the flagged helpers are display/sort normalization, not sanitization boundaries. Excluding keeps the vendored copy byte-identical to upstream instead of hand-patching it. Adds 9 picker tests (hostile-input encoding + slug-charset accept/reject); workers suite 103/103 green. ๐Ÿค– Generated by [robots](https://vyos.io) * security: normalize pre-existing percent escapes in encodePath Adversarial-review finding (Codex, medium): location.pathname returns well-formed escapes verbatim, so blind encodeURIComponent double-encoded them (%2E -> %252E), broke the HEAD probe on escaped deep links, and dumped the user at the version root. Each segment is now decoded first (malformed escapes keep the raw segment โ€” no throw), then re-encoded to canonical single encoding. Decoding cannot resurrect dot-segments: the URL parser resolves '.'/'..' and their percent-encoded forms during navigation, so pathname never presents them (verified against the WHATWG parser in Node). workers suite 106/106 (+2 regression tests, mutation-verified). ๐Ÿค– Generated by [robots](https://vyos.io) * security: normalize percent escapes per run, not per segment Round-2 adversarial finding (Codex, medium): whole-segment decode meant one malformed escape (a%20b%zz) threw for the segment and double-encoded the valid escapes beside it. encodeSegment now decodes+re-encodes each well-formed %HH run independently; literal spans (including a bare '%') always pass through encodeURIComponent, so taint neutralization holds unconditionally; a run decoding to invalid UTF-8 stays verbatim (already pure %HH text). workers suite 108/108 (+2 discriminating regression tests). ๐Ÿค– Generated by [robots](https://vyos.io)
9 daysdocs: exclude superpowers/ from the Sphinx buildYuriy Andamasov
`docs/superpowers/` holds Claude Code plugin-generated internal design specs and plans, not user documentation. Adding `superpowers` to `exclude_patterns` guards against Sphinx ever picking the directory up and publishing it should it reappear in the source tree. Guard only โ€” the content itself was already removed in 3ab97e71 and abb8be5b.
2026-07-21Merge pull request #2152 from BradKollmyer/vyos-api-doc-gaps-T9087-T9092Viacheslav Hletenko
vyos-api: fill automation API doc gaps (T9087โ€“T9092)
2026-07-20 docs: Update Event handler page to VyOS 1.5 standards (#2130)LiudmylaNad
* docs: Update Event handler page to VyOS 1.5 standards * Apply suggestions from code review Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-07-20docs: update flowtable and ethernet/bonding documentation (#2106)jvela-dot
* docs: update flowtable and ethernet/bonding documentation * Removing Netfilter word and add the identification of the interfaces to use FlowTables * Fixed warning from commit:c433e15 * Update docs/configuration/firewall/flowtables.md Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Update docs/configuration/firewall/flowtables.md Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Update docs/configuration/firewall/flowtables.md Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Update docs/configuration/firewall/flowtables.md Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * cfgmc structure and sub-interface offload fixed * Fixed conflicts on flowtable documentation * revert ethernet.md and fixed the latest infos * added subsection to the checks section to show offloaded traffic for sub-interfaces * Final changes * Changed conntrack -L to VyOS command * Replacing new output description with VyOS command --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-07-14vyos-api: T9087: T9092: apply review feedback (line length, retry safety)Brad Kollmyer
Convert the multi-field-node table to wrapped list items per the 80-char docs guideline, and rework the bulk-apply bullet to reconcile state before retrying after a timeout instead of recommending blind retries. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-14vyos-api: T9087: tighten firewall same-request wording (review feedback)Brad Kollmyer
Only port/port-group require protocol in the same request; description alone is fine on an existing rule but fails on a rule no request has created yet. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-14vyos-api: T9092: add bulk configuration guidanceBrad Kollmyer
Batch sizing, geoip/remote-group commit cost, the 1 MB request-body-size-limit, and commit-confirm as a remote safety net. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-14vyos-api: T9090: T9091: batched /configure semantics; save via /config-fileBrad Kollmyer
Document that an operation list commits as one transaction whose error may not identify the failing op (bisect / one-op fallback), and that /configure rejects {"op": "save"} โ€” persistence goes through /config-file. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-14vyos-api: T9089: document /retrieve showConfig on empty pathsBrad Kollmyer
showConfig returns HTTP 400 'Configuration under specified path is empty' for schema-valid but unconfigured paths; recommend probing with exists or treating that error as an empty subtree. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-14vyos-api: T9088: document /show configuration commands exportBrad Kollmyer
The /show endpoint can return the running config as flat set commands (op-mode 'show configuration commands' equivalent) โ€” the natural way to mirror or back up a router over the API; previously undocumented. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-14vyos-api: T9087: document commit atomicity for multi-field nodesBrad Kollmyer
Each /configure request is validated and committed on its own, so fields of one node (task-scheduler executable+interval, NAT translation, firewall action/protocol before port) must be sent in a single request. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-11Merge rolling into claude/pdf-image-conversion (combine constrained apt โ†ตYuriy Andamasov
line: imagemagick, librsvg2-bin, poppler-utils) ๐Ÿค– Generated by [robots](https://vyos.io)
2026-07-10docs-infra: convert webp/svg images for PDF builds (sphinx.ext.imgconverter โ†ตYuriy Andamasov
+ ImageMagick/librsvg) ๐Ÿค– Generated by [robots](https://vyos.io)
2026-07-10docs(DMVPN): T4667: Add firewall rule to prevent unencrypted GRE leaks (#2136)zdc
* docs(DMVPN): T4667: Add firewall rule to prevent unencrypted GRE leaks In DMVPN the mGRE tunnel and the IPSec protecting it are handled independently, so GRE can be forwarded while no IPSec SA is active for a peer (e.g. while an SA is still being negotiated or after one expires), allowing unencrypted GRE to leave the router. This is inherent to combining GRE with IPSec and is common to DMVPN implementations in general. Add a "Protecting against unencrypted traffic leaks" section to the DMVPN reference page explaining the behaviour and recommending an output filter rule that drops GRE not matched by an outbound IPSec policy (ipsec match-none-out). Note that this disables unencrypted GRE on the node entirely, so coexisting plain GRE tunnels would stop working. Apply the same rule in the Dual HUB Dual Cloud example on the VyOS nodes. Co-authored-by: Daniil Baturin <daniil@baturin.org> * docs(DMVPN): reflow DMVPN documentation for line length compliance Reformat the DMVPN guide and dual-hub dual-cloud example to wrap long lines and improve readability without changing the documented behavior or configuration guidance. --------- Co-authored-by: Daniil Baturin <daniil@baturin.org>
2026-07-10docs: Cloudflare Workers hosting pipeline (apex, content workers, CI, โ†ตYuriy Andamasov
previews) (#2140) * docs-infra: scaffold Cloudflare workers workspace (versions.json v2, matrix, toolchain) ๐Ÿค– Generated by [robots](https://vyos.io) * docs-infra: record full Phase-0 plan decision in workers/PLAN.md ๐Ÿค– Generated by [robots](https://vyos.io) * docs-infra: shared content worker โ€” asset serving, cache classes, X-Docs-Build, canary no-store ๐Ÿค– Generated by [robots](https://vyos.io) * docs-infra: run worker script before assets; test fetch entrypoint ๐Ÿค– Generated by [robots](https://vyos.io) * docs-infra: apex manifest loader + dispatch map + runtime binding guard (TDD) ๐Ÿค– Generated by [robots](https://vyos.io) * docs-infra: apex redirects (aliases, PDF, trailing-slash) + special paths (TDD) ๐Ÿค– Generated by [robots](https://vyos.io) * docs-infra: PDF redirect honors pdf:null and preserves query ๐Ÿค– Generated by [robots](https://vyos.io) * docs-infra: apex UA gate โ€” allowlist-wins, log-only AI crawlers, empty block list at launch ๐Ÿค– Generated by [robots](https://vyos.io) * docs-infra: apex router (pipeline ยง3.2), themed 404/503, /kb seam, env configs + congruence test ๐Ÿค– Generated by [robots](https://vyos.io) * docs-infra: add missing-User-Agent regression test for apex UA gate ๐Ÿค– Generated by [robots](https://vyos.io) * docs-infra: R2-streaming preview worker โ€” MIME map, noindex, no-store (TDD) ๐Ÿค– Generated by [robots](https://vyos.io) * docs-infra: preview 404 no-store + fetch handler tests ๐Ÿค– Generated by [robots](https://vyos.io) * docs-infra: bootstrap script โ€” binding-target workers must exist before apex deploys ๐Ÿค– Generated by [robots](https://vyos.io) * docs-infra: apex run_worker_first, lockfile for npm ci, PDF Location from manifest ๐Ÿค– Generated by [robots](https://vyos.io) * docs-infra: derive html_baseurl from DOCS_VERSION_SLUG with RTD fallback (canonical gate prereq) ๐Ÿค– Generated by [robots](https://vyos.io) * docs-infra: version picker + status banner + language scaffold (vanilla JS, TDD pure core) ๐Ÿค– Generated by [robots](https://vyos.io) * docs-infra: picker preserves query+hash across switch; valid breadcrumb markup ๐Ÿค– Generated by [robots](https://vyos.io) * docs-infra: Pagefind search wrapper with runtime base-path + preview prefix handling (TDD) ๐Ÿค– Generated by [robots](https://vyos.io) * docs-infra: pagefind wrapper โ€” asset-failure notice + UI stylesheet load ๐Ÿค– Generated by [robots](https://vyos.io) * docs-infra: gate Pagefind searchbox to CF builds (RTD keeps stock search until cutover) ๐Ÿค– Generated by [robots](https://vyos.io) * docs-infra: deploy sanity gates โ€” limits, critical pages, count-delta, canonical (TDD) ๐Ÿค– Generated by [robots](https://vyos.io) * docs-infra: hermetic gate tests via fixture versions.json ๐Ÿค– Generated by [robots](https://vyos.io) * docs-infra: docs-build workflow โ€” candidate/smoke/promote two-stage deploy + registry + rollback Two-stage CF Workers pipeline: build in pinned container, assemble artifact, sanity gates, deploy candidate, scoped pre-traffic smoke via canary apex, promote (rollback-id capture, hostname purge, registry upload), post-promote probe + auto-rollback. DOCS_CF_LIVE repo variable gates every docs.vyos.io production interaction pre-cutover. scripts/docs_gates/smoke.py adds one authorized check beyond the spec: the version's index.html probe asserts the #vyos-search mount div is present in the response body, guarding CI silently forgetting DOCS_VERSION_SLUG (which would otherwise ship stock RTD search without the Pagefind gate noticing). ๐Ÿค– Generated by [robots](https://vyos.io) * docs-infra: build docs image in-workflow with buildx cache (v4.1 โ€” digest pin dropped) Plan v4.1 amendment: the ghcr.io digest-pinned image does not exist (workflow would hard-fail at the first docker step on every push). Replace the BUILD_IMAGE env placeholder with an in-workflow docker build from docker/Dockerfile via docker/setup-buildx-action@v3 + docker/build-push-action@v6 (context: docker/, load: true, tags: docs-build:local, GHA cache from/to). The checked-out commit is the pin; buildx GHA cache keeps repeat builds cheap. Sphinx-build step swaps to docs-build:local; inner script unchanged. ๐Ÿค– Generated by [robots](https://vyos.io) * docs-infra: apex/preview deploy workflow โ€” canary auto, production behind environment approval * docs-infra: apex-deploy concurrency guard (per-ref, cancel-in-progress) ๐Ÿค– Generated by [robots](https://vyos.io) * docs-infra: fork-safe PR preview pipeline โ€” approval record, R2 prefixes, label consumption, cleanup * docs-infra: nightly preview sweep โ€” pipefail + per-prefix failure isolation ๐Ÿค– Generated by [robots](https://vyos.io) * docs-infra: nightly canary QA โ€” per-entry sweep + URL-parity corpus vs RTD ๐Ÿค– Generated by [robots](https://vyos.io) * docs-infra: parity sweep scoped to CF-built versions; transport-error resilience ๐Ÿค– Generated by [robots](https://vyos.io) * docs-infra: one-off bootstrap workflow (binding targets โ€” runs once on this push) ๐Ÿค– Generated by [robots](https://vyos.io) * docs-infra: remove one-off bootstrap workflow (bootstrap complete) ๐Ÿค– Generated by [robots](https://vyos.io) * docs-infra: one-off canary apex + preview deploy (route targets for Task 3.6 step 2c) ๐Ÿค– Generated by [robots](https://vyos.io) * docs-infra: remove one-off canary deploy workflow (targets live) ๐Ÿค– Generated by [robots](https://vyos.io) * docs-infra: address Phase-0 CodeRabbit findings (canonical gate, error caching, registry pointer, validation) ๐Ÿค– Generated by [robots](https://vyos.io) * docs-infra: strengthen manifest tests (full dispatch iteration, mutation-free validate) ๐Ÿค– Generated by [robots](https://vyos.io) * docs-infra: address GitHub CodeRabbit review (pointer-after-probe, fail-closed sweeps, block-precedence UA gate, preview hardening) ๐Ÿค– Generated by [robots](https://vyos.io) * docs-infra: adversarial review fixes โ€” error no-store, probe retry, PR-list membership, preview dotted-segment ๐Ÿค– Generated by [robots](https://vyos.io) * docs-infra: serve oversized legacy PDF from R2 via apex (spec ยง5 fallback) The 1.3 PDF (29.2 MiB) exceeds the 25 MiB static-asset cap and is absent from the legacy content Worker's build, so /_/downloads/en/1.3/pdf/ (and the picker's PDF link) 301'd into a dead-end 404 post-cutover. Add the R2 object fallback spec ยง5 already documented but never implemented: a DOCS_PDFS R2 bucket binding on the apex Worker, a manifest pdf_r2_key field (1.3 only), and a router step ahead of version dispatch that streams the object with its own cache class (canary/error still force no-store). ๐Ÿค– Generated by [robots](https://vyos.io) * docs-infra: PDF R2 fallback honors Range + If-None-Match, preserves ETag ๐Ÿค– Generated by [robots](https://vyos.io)
2026-07-07 docs: Update Suricata page to VyOS 1.5 standards (#2118)LiudmylaNad
* docs: Update Suricata page to VyOS 1.5 standards * Update suricata.md * Update suricata.md * Update suricata.md
2026-07-06Merge pull request #2133 from LiudmylaNad/te-ospf-noteViacheslav Hletenko
docs(Traffic Engineering): Clarify OSPF advertisement is not yet supported
2026-07-03docs(Traffic Engineering): Clarify OSPF advertisement is not yet supportedMilaNad
2026-07-03docs: Add GeoIP ASN support (T5746) (#2124)Grant
* docs: Add GeoIP ASN support (T5746) * Small styling changes --------- Co-authored-by: Daniil Baturin <daniil@baturin.org>
2026-07-01 docs: Update UDP broadcast relay page to VyOS 1.5 standards (#2115)LiudmylaNad
* docs: Update UDP broadcast relay page to VyOS 1.5 standards * Remove the implication that something other than IPv4 supports broadcast --------- Co-authored-by: Daniil Baturin <daniil@baturin.org>
2026-06-30bgp: T6573: add input/output queue limit CLI commandsChristian Breunig
2026-06-29 docs: Update TFTP server page to VyOS 1.5 standards (#2119)LiudmylaNad
* docs: Update TFTP server page to VyOS 1.5 standards * Update tftp-server.md
2026-06-29docs: Update Console server page to VyOS 1.5 standards (#2117)LiudmylaNad
* docs: Update Console server page to VyOS 1.5 standards * Minor corrections * Minor corrections * Apply suggestions from code review Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Update console-server.md * Apply suggestions from code review Co-authored-by: Daniil Baturin <daniil@baturin.org> * Remove the mention of long-EOL'd VyOS 1.3 --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Daniil Baturin <daniil@baturin.org>
2026-06-23Merge pull request #1865 from alexandr-san4ez/T8540-currentViacheslav Hletenko
pseudo-ethernet: T8540: Add anycast-gateway support for EVPN
2026-06-23docs: Update Config sync page to VyOS 1.5 standards (#2113)LiudmylaNad
* docs: Update Config sync page to VyOS 1.5 standards * Minor corrections * Update config-sync.md * Apply suggestion from @github-actions[bot] Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Apply suggestion from @github-actions[bot] Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-17Fix Cookiebot consent dialog rendering unstyled and breaking the page (#2108)Yuriy Andamasov
On a fresh (no-consent) load the consent banner could render completely unstyled and expand to full page height. Cookiebot delivers its dialog CSS as a constructed stylesheet on document.adoptedStyleSheets; ReadTheDocs' readthedocs-addons.js reassigns that whole-array property with a destructive replace, and when that lands after Cookiebot's network-gated adoption it drops Cookiebot's sheet, leaving #CybotCookiebotDialog at position:static expanded to ~6700px. It is a race, so it is intermittent and clears once consent is given (the dialog then never renders). - layout.html: a small adoptedStyleSheets shim, installed before any page script, that preserves Cookiebot's sheet so another library cannot drop it. - custom.css: a leak-safe safety net that keeps the dialog contained even if its adopted sheet is ever absent. It uses only properties Cookiebot itself sets, so it has verifiably no effect on the normal, styled banner. ๐Ÿค– Generated by [robots](https://vyos.io)
2026-06-16dhcp: Update documentation to sync with DHCPv4/v6 options (#2087)Indrajit Raychaudhuri
* dhcp: Update documentation to sync with DHCPv4/v6 options Sync up with Kea DHCPv4 and DHCPv6 options documentation, and clarify some of the options. * Remove mentions of specific DHCP server implementations Co-authored-by: Daniil Baturin <daniil@baturin.org> --------- Co-authored-by: Daniil Baturin <daniil@baturin.org>
2026-06-16docs: Update IS-IS page to VyOS 1.5 standards (#2102)LiudmylaNad
* docs: Update IS-IS page to VyOS 1.5 standards * Apply suggestions from code review Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Update isis.md * Update isis.md --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-12T8973: remove salt from documentation - feature removedChristian Breunig
2026-06-12Use the 'rolling' branch in install.mdQuill Cronwall
Replace mentions of the 'current' Git branch with 'rolling'
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