summaryrefslogtreecommitdiff
path: root/src/services
AgeCommit message (Collapse)Author
2024-10-21Merge branch 'current' into T6695Nataliia S.
2024-10-18pki: T4914: Rewrite the PKI op mode in the new styleNataliia Solomko
2024-10-11T6695: Machine-readable operational mode support for tracerouteNataliia Solomko
2024-10-03http-api: T6736: sanitize error message containing user inputJohn Estabrook
2024-09-30http-api: T6736: normalize formattingJohn Estabrook
2024-09-29http-api: T6736: regenerate openapi docsJohn Estabrook
2024-09-29http-api: T6736: remove routes on config deleteJohn Estabrook
Avoid duplicate entries in the list of routes when adding/deleting endpoints.
2024-09-29http-api: T6736: separate REST API and GraphQL API activationJohn Estabrook
The GraphQL API was implemented as an addition to the existing REST API. As there is no necessary dependency, separate the initialization of the respective endpoints. Factor out the REST Pydantic models and FastAPI routes for symmetry and clarity.
2024-09-29http-api: T6736: update for deprecated/renamed in Pydantic V2John Estabrook
2024-09-22configd: T6608: report uncaught config script exceptions as commit errorJohn Estabrook
In the case of config mode script exceptions other than ConfigError, vyos-configd would previously trigger the shim to re-run the script in the CLI context. The use of config dependencies require this case to return a commit error. A traceback is returned as output, consistent with running without vyos-configd support.
2024-09-20http-api: T6326: return full warning/error output through apiJohn Estabrook
Configuration error output is not returned in full to the http-api when running under vyos-configd, due to an early implementation 'workaround' of vyos-configd writing directly to the session tty. This is corrected to return all ambient stdout (notably vyos.base.Warning) and error messages directly to the originating caller, which may be from a session tty or a ConfigSession instance. As the http-api runs in the latter case, the full output is returned.
2024-08-25configd: T6671: track scripts proposed and scripts calledJohn Estabrook
2024-08-20Merge pull request #3977 from natali-rs1985/T5743-currentChristian Breunig
T5743: HTTPS API ability to import PKI certificates
2024-08-13T5743: HTTPS API ability to import PKI certificatesNataliia Solomko
2024-08-12configd: T6633: inject missing env vars for configfs utilityJohn Estabrook
2024-08-07configd: T6640: enforce in_session returns False under configdJohn Estabrook
The CStore in_session check is a false positive outside of a config session if a specific environment variable is set with an existing referent in unionfs. To allow extensions when running under configd and avoid confusion, enforce in_session returns False.
2024-07-29Merge pull request #3804 from HollyGurza/T6362Daniil Baturin
T6362: Create conntrack logger daemon
2024-07-25T6605: restore configd error formatting to be consistent with CLI (#3868)John Estabrook
2024-07-19T6362: Create conntrack logger daemonkhramshinr
2024-07-17op-mode: T6586: add a distinct exception for unconfigured objectsDaniil Baturin
as opposed to entire subsystems
2024-07-14configdep: T6559: use single dependency list with reset under configdJohn Estabrook
2024-07-14configdep: T6559: drop global redundancy removal to fix error reportingJohn Estabrook
2024-06-21configd: T6504: send sudo_user on session init and set env variableJohn Estabrook
The environment variable SUDO_USER is checked by system_login.py so as to prevent deleting the current user. Provide from config session and set within configd environment.
2024-05-27T5786: Add set/show system image to /image endpointkhramshinr
2024-04-28configdep: T6276: do not call dependencies on script errorJohn Estabrook
2024-04-04T6199: drop unused Python imports from graphql sourceChristian Breunig
2024-03-28config-sync: T6185: combine data for sections/configs in one commandJohn Estabrook
Package path/section data in single command containing a tree (dict) of section paths and the accompanying config data. This drops the call to get_config_dict and the need for a list of commands in request.
2024-03-22config-sync: T6145: batch section requests for commit by priorityJohn Estabrook
2024-03-05http-api: T6069: fix allocation outside of thread lockJohn Estabrook
2024-02-28configdep: T5660: remove global redundancies under vyos-configdJohn Estabrook
2024-01-21dns: T5959: Streamline dns forwarding serviceIndrajit Raychaudhuri
Streamline configuration and operation of dns forwarding service in following ways: - Remove `dns_forwarding_reset.py` as its functionality is now covered by `dns.py` - Adjust function names in `dns.py` to disambiguate between DNS forwarding and dynamic DNS - Remove `dns_forwarding_restart.sh` as its functionality is inlined in `dns-forwarding.xml` - Templatize systemd override for `pdns-recursor.service` and move the generated override files in /run. This ensures that the override files are always generated afresh after boot - Simplify the systemd override file by removing the redundant overrides - Relocate configuration path for pdns-recursor to `/run/pdns-recursor` and utilize the `RuntimeDirectory` default that pdns-recursor expects - We do not need to use custom `--socket-dir` path anymore, the default path (viz., `/run/pdns-recursor` is fine)
2024-01-09https: T5902: remove virtual-host configurationChristian Breunig
We have not seen the adoption of the https virtual-host CLI option. What it did? * Create multiple webservers each listening on a different IP/port (but in the same VRF) * All webservers shared one common document root * All webservers shared the same SSL certificates * All webservers could have had individual allow-client configurations * API could be enabled for a particular virtual-host but was always enabled on the default host This configuration tried to provide a full webserver via the CLI but VyOS is a router and the Webserver is there for an API or to serve files for a local-ui. Changes Remove support for virtual-hosts as it's an incomplete and thus mostly useless "thing". Migrate all allow-client statements to one top-level allow statement.
2023-12-20https api: T5844: allow the server to start without API keysDaniil Baturin
and use only PAM auth and JWT
2023-11-26http-api: T5782: use single config-mode script for https and http-apiJohn Estabrook
2023-11-22http-api: T5768: remove auxiliary http-api.confJohn Estabrook
2023-11-21T5767: HTTPS API add reboot and poweroff endpointsViacheslav Hletenko
Add ability to reboot and poweroff the system via API curl -k --location --request POST 'https://vyos/reboot' \ --form data='{"op": "reboot", "path": ["now"]}' \ --form key='apikey' curl -k --location --request POST 'https://vyos/poweroff' \ --form data='{"op": "poweroff", "path": ["now"]}' \ --form key='apikey'
2023-11-20http: T5762: api: make API socket backend communication the one and only defaultChristian Breunig
Why: Smoketests fail as they can not establish IPv6 connection to uvicorn backend server. https://github.com/vyos/vyos-1x/pull/2481 added a bunch of new smoketests. While debugging those failing, it was uncovered, that uvicorn only listens on IPv4 connections vyos@vyos# netstat -tulnp | grep 8080 (Not all processes could be identified, non-owned process info will not be shown, you would have to be root to see it all.) tcp 0 0 127.0.0.1:8080 0.0.0.0:* LISTEN - As the CLI already has an option to move the API communication from an IP to a UNIX domain socket, the best idea is to make this the default way of communication, as we never directly talk to the API server but rather use the NGINX reverse proxy.
2023-10-09http-api: T2612: reload server within configsession for api self-configJohn Estabrook
2023-10-09http-api: T2612: send response before reconfiguring api serverJohn Estabrook
2023-07-15T5195: vyos.util -> vyos.utils package refactoring part #2Christian Breunig
2023-07-14T5195: vyos.util -> vyos.utils package refactoring (#2093)Christian Breunig
* T5195: move run, cmd, call, rc_cmd helper to vyos.utils.process * T5195: use read_file and write_file implementation from vyos.utils.file Changed code automatically using: find . -type f -not -path '*/\.*' -exec sed -i 's/^from vyos.util import read_file$/from vyos.utils.file import read_file/g' {} + find . -type f -not -path '*/\.*' -exec sed -i 's/^from vyos.util import write_file$/from vyos.utils.file import write_file/g' {} + * T5195: move chmod* helpers to vyos.utils.permission * T5195: use colon_separated_to_dict from vyos.utils.dict * T5195: move is_systemd_service_* to vyos.utils.process * T5195: fix boot issues with missing imports * T5195: move dict_search_* helpers to vyos.utils.dict * T5195: move network helpers to vyos.utils.network * T5195: move commit_* helpers to vyos.utils.commit * T5195: move user I/O helpers to vyos.utils.io
2023-07-12T5195: move boot_* helpers to vyos.utils.bootChristian Breunig
2023-06-20http-api: T5305: configure operations should not be defined asyncJohn Estabrook
2023-06-10http-api: T5248: add endpoint /configure-sectionJohn Estabrook
2023-06-10http-api: T5263: add base model for generalizationJohn Estabrook
2023-06-10http-api: T5263: factor out function _configure_op for generalizationJohn Estabrook
2023-06-10http-api: T5263: consistent string formattingJohn Estabrook
2023-06-10http-api: T5263: simplify form errorsJohn Estabrook
2023-06-10http-api: T5263: path validator should provide messageJohn Estabrook
2023-04-23http-api: T5175: check value of attribute for FastAPI>=0.91.0John Estabrook
FastAPI v0.92.0 (starlette v0.24.0) sets default attribute Request._form; check for value == None instead of existence when overriding Request class.