Skip to content

Commit 785242a

Browse files
5.3.0 (#86)
* 20250407 - v5.3.0 initial commit * 20250407 - v5.3.0 commit #2 * 20250408 - v5.3.0 commit #1 * 20250409 - v5.3.0 - asynchronous submissions alpha stage * 20250409-02 - v5.3.0 - asynchronous submissions alpha stage * 20250409-03 - v5.3.0 - asynchronous submissions alpha stage * 20250409-04 - v5.3.0 - asynchronous submissions alpha stage * 20250409-04 - v5.3.0 - asynchronous submissions alpha stage * 20250410-01 template updates * 20250410 - bug fixed: multiple API gateway configurations having different FQDNs and sharing the base URI didn't work * 20250410 - bug fixed: multiple API gateway configurations having different FQDNs and sharing the base URI didn't work * 20250410 - USAGE-v5.3.md updated * 20250410 - Gitops examples updated * 20250410-04 - v5.3.0 - asynchronous submissions first release * 20250410-04 - v5.3.0 - asynchronous submissions first release
1 parent 5129979 commit 785242a

File tree

101 files changed

+6914
-5805
lines changed

Some content is hidden

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

101 files changed

+6914
-5805
lines changed

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,9 @@ Thumbs.db
2020
=======
2121
/.idea/
2222
/src/__pycache__/
23-
/src/v5_0/__pycache__/
2423
/src/v5_1/__pycache__/
2524
/src/v5_2/__pycache__/
25+
/src/v5_3/__pycache__/
2626
/contrib/devportal/redocly/src/__pycache__/
2727
/contrib/app-protect/src/__pycache__/
2828
/venv/

README.md

Lines changed: 67 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ stateDiagram-v2
5353
NGINX2: NGINX
5454
INPUT: Input
5555
SOT: Source of Truth
56-
NDAPI: NGINX Declarative API Core
56+
NDAPI: NGINX Declarative API
5757
DEVP: Developer Portal Service
5858
OUTPUT: Output
5959
REDIS: Redis
@@ -89,14 +89,14 @@ title GitOps autosync operations
8989
9090
participant CI/CD Pipeline
9191
participant Source of Truth
92-
participant NGINX Declarative API Core
92+
participant NGINX Declarative API
9393
participant Redis
9494
participant Developer Portal Service
9595
participant NGINX Instance Manager / NGINX One Console
9696
participant NGINX
9797
9898
box NGINX Declarative API
99-
participant NGINX Declarative API Core
99+
participant NGINX Declarative API
100100
participant Developer Portal Service
101101
participant Redis
102102
end
@@ -105,27 +105,78 @@ CI/CD Pipeline ->> Source of Truth: Commit object updates
105105
106106
critical Run every "synctime" seconds
107107
108-
NGINX Declarative API Core ->>+ Source of Truth: Check for referenced objects updates
109-
Source of Truth ->>- NGINX Declarative API Core: Latest timestamp
108+
NGINX Declarative API ->>+ Source of Truth: Check for referenced objects updates
109+
Source of Truth ->>- NGINX Declarative API: Latest timestamp
110110
111-
Note over NGINX Declarative API Core, Redis: data synchronization
111+
Note over NGINX Declarative API, Redis: data synchronization
112112
113113
option If updates available
114-
NGINX Declarative API Core ->>+ Source of Truth: Pull updated objects
115-
Source of Truth ->>- NGINX Declarative API Core: Updated objects
114+
NGINX Declarative API ->>+ Source of Truth: Pull updated objects
115+
Source of Truth ->>- NGINX Declarative API: Updated objects
116116
117117
critical Build Staged Config
118118
critical If Developer Portal enabled
119-
NGINX Declarative API Core ->>+ Developer Portal Service: DevPortal generation request
120-
Developer Portal Service ->>- NGINX Declarative API Core: DevPortal definition
119+
NGINX Declarative API ->>+ Developer Portal Service: DevPortal generation request
120+
Developer Portal Service ->>- NGINX Declarative API: DevPortal definition
121121
end
122122
end
123123
124-
NGINX Declarative API Core ->>+ NGINX Instance Manager / NGINX One Console: Publish staged config to instance group / config sync group
124+
NGINX Declarative API ->>+ NGINX Instance Manager / NGINX One Console: Publish staged config to instance group / config sync group
125125
NGINX Instance Manager / NGINX One Console ->> NGINX: Publish config to NGINX instances
126-
NGINX Instance Manager / NGINX One Console ->>- NGINX Declarative API Core: Publish outcome
126+
NGINX Instance Manager / NGINX One Console ->>- NGINX Declarative API: Return outcome
127127
128-
Note over NGINX Declarative API Core, Redis: data synchronization
128+
Note over NGINX Declarative API, Redis: data synchronization
129+
130+
end
131+
```
132+
133+
## Concurrent access and queuing mode
134+
135+
```mermaid
136+
sequenceDiagram
137+
138+
title Concurrent access and queueing mode
139+
140+
participant CI/CD Pipeline
141+
participant NGINX Declarative API
142+
participant NGINX Instance Manager / NGINX One Console
143+
participant NGINX
144+
145+
critical Initial configuration deployment
146+
147+
CI/CD Pipeline ->> NGINX Declarative API: POST request - base configuration deployment
148+
149+
NGINX Declarative API ->>+ NGINX Instance Manager / NGINX One Console: Publish staged config to instance group / config sync group
150+
NGINX Instance Manager / NGINX One Console ->> NGINX: Publish config to NGINX instances
151+
NGINX Instance Manager / NGINX One Console ->>- NGINX Declarative API: Return outcome
152+
153+
NGINX Declarative API ->> CI/CD Pipeline: Response
154+
155+
end
156+
157+
critical Asynchronous configuration submission
158+
159+
CI/CD Pipeline ->> NGINX Declarative API: PATCH request - asynchronous configuration update 1
160+
NGINX Declarative API ->>+ NGINX Declarative API: request added to the queue
161+
CI/CD Pipeline ->> NGINX Declarative API: PATCH request - asynchronous configuration update 2
162+
NGINX Declarative API ->>+ NGINX Declarative API: request added to the queue
163+
164+
165+
loop Queue Manager Thread
166+
autonumber 1
167+
168+
NGINX Declarative API ->>+ NGINX Declarative API: get configuration update request from queue
169+
170+
NGINX Declarative API ->>+ NGINX Instance Manager / NGINX One Console: Publish staged config to instance group / config sync group
171+
NGINX Instance Manager / NGINX One Console ->> NGINX: Publish config to NGINX instances
172+
NGINX Instance Manager / NGINX One Console ->>- NGINX Declarative API: Return outcome
173+
NGINX Declarative API ->> NGINX Declarative API: Update configuration update request status
174+
175+
autonumber off
176+
end
177+
178+
CI/CD Pipeline ->> NGINX Declarative API: Check configuration request status
179+
NGINX Declarative API ->> CI/CD Pipeline: Response
129180
130181
end
131182
```
@@ -147,9 +198,9 @@ See the [features list](/FEATURES.md)
147198

148199
Usage details and JSON schema are available here:
149200

150-
- [API v5.2](/USAGE-v5.2.md) - latest - required for NGINX Plus R33+
151-
- [API v5.1](/USAGE-v5.1.md)
152-
- [API v5.0](/USAGE-v5.0.md) - deprecated
201+
- [API v5.3](/USAGE-v5.3.md) - latest - required for NGINX Plus R33+
202+
- [API v5.2](/USAGE-v5.2.md) - stable - required for NGINX Plus R33+
203+
- [API v5.1](/USAGE-v5.1.md) - deprecated
153204

154205
A sample Postman collection and usage instructions can be found [here](/contrib/postman)
155206

USAGE-v5.0.md

Lines changed: 0 additions & 213 deletions
This file was deleted.

0 commit comments

Comments
 (0)