<feed xmlns='http://www.w3.org/2005/Atom'>
<title>vyos-1x.git/src/services/vyos-http-api-server, branch rolling</title>
<subtitle>VyOS command definitions, scripts, and utilities (mirror of https://github.com/vyos/vyos-1x.git)
</subtitle>
<id>https://git.amelek.net/vyos/vyos-1x.git/atom?h=rolling</id>
<link rel='self' href='https://git.amelek.net/vyos/vyos-1x.git/atom?h=rolling'/>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/'/>
<updated>2026-10-10T19:24:16+00:00</updated>
<entry>
<title>http-api: T9453: wait for the API server to be ready after a reload</title>
<updated>2026-10-10T19:24:16+00:00</updated>
<author>
<name>Christian Breunig</name>
<email>christian@breunig.cc</email>
</author>
<published>2026-10-10T19:24:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=1d180225536b8e92a05f2b0710a115dd71a40cc1'/>
<id>urn:sha1:1d180225536b8e92a05f2b0710a115dd71a40cc1</id>
<content type='text'>
A commit that changes an already running HTTP API only signals the server
and returns at once. The server then restarts uvicorn asynchronously, and
until it listens again requests through nginx fail. A fixed one-second
sleep was meant to cover this but is too short on slow systems, making
the https smoketest fail intermittently and API clients see errors right
after a commit.

The server now creates a readiness marker once it accepts requests. The
commit clears the marker before reloading and waits for it to reappear,
warning if that takes longer than 30 seconds.
</content>
</entry>
<entry>
<title>http-api: T8989: address Copilot review comments</title>
<updated>2026-09-02T00:35:35+00:00</updated>
<author>
<name>omnom62</name>
<email>omnom62@outlook.com</email>
</author>
<published>2026-08-26T07:10:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=ea4a1e2dc6093570e4876b9f2a29c6cecc17d6f4'/>
<id>urn:sha1:ea4a1e2dc6093570e4876b9f2a29c6cecc17d6f4</id>
<content type='text'>
- Remove fallback 'oidc-client' identity - tokens without sub/client_id
  are now rejected
- Suppress OIDC validation error details from stdout
- Cache discovered JWKS URI back to session to avoid per-request discovery
- token_op now accepts X-API-Key header alongside form field
- Reset REST/OIDC session attributes on SIGHUP reload to prevent stale
  config persisting after nodes are removed
</content>
</entry>
<entry>
<title>http-api: T8989: address OIDC review comments</title>
<updated>2026-09-02T00:35:35+00:00</updated>
<author>
<name>omnom62</name>
<email>omnom62@outlook.com</email>
</author>
<published>2026-08-19T07:49:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=34d1c5c87283cfe905b6925bc9181368d5cbdd0e'/>
<id>urn:sha1:34d1c5c87283cfe905b6925bc9181368d5cbdd0e</id>
<content type='text'>
- Use OpenID Connect discovery (/.well-known/openid-configuration) to
  resolve JWKS URI when jwks-url is not explicitly configured
- Add optional audience validation via new oidc audience config node
- Require exp claim in OIDC tokens
- Reject jwks-url without issuer at commit time
</content>
</entry>
<entry>
<title>http-api: T8989: add OAuth2/OIDC authentication for REST API</title>
<updated>2026-09-02T00:35:25+00:00</updated>
<author>
<name>omnom62</name>
<email>omnom62@outlook.com</email>
</author>
<published>2026-08-14T06:06:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=b8136290e326ba8a1879a3c55eea9e0a1303fedd'/>
<id>urn:sha1:b8136290e326ba8a1879a3c55eea9e0a1303fedd</id>
<content type='text'>
Add support for validating OIDC Bearer tokens issued by external identity
providers (Keycloak, Azure AD, Okta, Vault, etc.) against the configured
JWKS endpoint.

Configuration:
  set service https api rest authentication oidc issuer &lt;url&gt;
  set service https api rest authentication oidc jwks-url &lt;url&gt;

If jwks-url is not set, it is derived from the issuer URL using the
standard OpenID Connect discovery path.

Auth priority: mTLS -&gt; VyOS JWT -&gt; OIDC -&gt; API key
</content>
</entry>
<entry>
<title>http-api: T8989: address review comments</title>
<updated>2026-08-26T18:33:34+00:00</updated>
<author>
<name>omnom62</name>
<email>omnom62@outlook.com</email>
</author>
<published>2026-08-12T04:38:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=d62e57071f2afb83879f576f6a3af5ecaa21023b'/>
<id>urn:sha1:d62e57071f2afb83879f576f6a3af5ecaa21023b</id>
<content type='text'>
- Make ApiModel.key optional to allow Bearer/X-API-Key/mTLS auth
  without requiring a dummy key field in the request body
- Add thread safety to REST token secret initialization
- Cast rest_token_exp and rest_secret_len to int on load
- Use defensive dict.get() for authentication config access
</content>
</entry>
<entry>
<title>http-api: T8989: add REST Bearer token authentication</title>
<updated>2026-08-26T18:33:34+00:00</updated>
<author>
<name>omnom62</name>
<email>omnom62@outlook.com</email>
</author>
<published>2026-08-04T23:14:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=f3012e652edef614d4f0ed169b320106a85d83b3'/>
<id>urn:sha1:f3012e652edef614d4f0ed169b320106a85d83b3</id>
<content type='text'>
Add JWT Bearer token support to the REST API, as an additional
authentication method alongside the existing form-field key and
X-API-Key header.

- New POST /token endpoint mints a JWT for a valid API key
- auth_required() accepts Authorization: Bearer &lt;token&gt; alongside
  existing key/X-API-Key auth
- New config nodes: service https api rest authentication
  {expiration, secret-length} (defaults: 3600s / 32 bytes)
- REST tokens use an independent signing secret from GraphQL's,
  since GraphQL may not be enabled on all deployments and the two
  subsystems have different expiry requirements
- nginx location regex updated to allow /token
- service_https.py default-value merge generalized to also apply
  to the rest node, not just graphql, so REST authentication
  defaults populate correctly on commit
</content>
</entry>
<entry>
<title>T8410: Fix typos and mistakes for operational and configuration commands</title>
<updated>2026-03-24T17:02:56+00:00</updated>
<author>
<name>Viacheslav Hletenko</name>
<email>v.gletenko@vyos.io</email>
</author>
<published>2026-03-20T16:41:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=bb2aee1e58c1cd30087b935798060e6bf3c698c8'/>
<id>urn:sha1:bb2aee1e58c1cd30087b935798060e6bf3c698c8</id>
<content type='text'>
Fix typos and mistakes in the commands and comments
No functional changes
</content>
</entry>
<entry>
<title>T7591: remove copyright years from source files</title>
<updated>2025-06-28T21:16:52+00:00</updated>
<author>
<name>Christian Breunig</name>
<email>christian@breunig.cc</email>
</author>
<published>2025-06-28T18:51:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=1478516ae437f19ebeb7d6ff9b83dd74f8e76758'/>
<id>urn:sha1:1478516ae437f19ebeb7d6ff9b83dd74f8e76758</id>
<content type='text'>
The legal team says years are not necessary so we can go ahead with it, since
it will simplify backporting.

Automatically removed using: git ls-files | grep -v libvyosconfig | xargs sed -i -E \
's/^# Copyright (19|20)[0-9]{2}(-[0-9]{4})? VyOS maintainers.*/# Copyright VyOS maintainers and contributors &lt;maintainers@vyos.io&gt;/g'

In addition we will error-out during "make" if someone re-adds a legacy
copyright notice
</content>
</entry>
<entry>
<title>T4406: Add public API endpoint to display information</title>
<updated>2025-03-06T12:46:40+00:00</updated>
<author>
<name>oniko94</name>
<email>onikolaiev94@outlook.com</email>
</author>
<published>2025-03-05T17:37:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=9fe7d85f78e967c251b3437a90e1a5f01dab1868'/>
<id>urn:sha1:9fe7d85f78e967c251b3437a90e1a5f01dab1868</id>
<content type='text'>
</content>
</entry>
<entry>
<title>http-api: T6736: regenerate openapi docs</title>
<updated>2024-09-30T03:21:21+00:00</updated>
<author>
<name>John Estabrook</name>
<email>jestabro@vyos.io</email>
</author>
<published>2024-09-26T03:10:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=9f7767c8022f5e6ad70253ef1c94fc22dbd04f1e'/>
<id>urn:sha1:9f7767c8022f5e6ad70253ef1c94fc22dbd04f1e</id>
<content type='text'>
</content>
</entry>
</feed>
