Skip to content

Commit 95e6e90

Browse files
authoredJan 26, 2024
NGINX Declarative API v4.1.0 (#36)
* 20230125-01 API v4.1 development * 20230125-02 API v4.1 development * NGINX Declarative API v4.1 * USAGE updated
1 parent 9c6def3 commit 95e6e90

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

47 files changed

+5419
-42
lines changed
 

‎.gitignore

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,5 +21,5 @@ Thumbs.db
2121
/.idea/
2222
/src/__pycache__/
2323
/src/v3_1/__pycache__/
24-
/contrib/devportal/src/__pycache__/
24+
/contrib/devportal/redocly/src/__pycache__/
2525
/venv/

‎FEATURES.md

+31-25
Original file line numberDiff line numberDiff line change
@@ -2,34 +2,40 @@
22

33
### NGINX `http` and `stream` servers
44

5-
| Feature | API v3.1 | API v4.0 | Notes |
6-
|----------------------------|----------|---------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
7-
| Upstreams | CRUD | CRUD | <li>Snippets supported: static and from source of truth</li> |
8-
| HTTP servers | CRUD | CRUD | <li>Snippets supported (`http`, `servers`, `locations`): static and from source of truth</li> |
9-
| TCP/UDP servers | CRUD | CRUD | <li>Snippets supported (`streams`, `servers`): static and from source of truth</li> |
10-
| TLS | CRUD | CRUD | <li>Certificates and keys can be dynamically fetched from source of truth</li> |
11-
| mTLS | CRUD | CRUD | <li>Certificates and keys can be dynamically fetched from source of truth</li> |
12-
| JWT client authentication | | X | <li>JWT key can be hardwired or fetched from source of truth</li> |
13-
| Rate limiting | X | X | |
14-
| Active healthchecks | X | X | |
15-
| Cookie-based stickiness | X | X | |
16-
| Maps | X | X | |
17-
| NGINX Plus REST API access | X | X | |
18-
| NGINX App Protect WAF | X | X | <li>Per-policy CRUD at `server` and `location` level</li><li>Support for dataplane-based bundle compilation</li><li>Security policies can be fetched from source of truth</li> |
19-
5+
| Feature | API v3.1 | API v4.0 | API v4.1 | Notes |
6+
|----------------------------|----------|----------|-------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
7+
| Upstreams | CRUD | CRUD | CRUD | <li>Snippets supported: static and from source of truth</li> |
8+
| HTTP servers | CRUD | CRUD | CRUD | <li>Snippets supported (`http`, `servers`, `locations`): static and from source of truth</li> |
9+
| TCP/UDP servers | CRUD | CRUD | CRUD | <li>Snippets supported (`streams`, `servers`): static and from source of truth</li> |
10+
| TLS | CRUD | CRUD | CRUD | <li>Certificates and keys can be dynamically fetched from source of truth</li> |
11+
| mTLS | CRUD | CRUD | CRUD | <li>Certificates and keys can be dynamically fetched from source of truth</li> |
12+
| JWT client authentication | | X | X | <li>JWT key can be hardwired or fetched from source of truth</li> |
13+
| Upstream authentication | | | X | <li>Bearer token</li><li>HTTP header</li> |
14+
| Rate limiting | X | X | X | |
15+
| Active healthchecks | X | X | X | |
16+
| Cookie-based stickiness | X | X | X | |
17+
| Maps | X | X | X | |
18+
| NGINX Plus REST API access | X | X | X | |
19+
| NGINX App Protect WAF | X | X | X | <li>Per-policy CRUD at `server` and `location` level</li><li>Support for dataplane-based bundle compilation</li><li>Security policies can be fetched from source of truth</li> |
2020

2121
### API Gateway
2222

23-
| Feature | API v3.1 | API v4.0 | Notes |
24-
|----------------------------------------------|----------|----------|----------------------------------------------------------|
25-
| Configuration generation from OpenAPI schema | X | X | |
26-
| HTTP methods enforcement | X | X | |
27-
| per-URI rate limiting | X | X | |
28-
| per-URI JWT authentication | X | X | JWT key can be hardwired or fetched from source of truth |
29-
23+
| Feature | API v3.1 | API v4.0 | API v4.1 | Notes |
24+
|----------------------------------------------|----------|----------|----------|---------------------------------------------------------------------------|
25+
| Configuration generation from OpenAPI schema | X | X | X | |
26+
| HTTP methods enforcement | X | X | X | |
27+
| per-URI rate limiting | X | X | X | |
28+
| per-URI JWT authentication | X | X | X | <li>Static JWT key</li><li>JWT fetched from URL</li><li>Bearer token</li> |
3029

3130
### API Gateway - Developer Portal
3231

33-
| Feature | API v3.1 | API v4.0 | Notes |
34-
|-------------------------------------------------|----------|----------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
35-
| Developer Portal generation from OpenAPI schema | X | X | <li>Based on Redocly</li> |
32+
| Feature | API v3.1 | API v4.0 | API v4.1 | Notes |
33+
|-------------------------------------------------|----------|----------|----------|---------------------------|
34+
| Developer Portal generation from OpenAPI schema | X | X | X | <li>Based on Redocly</li> |
35+
36+
### Source of truth
37+
38+
| Feature | API v3.1 | API v4.0 | API v4.1 | Notes |
39+
|--------------------------------------|----------|----------|----------|-------|
40+
| HTTP header-based authentication | | | X | |
41+
| Bearer token authentication | | | X | |

0 commit comments

Comments
 (0)
Please sign in to comment.