summaryrefslogtreecommitdiff
path: root/src/helpers
AgeCommit message (Collapse)Author
2026-05-12wan: T8481: scope flush-connections to WLB connection marks (#5163)Simon
* wan: T8481: scope flush-connections to WLB connection marks flush-connections runs conntrack --delete which destroys all conntrack entries system-wide, including unrelated NAT translations and established connections that have nothing to do with WLB. WLB tags every connection it manages with a conntrack mark via the wlb_mangle_isp_<ifname> chain (ct mark set 0xc9, 0xca, etc.). Scope the flush to these marks so only WLB-managed connections are affected. Signed-off-by: doctorpangloss <2229300+doctorpangloss@users.noreply.github.com> * wan: T8481: replace conntrack deletion from state changed block --------- Signed-off-by: doctorpangloss <2229300+doctorpangloss@users.noreply.github.com> Co-authored-by: doctorpangloss <2229300+doctorpangloss@users.noreply.github.com>
2026-04-26utils: T8541: add write-config-file-value helperChristian Breunig
Introduce src/helpers/write-config-file-value.py to patch a saved config.boot from scripts by writing a quoted CLI path with an optional value (omit --value to create a valueless node). Extend vyos.utils.config.write_saved_value() to safely update saved configs: create missing parent nodes before tagging (ConfigTree.set_tag requires nodes to exist) and then write the requested value/valueless leaf back to disk. Remove the legacy serial console activation script which is now replaced by the helper-based approach. The helper is run once during ISO Image assembly and will inject the approprate serial console defintiions into config.boot.default.
2026-04-15T8445: add revised boot activation script runnerJohn Estabrook
2026-03-24T8410: Fix typos and mistakes for operational and configuration commandsViacheslav Hletenko
Fix typos and mistakes in the commands and comments No functional changes
2026-03-13geoip: T6768: Add system name-server checksarthurdev
2026-02-05Merge pull request #4949 from sarthurdev/geoip_refactorDaniil Baturin
geoip: T7926: T8049: Refactor geoip code and add MaxMind support
2026-01-28http-api: T7090: Implement background configure operations for REST APIOleksandr Kuchmystyi
Large config commits (`service config-sync`) can block the REST API request path and sometimes must be deferred (e.g., when changing `service https`). This commit introduces an in-memory background operation manager that queues (FIFO) full configure operations (commands + commit/commit-confirm) as single jobs, tracks status/result, and exposes active operations via `/retrieve/background-operations`.
2026-01-21geoip: T8049: Add MaxMind database supportsarthurdev
2026-01-21geoip: T7926: Refactor geoip handlingsarthurdev
* Move core logic to separate vyos.geoip module * Use a sqlite database for storing and querying address ranges by country * Remove downloaded geoip ranges once loaded into sqlite db * No longer rebuild geoip sets on each commit unless necessary * Allows for extensibility using other geoip data vendors
2026-01-06Merge pull request #4935 from giga1699/T8146Daniil Baturin
T8146: Confirm the key when config encryption is configured without TPM
2026-01-03T8146: Encryption without TPM confirm keyGiga Murphy
2026-01-03T8145: LUKS Encryption Passphrase ObservableGiga Murphy
2025-12-23vpp: T8080: Fix handling of configuration system lock after vpp commit failureNataliia Solomko
2025-11-05T7910: add keyword extant, for use by teardown scriptJohn Estabrook
The standalone script teardown-config-session.py is called on CLI config-mode exit, to close the persistent vyconf config session. Instead of injecting the config-mode env var into the external script to indicate a non-ephemeral session, add keyword 'extant' to find existing session.
2025-11-03Merge pull request #4818 from l0crian1/wlb-defaultsViacheslav Hletenko
wlb: T7966: Restore default route when interface disconnects/reconnects
2025-10-30wlb: TT7966: Refactor dynamic nexthop resolutionl0crian1
2025-10-29pki: T7953: systemd certbot.service must not use PrivateTmpChristian Breunig
PrivateTmp needs to be disabled, otherwise we can not load the current VyOS configuration to reconfigure the service automatically when certbot runs.
2025-10-29wlb: T7966: Restore default route when interface disconnects/reconnectsl0crian1
2025-10-21T5811: Make static dhcp-interface routes robustKyrylo Yatsenko
Solves the problem that vyos-configs in FRRender caches configuation and DHCP changes are ignored. * Add src/helpers/vyos-request-configd-update.py that requests vyos-configd to update FRR configuration. * Make dhclient hooks use it instead of calling protocols_static.py * Make FRRender cache not only configuration but also DHCP gateways so that is any of them changes, FRR configuration is updated
2025-10-14T5942: Make failover support dhcp-interfaceKyrylo Yatsenko
* Refactor XML a little: move common dhcp-interface properties to separate include file * Add failover support for dhcp-interface * Add test for DHCP in failover protocol
2025-10-08T7803: Make failover route vrf-awareKyrylo Yatsenko
* Added 'protocol failover' to 'set vrf name': set vrf name red protocols failover route 10.11.0.110/32 next-hop 10.0.0.2 * Added vrf and interface to target: set ... next-hop 10.0.0.2 check target '10.120.0.21' vrf blue set ... next-hop 10.0.0.2 check target '10.120.0.21' interface eth1 Last two are needed when check VRF is not same as route VRF. In this case icmp can use any/both options, tcp requires `vrf` and arp requires `interface`
2025-09-30boot-config-loader: T7889: Inform user during login of config-load issuesChristian Breunig
As T7885 turns out to be a config load related bug the user will only be informed when entering conf mode that something is off. vyos@vyos:~$ configure WARNING: There was a config error on boot: saving the configuration now could overwrite data. You may want to check and reload the boot config More information is displayed on tty0 of the router - but not everyone has access to tty0. This change is about copying the message displayed on tty0 to the MOTD system.
2025-09-25Merge pull request #4753 from jestabro/config-save-sync-atomicDaniil Baturin
T7709: Add file sync and atomic write to config save script
2025-09-24T7709: use write_file_sync/atomic in vyos-save-config.py scriptJohn Estabrook
Config save is provided by the helper script in both CLI and configsession (hence also in the http api). Use utilities write_file_sync and write_file_atomic, in accordance with permissions and location: If the target is in /opt/vyatta/etc/config or /config, use write_file_sync; if, moreover, the caller has permissions, use write_file_atomic. Otherwise, fall back to util write_file.
2025-09-23tpm: T7726: Test TPM key or prompt recovery keysarthurdev
2025-09-23tpm: T7726: Prompt before overwriting existing TPM keysarthurdev
2025-09-23tpm: T7726: Prompt user before clearing TPM keysarthurdev
2025-09-23tpm: T4919: Use vyos module function for running image, single-line importssarthurdev
2025-09-23tpm: T7735: Only require key/recovery if unmappedsarthurdev
2025-09-23tpm: T7713: Restore original config mounts when decryptingsarthurdev
2025-09-23tpm: T7717: Preserve group on config and archivessarthurdev
2025-09-23tpm: T7720: Handle encrypt failure and gracefully abortsarthurdev
2025-09-23tpm: T7727: Prompt to overwrite an existing backupsarthurdev
Move encrypted volume check before key input Unmount any conflicting config bind mounts
2025-09-19T7836: use /opt/vyatta/etc/config as source of truth in tpm encryptionJohn Estabrook
The mount point /opt/vyatta/etc/config is considered the source of truth whereas /config is simply a bind mount of convenience. As the latter is no longer defined at boot, all operations should use the former.
2025-09-18Merge pull request #4708 from sarthurdev/T114Daniil Baturin
wlb: T114: Add firewall group support for WAN load balancer
2025-09-13Debian: T7817: vyos_net_name exists in debian/tmp but is not installed to ↵Christian Breunig
anywhere Fix this build warning by placing the vyos_net_name script in it's own udev folder to not accidently be copied to a wrong location.
2025-09-10wlb: T114: Add firewall group support for WAN load balancersarthurdev
2025-08-27T7759: Revert "T7709: add atomic write for config file save"John Estabrook
The utility write_file_atomic does not correctly update the file in the bind mount directory /config. Revert for investigation. This reverts commit c140f827f3117609908a3a18034027d3d78149ac.
2025-08-19Merge pull request #4660 from jestabro/validate-treeJohn Estabrook
T7718: expose validate_tree* methods and add validate-config script
2025-08-18T7718: add validate-config scriptJohn Estabrook
2025-08-12T7709: add atomic write for config file saveJohn Estabrook
2025-08-04T7688: make exit error and output of wrapper script handle all casesJohn Estabrook
2025-07-31Merge pull request #4630 from jestabro/fix-vpp-failure-handlerDaniil Baturin
T7651: VPP use pid not ppid as default in vpp-failure-handler.service script
2025-07-29T7651: use pid not ppid if not specifiedJohn Estabrook
The reset_section.py script is used in a limited case for both (1) recovery from an apply error in a config mode script and (2) recovery by a service crash in a failure handler service. In the latter case, the default pid must be os.getpid, not os.getppid, so as not to be called by pid 1.
2025-07-29Merge pull request #4627 from sarthurdev/T7628Daniil Baturin
T7628: Fix non-TPM backed config encryption
2025-07-16Merge pull request #4605 from MattKobayashi/T7625Viacheslav Hletenko
T7625: load-balancing: prune limit key if not configured
2025-07-15tpm: T7628: Fix non-TPM backed encryptionsarthurdev
2025-07-15tpm: T4919: Not supported on live-ISOsarthurdev
2025-07-14T7627: fix regression to allow load without arg to load default configJohn Estabrook
2025-07-14T7625: load-balancing: prune limit key if not configuredMatthew Kobayashi