Skip to content

Commit 63bcadd

Browse files
authored
feature: define Staged Configs (#264)
* feature: define Staged Configs * Add Staged Config API endpoints Co-authored-by: Jon Torre <[email protected]> * Update content/nginx-one/how-to/nginx-configs/view-edit-nginx-configurations.md
1 parent 1237e08 commit 63bcadd

File tree

10 files changed

+1916
-303
lines changed

10 files changed

+1916
-303
lines changed

Diff for: content/includes/nginx-one/staged-config-overview.md

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
---
2+
docs: DOCS-000
3+
files:
4+
- content/nginx-one/how-to/staged-configs/add-staged-config.md
5+
- content/nginx-one/how-to/staged-configs/edit-staged-config.md
6+
---
7+
8+
It takes time to set up NGINX configuration files can take time. Staged Configurations can help. They work like a draft that uses the features of NGINX One Console. The Staged Configuration does not have to be valid.
9+
You can save your work before you push a configuration to an instance of NGINX.
10+
11+
With Staged Configurations, you can use these features of NGINX One Console:
12+
13+
- Automatic syntax checking
14+
- Contextual documentation
15+
- Dynamic analysis of your work in progress
16+
- Suggestions from our AI assistant
17+
18+
Once you've finished your work and have pushed the changes to an Instance or a Config Sync Group, you can next delete that Staged Configuration.

Diff for: content/nginx-one/changelog.md

+10
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,16 @@ h2 {
3030

3131
Stay up-to-date with what's new and improved in the F5 NGINX One Console.
3232

33+
## March 11, 2025
34+
35+
### Set up Staged Configurations
36+
37+
It allows you to:
38+
39+
- Save Your Progress: Staged Configurations allow you to work on configuration changes without the need for a fully functional setup. You can create these drafts from scratch, an existing Instance, another Staged Configuration, or a Config Sync Group.
40+
- No Immediate Validation Required: You don't have to immediately address syntax or configuration issues. Your Staged Configuration doesn't have to be valid until you publish it to an Instance or a Config Sync Group.
41+
- Manage through our API: You can easily manage your Staged Configurations programmatically through our [API]({{< ref "/nginx-one/api/api-reference-guide/#tag/StagedConfigs" >}}).
42+
3343
## January 20, 2025
3444

3545
### Manage certificates with Config Sync Groups

Diff for: content/nginx-one/glossary.md

+1
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ This glossary defines terms used in the F5 NGINX One Console and F5 Distributed
1818
| **Data Plane** | The data plane is the part of a network architecture that carries user traffic. It handles tasks like forwarding data packets between devices and managing network communication. In the context of NGINX, the data plane is responsible for tasks such as load balancing, caching, and serving web content. |
1919
| **Instance** | An instance is an individual system with NGINX installed. You can group the instances of your choice in a Config Sync Group. When you add an instance to NGINX One, you need to use a data plane key. |
2020
| **Namespace** | In F5 Distributed Cloud, a namespace groups a tenant’s configuration objects, similar to administrative domains. Every object in a namespace must have a unique name, and each namespace must be unique to its tenant. This setup ensures isolation, preventing cross-referencing of objects between namespaces. |
21+
| **Staged Configurations** | Also known as **Staged Configs**. Allows you to save "work in progress." You can create it from scratch, an Instance, another Staged Config, or a Config Sync Group. It does _not_ have to be a working configuration until you publish it to an instance or a Config Sync Group. You can even manage your **Staged Configurations** through our [API]({{< ref "/nginx-one/api/api-reference-guide/#tag/StagedConfigs" >}}). |
2122
| **Tenant** | A tenant in F5 Distributed Cloud is an entity that owns a specific set of configuration and infrastructure. It is fundamental for isolation, meaning a tenant cannot access objects or infrastructure of other tenants. Tenants can be either individual or enterprise, with the latter allowing multiple users with role-based access control (RBAC). |
2223
{{</bootstrap-table>}}
2324

Original file line numberDiff line numberDiff line change
@@ -1,13 +1,28 @@
11
---
2-
docs: null
2+
# We use sentence case and present imperative tone
33
title: View and edit NGINX configurations
4-
toc: true
4+
# Weights are assigned in increments of 100: determines sorting order
55
weight: 300
6-
type:
7-
- how-to
6+
# Creates a table of contents and sidebar, useful for large documents
7+
toc: true
8+
# Types have a 1:1 relationship with Hugo archetypes, so you shouldn't need to change this
9+
type: tutorial
10+
# Intended for internal catalogue and search, case sensitive:
11+
product: NGINX One
812
---
13+
<!-- Possible future include, with similar files in config-sync-groups/ and staged-configs/ subdirectories -->
14+
15+
## Overview
16+
17+
This guide explains how to add a **Instances** to your NGINX One Console.
918

10-
Once you've registered your NGINX instances with the F5 NGINX One Console, you can view and edit their NGINX configurations on the **Instances** details page.
19+
## Before you start
20+
21+
Before you add **Instances** to NGINX One Console, ensure:
22+
23+
- You have an NGINX One Console account with staged configuration permissions.```
24+
25+
Once you've registered your NGINX Instances with the F5 NGINX One Console, you can view and edit their NGINX configurations on the **Instances** details page.
1126

1227
To view and edit an NGINX configuration, follow these steps:
1328

@@ -19,6 +34,8 @@ To view and edit an NGINX configuration, follow these steps:
1934
6. When you are satisfied with the changes, select **Next**.
2035
7. Compare and verify your changes before selecting **Save and Publish** to publish the edited configuration.
2136

37+
Alternatively, you can select **Save Changes As**. In the window that appears, you can set up this instance as a [**Staged Configuration**]({{< relref "/nginx-one/how-to/staged-configs/_index.md" >}}).
38+
2239
## See also
2340

2441
- [Manage Config Sync Groups]({{< relref "/nginx-one/how-to/config-sync-groups/manage-config-sync-groups.md" >}})

Diff for: content/nginx-one/how-to/staged-configs/_index.md

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
description:
3+
title: Staged Configurations
4+
weight: 800
5+
url: /nginx-one/how-to/staged-configs
6+
---
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
---
2+
# We use sentence case and present imperative tone
3+
title: Add a Staged Configuration
4+
# Weights are assigned in increments of 100: determines sorting order
5+
weight: 100
6+
# Creates a table of contents and sidebar, useful for large documents
7+
toc: true
8+
# Types have a 1:1 relationship with Hugo archetypes, so you shouldn't need to change this
9+
type: tutorial
10+
# Intended for internal catalogue and search, case sensitive:
11+
# Agent, N4Azure, NIC, NIM, NGF, NAP-DOS, NAP-WAF, NGINX One, NGINX+, Solutions, Unit
12+
product:
13+
---
14+
15+
## Overview
16+
17+
This guide explains how to add a Staged Configuration to your NGINX One Console.
18+
19+
{{< include "nginx-one/staged-config-overview.md" >}}
20+
21+
## Before you start
22+
23+
Before you add a Staged Configuration to NGINX One Console, ensure:
24+
25+
- You have an NGINX One Console account with staged configuration permissions.
26+
27+
## Add a Staged Configuration
28+
29+
You can add a Staged Configuration from:
30+
31+
- Empty files
32+
- An existing Instance
33+
- An existing Config Sync Group
34+
- An existing Staged Configuration
35+
36+
To start the process from NGINX One Console, select **Manage > Staged Configruations**. Select **Add Staged Configuration**.
37+
38+
The following sections start from the **Add Staged Configuration** window that appears.
39+
40+
### Start from an empty file
41+
42+
To start a new Staged Configuration:
43+
44+
1. Select **New Configuration**.
45+
1. Enter a name.
46+
1. Select **Next**.
47+
48+
You will see a new Staged Configuration with the default NGINX configuration file, `/etc/nginx/nginx.conf`, in edit mode.
49+
1. Type or paste content for `/etc/nginx/nginx.conf`.
50+
1. Select **Add File** to add the configuration, certificate, or other file(s) of your choice.
51+
1. When you're done, select **Save**.
52+
53+
### Start from an existing Instance
54+
55+
To start from an existing Instance:
56+
57+
1. Select **Existing Source**.
58+
1. Enter a name for your new Staged Configuration.
59+
1. Select **Instance**.
60+
1. In the Choose Instance menu that appears, select an existing Instance.
61+
1. Select **Next**.
62+
63+
NGINX One Console imports the configuration from the existing Instance. You can now edit the configuration. When you're ready to stop and save your work, select Save.
64+
65+
### Start from an existing Config Sync Group
66+
67+
To start from an existing Config Sync Group:
68+
69+
1. Select **Existing Source**.
70+
1. Select **Config Sync Group**.
71+
1. In the Choose Config Sync Group menu that appears, select an existing Config Sync Group.
72+
1. Enter a name for your new Staged Configuration.
73+
1. Select **Next**.
74+
75+
NGINX One Console imports the configuration from the existing Config Sync Group. You can now edit the configuration. When you're ready to stop and save your work, select Save.
76+
77+
### Start from an existing Staged Config
78+
79+
To start from an existing Staged Config:
80+
81+
1. Select **Existing Source**.
82+
1. Select **Staged Configuration**.
83+
1. In the Choose Staged Configuratiog menu that appears, select an existing Staged Configuration.
84+
1. Enter a name for your new Staged Configuration.
85+
1. Select **Next**.
86+
87+
NGINX One Console imports the configuration from the existing Staged Configuration. You can now edit the configuration. When you're ready to stop and save your work, select Save.
88+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
---
2+
# We use sentence case and present imperative tone
3+
title: Use the API to manage your Staged Configurations
4+
# Weights are assigned in increments of 100: determines sorting order
5+
weight: 300
6+
# Creates a table of contents and sidebar, useful for large documents
7+
toc: true
8+
# Types have a 1:1 relationship with Hugo archetypes, so you shouldn't need to change this
9+
type: tutorial
10+
# Intended for internal catalogue and search, case sensitive:
11+
product: NGINX One
12+
---
13+
14+
You can use F5 NGINX One Console API to manage your Staged Configurations. With our API, you can:
15+
16+
- [Create an NGINX Staged Configuration]({{< relref "/nginx-one/api/api-reference-guide/#operation/createStagedConfig" >}})
17+
- The details allow you to add existing configuration files.
18+
- [Get a list of existing Staged Configruations]({{< relref "/nginx-one/api/api-reference-guide/#operation/listStagedConfigs" >}})
19+
- Be sure to record the `object_id` of your target Staged Configuration for your analysis report.
20+
- [Get an analysis report for an existing Staged Configuration]({{< relref "/nginx-one/api/api-reference-guide/#operation/getStagedConfigReport" >}})
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
---
2+
# We use sentence case and present imperative tone
3+
title: View and edit a Staged Configuration
4+
# Weights are assigned in increments of 100: determines sorting order
5+
weight: 200
6+
# Creates a table of contents and sidebar, useful for large documents
7+
toc: true
8+
# Types have a 1:1 relationship with Hugo archetypes, so you shouldn't need to change this
9+
type: tutorial
10+
# Intended for internal catalogue and search, case sensitive:
11+
product: NGINX One
12+
---
13+
14+
## Overview
15+
16+
This guide explains how to edit an existing Staged Configuration in your NGINX One Console.
17+
18+
{{< include "nginx-one/staged-config-overview.md" >}}
19+
20+
## Before you start
21+
22+
Before you edit a Staged Configuration, ensure:
23+
24+
- You have an NGINX One Console account with staged configuration permissions.```
25+
26+
## View and edit a Staged Configuration
27+
<!-- Possible future include, with similar files in config-sync-groups/, nginx-configs/, and staged-configs/ subdirectories -->
28+
29+
Once you've registered your NGINX Staged Configs with the F5 NGINX One Console, you can view and edit their NGINX configurations on the **Staged Configurations** details page.
30+
31+
To view and edit an NGINX configuration, follow these steps:
32+
33+
1. On the left menu, select **Staged Configurations**.
34+
1. Select the staged configuration you want to view or modify.
35+
1. Select **Edit** to make changes to the current configuration.
36+
1. Make your changes to the configuration files. The configuration analyzer will let you know if there are any errors.
37+
1. When you are satisfied with the changes, select **Next**.
38+
1. Compare and verify your changes before selecting **Save** to publish the edited Staged configuration.

Diff for: go.mod

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@ module github.com/nginxinc/docs
22

33
go 1.19
44

5-
require github.com/nginxinc/nginx-hugo-theme v0.42.1 // indirect
5+
require github.com/nginxinc/nginx-hugo-theme v0.42.1 // indirect

0 commit comments

Comments
 (0)