diff --git a/reference-lib/package-lock.json b/reference-lib/package-lock.json index fb48c0d..b1c5e02 100644 --- a/reference-lib/package-lock.json +++ b/reference-lib/package-lock.json @@ -1,12 +1,12 @@ { "name": "@nginx/reference-lib", - "version": "1.1.11", + "version": "1.1.12", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@nginx/reference-lib", - "version": "1.1.11", + "version": "1.1.12", "license": "Apache-2.0", "devDependencies": { "@rollup/plugin-json": "^6.1.0", diff --git a/reference-lib/package.json b/reference-lib/package.json index 692498d..45f53c6 100644 --- a/reference-lib/package.json +++ b/reference-lib/package.json @@ -1,6 +1,6 @@ { "name": "@nginx/reference-lib", - "version": "1.1.11", + "version": "1.1.12", "description": "", "main": "dist/index.js", "type": "module", diff --git a/reference-lib/src/reference.json b/reference-lib/src/reference.json index 3e1bd99..7cbd7b5 100644 --- a/reference-lib/src/reference.json +++ b/reference-lib/src/reference.json @@ -1748,8 +1748,8 @@ "

all | any

\n" ], "isBlock": false, - "description_md": "Allows access if all (`all`) or at least one\n(`any`) of the\n[ngx_http_access_module](https://nginx.org/en/docs/http/ngx_http_access_module.html),\n[ngx_http_auth_basic_module](https://nginx.org/en/docs/http/ngx_http_auth_basic_module.html),\n[ngx_http_auth_request_module](https://nginx.org/en/docs/http/ngx_http_auth_request_module.html),\nor\n[ngx_http_auth_jwt_module](https://nginx.org/en/docs/http/ngx_http_auth_jwt_module.html)\nmodules allow access.\n\nExample:\n```\nlocation / {\n satisfy any;\n\n allow 192.168.1.0/32;\n deny all;\n\n auth_basic \"closed site\";\n auth_basic_user_file conf/htpasswd;\n}\n```", - "description_html": "

Allows access if all (all) or at least one\n(any) of the\nngx_http_access_module,\nngx_http_auth_basic_module,\nngx_http_auth_request_module,\nor\nngx_http_auth_jwt_module\nmodules allow access.

\n\n

Example:

\n\n
location / {\n    satisfy any;\n\n    allow 192.168.1.0/32;\n    deny  all;\n\n    auth_basic           "closed site";\n    auth_basic_user_file conf/htpasswd;\n}\n
\n" + "description_md": "Allows access if all (`all`) or at least one\n(`any`) of the\n[ngx_http_access_module](https://nginx.org/en/docs/http/ngx_http_access_module.html),\n[ngx_http_auth_basic_module](https://nginx.org/en/docs/http/ngx_http_auth_basic_module.html),\n[ngx_http_auth_request_module](https://nginx.org/en/docs/http/ngx_http_auth_request_module.html),\n[ngx_http_auth_jwt_module](https://nginx.org/en/docs/http/ngx_http_auth_jwt_module.html)\n(1.13.10),\nor\n[ngx_http_auth_oidc_module](https://nginx.org/en/docs/http/ngx_http_auth_jwt_module.html)\n(1.27.4)\nmodules allow access.\n\nExample:\n```\nlocation / {\n satisfy any;\n\n allow 192.168.1.0/32;\n deny all;\n\n auth_basic \"closed site\";\n auth_basic_user_file conf/htpasswd;\n}\n```", + "description_html": "

Allows access if all (all) or at least one\n(any) of the\nngx_http_access_module,\nngx_http_auth_basic_module,\nngx_http_auth_request_module,\nngx_http_auth_jwt_module\n(1.13.10),\nor\nngx_http_auth_oidc_module\n(1.27.4)\nmodules allow access.

\n\n

Example:

\n\n
location / {\n    satisfy any;\n\n    allow 192.168.1.0/32;\n    deny  all;\n\n    auth_basic           "closed site";\n    auth_basic_user_file conf/htpasswd;\n}\n
\n" }, { "name": "send_lowat", @@ -5831,6 +5831,255 @@ } ] }, + { + "id": "/en/docs/http/ngx_http_oidc_module.html", + "name": "ngx_http_oidc_module", + "directives": [ + { + "name": "oidc_provider", + "default": "", + "contexts": [ + "http" + ], + "syntax_md": [ + "*`name`* `{...}`" + ], + "syntax_html": [ + "

name {...}

\n" + ], + "isBlock": true, + "description_md": "Defines an OpenID Provider for use with the [`auth_oidc`](https://nginx.org/en/docs/http/ngx_http_oidc_module.html#auth_oidc) directive.", + "description_html": "

Defines an OpenID Provider for use with the auth_oidc directive.

\n" + }, + { + "name": "auth_oidc", + "default": "off", + "contexts": [ + "http", + "server", + "location" + ], + "syntax_md": [ + "*`name`* | `off`" + ], + "syntax_html": [ + "

name | off

\n" + ], + "isBlock": false, + "description_md": "Enables end user authentication with the\n[specified](https://nginx.org/en/docs/http/ngx_http_oidc_module.html#oidc_provider) OpenID Provider.\n\nThe special value `off` cancels the effect\nof the `auth_oidc` directive\ninherited from the previous configuration level.", + "description_html": "

Enables end user authentication with the\nspecified OpenID Provider.

\n\n

The special value off cancels the effect\nof the auth_oidc directive\ninherited from the previous configuration level.

\n" + }, + { + "name": "issuer", + "default": "", + "contexts": [ + "oidc_provider" + ], + "syntax_md": [ + "*`URL`*" + ], + "syntax_html": [ + "

URL

\n" + ], + "isBlock": false, + "description_md": "Sets the Issuer Identifier URL of the OpenID Provider;\nrequired directive.\nThe URL must exactly match the value of “`issuer`”\nin the OpenID Provider metadata\nand requires the “`https`” scheme.", + "description_html": "

Sets the Issuer Identifier URL of the OpenID Provider;\nrequired directive.\nThe URL must exactly match the value of “issuer”\nin the OpenID Provider metadata\nand requires the “https” scheme.

\n" + }, + { + "name": "client_id", + "default": "", + "contexts": [ + "oidc_provider" + ], + "syntax_md": [ + "*`string`*" + ], + "syntax_html": [ + "

string

\n" + ], + "isBlock": false, + "description_md": "Specifies the client ID of the Relying Party;\nrequired directive.", + "description_html": "

Specifies the client ID of the Relying Party;\nrequired directive.

\n" + }, + { + "name": "client_secret", + "default": "", + "contexts": [ + "oidc_provider" + ], + "syntax_md": [ + "*`string`*" + ], + "syntax_html": [ + "

string

\n" + ], + "isBlock": false, + "description_md": "Specifies a secret value\nused to authenticate the Relying Party with the OpenID Provider.", + "description_html": "

Specifies a secret value\nused to authenticate the Relying Party with the OpenID Provider.

\n" + }, + { + "name": "config_url", + "default": "/.well-known/openid-configuration", + "contexts": [ + "oidc_provider" + ], + "syntax_md": [ + "*`URL`*" + ], + "syntax_html": [ + "

URL

\n" + ], + "isBlock": false, + "description_md": "Sets a custom URL to retrieve the OpenID Provider metadata.", + "description_html": "

Sets a custom URL to retrieve the OpenID Provider metadata.

\n" + }, + { + "name": "cookie_name", + "default": "NGX_OIDC_SESSION", + "contexts": [ + "oidc_provider" + ], + "syntax_md": [ + "*`name`*" + ], + "syntax_html": [ + "

name

\n" + ], + "isBlock": false, + "description_md": "Sets the name of a session cookie.", + "description_html": "

Sets the name of a session cookie.

\n" + }, + { + "name": "extra_auth_args", + "default": "", + "contexts": [ + "oidc_provider" + ], + "syntax_md": [ + "*`string`*" + ], + "syntax_html": [ + "

string

\n" + ], + "isBlock": false, + "description_md": "Sets additional query arguments for the\n[authentication request](https://openid.net/specs/openid-connect-core-1_0.html#AuthRequest) URL.\n```\nextra_auth_args \"display=page&prompt=login\";\n```", + "description_html": "

Sets additional query arguments for the\nauthentication request URL.

\n\n
extra_auth_args "display=page&prompt=login";\n
\n" + }, + { + "name": "redirect_uri", + "default": "/oidc_callback", + "contexts": [ + "oidc_provider" + ], + "syntax_md": [ + "*`uri`*" + ], + "syntax_html": [ + "

uri

\n" + ], + "isBlock": false, + "description_md": "Defines the Redirection URI path for post-authentication redirects\nexpected by the module from the OpenID Provider.\nThe *`uri`* must match the configuration on the Provider's side.", + "description_html": "

Defines the Redirection URI path for post-authentication redirects\nexpected by the module from the OpenID Provider.\nThe uri must match the configuration on the Provider’s side.

\n" + }, + { + "name": "scope", + "default": "openid", + "contexts": [ + "oidc_provider" + ], + "syntax_md": [ + "*`scope`* ..." + ], + "syntax_html": [ + "

scope

\n" + ], + "isBlock": false, + "description_md": "Sets requested scopes.\nThe `openid` scope is always required by OIDC.", + "description_html": "

Sets requested scopes.\nThe openid scope is always required by OIDC.

\n" + }, + { + "name": "session_store", + "default": "", + "contexts": [ + "oidc_provider" + ], + "syntax_md": [ + "*`name`*" + ], + "syntax_html": [ + "

name

\n" + ], + "isBlock": false, + "description_md": "Specifies a custom\n[key-value database](https://nginx.org/en/docs/http/ngx_http_keyval_module.html#keyval_zone)\nthat stores session data.\nBy default, an 8-megabyte key-value database named \n`oidc_default_store_`\nis created automatically.\n> A separate key-value database should be configured for each Provider\n> to prevent session reuse across providers.", + "description_html": "

Specifies a custom\nkey-value database\nthat stores session data.\nBy default, an 8-megabyte key-value database named\noidc_default_store_<provider name>\nis created automatically.

\n\n
\n

A separate key-value database should be configured for each Provider\nto prevent session reuse across providers.

\n
\n" + }, + { + "name": "session_timeout", + "default": "8h", + "contexts": [ + "oidc_provider" + ], + "syntax_md": [ + "*`time`*" + ], + "syntax_html": [ + "

time

\n" + ], + "isBlock": false, + "description_md": "Sets a timeout after which the session is deleted, unless it was\n[refreshed](https://openid.net/specs/openid-connect-core-1_0.html#RefreshTokens).", + "description_html": "

Sets a timeout after which the session is deleted, unless it was\nrefreshed.

\n" + }, + { + "name": "ssl_crl", + "default": "", + "contexts": [ + "oidc_provider" + ], + "syntax_md": [ + "*`file`*" + ], + "syntax_html": [ + "

file

\n" + ], + "isBlock": false, + "description_md": "Specifies a *`file`* with revoked certificates (CRL)\nin the PEM format used to verify\nthe certificates of the OpenID Provider endpoints.", + "description_html": "

Specifies a file with revoked certificates (CRL)\nin the PEM format used to verify\nthe certificates of the OpenID Provider endpoints.

\n" + }, + { + "name": "ssl_trusted_certificate", + "default": "system CA bundle", + "contexts": [ + "oidc_provider" + ], + "syntax_md": [ + "*`file`*" + ], + "syntax_html": [ + "

file

\n" + ], + "isBlock": false, + "description_md": "Specifies a *`file`* with trusted CA certificates in the PEM format\nused to verify\nthe certificates of the OpenID Provider endpoints.", + "description_html": "

Specifies a file with trusted CA certificates in the PEM format\nused to verify\nthe certificates of the OpenID Provider endpoints.

\n" + } + ], + "variables": [ + { + "name": "$oidc_id_token", + "description_md": "ID token", + "description_html": "

ID token

\n" + }, + { + "name": "$oidc_access_token", + "description_md": "access token", + "description_html": "

access token

\n" + }, + { + "name": "$oidc_claim_NAME", + "description_md": "top-level ID token claim\n\nNested claims can be fetched with the\n[auth_jwt](https://nginx.org/en/docs/http/ngx_http_auth_jwt_module.html) module:\n```\nhttp {\n auth_jwt_claim_set $postal_code address postal_code;\n\n server {\n location / {\n auth_oidc my_idp;\n auth_jwt off token=$oidc_id_token;\n\n proxy_set_header x-postal_code $postal_code;\n proxy_pass http://backend;\n }\n }\n}\n```", + "description_html": "

top-level ID token claim

\n\n

Nested claims can be fetched with the\nauth_jwt module:

\n\n
http {\n    auth_jwt_claim_set $postal_code address postal_code;\n\n    server {\n        location / {\n            auth_oidc my_idp;\n            auth_jwt  off token=$oidc_id_token;\n\n            proxy_set_header x-postal_code $postal_code;\n            proxy_pass       http://backend;\n        }\n    }\n}\n
\n" + } + ] + }, { "id": "/en/docs/http/ngx_http_perl_module.html", "name": "ngx_http_perl_module", @@ -13199,6 +13448,54 @@ "description_md": "Specifies a JWT license *`file`*.\nBy default, the *`license.jwt`* file is expected to be at\n`/etc/nginx/` for Linux or at\n`/usr/local/etc/nginx/` for FreeBSD.", "description_html": "

Specifies a JWT license file.\nBy default, the license.jwt file is expected to be at\n/etc/nginx/ for Linux or at\n/usr/local/etc/nginx/ for FreeBSD.

\n" }, + { + "name": "proxy", + "default": "", + "contexts": [ + "mgmt" + ], + "syntax_md": [ + "*`host`*:*`port`*" + ], + "syntax_html": [ + "

host:port

\n" + ], + "isBlock": false, + "description_md": "Sets the HTTP CONNECT proxy\nused for sending the usage report.", + "description_html": "

Sets the HTTP CONNECT proxy\nused for sending the usage report.

\n" + }, + { + "name": "proxy_username", + "default": "", + "contexts": [ + "mgmt" + ], + "syntax_md": [ + "*`string`*" + ], + "syntax_html": [ + "

string

\n" + ], + "isBlock": false, + "description_md": "Sets the user name used for authentication on\nthe [proxy](https://nginx.org/en/docs/ngx_mgmt_module.html#proxy).", + "description_html": "

Sets the user name used for authentication on\nthe proxy.

\n" + }, + { + "name": "proxy_password", + "default": "", + "contexts": [ + "mgmt" + ], + "syntax_md": [ + "*`string`*" + ], + "syntax_html": [ + "

string

\n" + ], + "isBlock": false, + "description_md": "Sets the password used for authentication on\nthe [proxy](https://nginx.org/en/docs/ngx_mgmt_module.html#proxy).\n\nThe password is sent unencrypted by default.\nIf the proxy supports TLS, the connection to the proxy can be\nprotected with the [stream](https://nginx.org/en/docs/stream/ngx_stream_proxy_module.html)\nmodule:\n```\nmgmt {\n proxy 127.0.0.1:8080;\n proxy_username ;\n proxy_password ;\n}\n\nstream {\n server {\n listen 127.0.0.1:8080;\n \n proxy_ssl on;\n proxy_ssl_verify on;\n proxy_ssl_trusted_certificate ;\n\n proxy_pass :;\n }\n}\n```", + "description_html": "

Sets the password used for authentication on\nthe proxy.

\n\n

The password is sent unencrypted by default.\nIf the proxy supports TLS, the connection to the proxy can be\nprotected with the stream\nmodule:

\n\n
mgmt {\n    proxy          127.0.0.1:8080;\n    proxy_username <name>;\n    proxy_password <password>;\n}\n\nstream {\n    server {\n        listen 127.0.0.1:8080;\n        \n        proxy_ssl                     on;\n        proxy_ssl_verify              on;\n        proxy_ssl_trusted_certificate <proxy_ca_file>;\n\n        proxy_pass <proxy_host>:<proxy_port>;\n    }\n}\n
\n" + }, { "name": "resolver", "default": "", @@ -13314,8 +13611,8 @@ "

{...}

\n" ], "isBlock": true, - "description_md": "Specifies OTel data export parameters:\n\n- `endpoint`\n\n the address of OTLP/gRPC endpoint that will accept telemetry data.\n- `interval`\n\n the maximum interval between two exports,\n by default is `5` seconds.\n- `batch_size`\n\n the maximum number of spans to be sent in one batch per worker,\n by default is `512`.\n- `batch_count`\n\n the number of pending batches per worker,\n spans exceeding the limit are dropped,\n by default is `4`.\n\nExample:\n```\notel_exporter {\n endpoint localhost:4317;\n interval 5s;\n batch_size 512;\n batch_count 4;\n}\n```", - "description_html": "

Specifies OTel data export parameters:

\n\n
    \n
  • endpoint

    \n\n

    the address of OTLP/gRPC endpoint that will accept telemetry data.

  • \n\n
  • interval

    \n\n

    the maximum interval between two exports,\nby default is 5 seconds.

  • \n\n
  • batch_size

    \n\n

    the maximum number of spans to be sent in one batch per worker,\nby default is 512.

  • \n\n
  • batch_count

    \n\n

    the number of pending batches per worker,\nspans exceeding the limit are dropped,\nby default is 4.

  • \n
\n\n

Example:

\n\n
otel_exporter {\n    endpoint    localhost:4317;\n    interval    5s;\n    batch_size  512;\n    batch_count 4;\n}\n
\n" + "description_md": "Specifies OTel data export parameters:\n\n- `\n endpoint [(http|https)://]host:port;`\n\n OTLP/gRPC endpoint that will accept telemetry data.\n TLS is supported since 0.1.2.\n- `\n trusted_certificate path;`\n\n the CA certificates file in PEM format used to verify TLS endpoint\n (since 0.1.2).\n Defaults to OS provided CA bundle.\n- `header name value;`\n\n a custom HTTP header to add to telemetry export request (since 0.1.2).\n- `interval time;`\n\n the maximum interval between two exports,\n by default is `5` seconds.\n- `batch_size number;`\n\n the maximum number of spans to be sent in one batch per worker,\n by default is `512`.\n- `batch_count number;`\n\n the number of pending batches per worker,\n spans exceeding the limit are dropped,\n by default is `4`.\n\nExample:\n```\notel_exporter {\n endpoint https://otel-example.nginx.com:4317;\n\n header X-API-Token \"my-token-value\";\n}\n```", + "description_html": "

Specifies OTel data export parameters:

\n\n
    \n
  • \nendpoint [(http|https)://]host:port;

    \n\n

    OTLP/gRPC endpoint that will accept telemetry data.\nTLS is supported since 0.1.2.

  • \n\n
  • \ntrusted_certificate path;

    \n\n

    the CA certificates file in PEM format used to verify TLS endpoint\n(since 0.1.2).\nDefaults to OS provided CA bundle.

  • \n\n
  • header name value;

    \n\n

    a custom HTTP header to add to telemetry export request (since 0.1.2).

  • \n\n
  • interval time;

    \n\n

    the maximum interval between two exports,\nby default is 5 seconds.

  • \n\n
  • batch_size number;

    \n\n

    the maximum number of spans to be sent in one batch per worker,\nby default is 512.

  • \n\n
  • batch_count number;

    \n\n

    the number of pending batches per worker,\nspans exceeding the limit are dropped,\nby default is 4.

  • \n
\n\n

Example:

\n\n
otel_exporter {\n    endpoint https://otel-example.nginx.com:4317;\n\n    header X-API-Token "my-token-value";\n}\n
\n" }, { "name": "otel_service_name", @@ -13333,6 +13630,22 @@ "description_md": "Sets the\n“[`service.name`](https://opentelemetry.io/docs/reference/specification/resource/semantic_conventions/#service)”\nattribute of the OTel resource.", "description_html": "

Sets the\n“service.name”\nattribute of the OTel resource.

\n" }, + { + "name": "otel_resource_attr", + "default": "", + "contexts": [ + "http" + ], + "syntax_md": [ + "*`name`* *`value`*" + ], + "syntax_html": [ + "

name value

\n" + ], + "isBlock": false, + "description_md": "Sets a custom OTel resource attribute.", + "description_html": "

Sets a custom OTel resource attribute.

\n" + }, { "name": "otel_trace", "default": "off", @@ -16536,5 +16849,5 @@ ] } ], - "version": "https://github.com/nginx/nginx.org/commit/602b6808b4d5ebe0d52b366bb95015116523cf54" + "version": "https://github.com/nginx/nginx.org/commit/47117cd87beed1b8f92857e46a66f3e8e514cf07" }