Skip to content

Mkingst tech specs updated #535

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open

Conversation

mkingst
Copy link
Contributor

@mkingst mkingst commented May 8, 2025

Proposed changes

Many Customers have asked for more information on what directories need to be reserved on baremetal installations. This has been added.

Also, removed "deprecated" on the manual steps for VM/Bare-metal, as some customers have issues with the script and may need to resort to installing NIM manually nd those steps are still correct.

Checklist

Before merging a pull request, run through this checklist and mark each as complete.

  • I have read the contributing guidelines
  • I have signed the F5 Contributor License Agreement (CLA)
  • I have rebased my branch onto main
  • I have ensured my PR is targeting the main branch and pulling from my branch from my own fork
  • I have ensured that the commit messages adhere to Conventional Commits
  • I have ensured that documentation content adheres to the style guide
  • If the change involves potentially sensitive changes1, I have assessed the possible impact
  • If applicable, I have added tests that prove my fix is effective or that my feature works
  • I have ensured that existing tests pass after adding my changes
  • If applicable, I have updated README.md and CHANGELOG.md

Footnotes

  1. Potentially sensitive changes include anything involving code, personally identify information (PII), live URLs or significant amounts of new or revised documentation. Please refer to our style guide for guidance about placeholder content.

@mkingst mkingst requested a review from a team as a code owner May 8, 2025 08:16
@github-actions github-actions bot added documentation Improvements or additions to documentation product/nim NGINX Instance Manager labels May 8, 2025
Copy link

github-actions bot commented May 8, 2025

Deploy Preview will be available once build job completes!

Name Link
😎 Deploy Preview https://frontdoor-test-docs.nginx.com/previews/docs/535/

Copy link
Contributor

@mjang mjang left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

love it, @mkingst . @travisamartin if you have a different review, I'll happily yield.

@@ -1,7 +1,7 @@
---
description: ''
docs: DOCS-1211
title: Manually install on a virtual machine or bare metal (deprecated)
title: Manually install on a virtual machine or bare metal (Manual Method)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's a little redundant:

Suggested change
title: Manually install on a virtual machine or bare metal (Manual Method)
title: Manually install on a virtual machine or bare metal

@@ -14,7 +14,7 @@ type:
Follow the steps in this guide to install or upgrade NGINX Instance Manager.

{{<call-out "caution" "Deprecated documentation notice" "fa fa-exclamation-triangle" >}}
This document outlines manual steps that have been replaced by a simplified script-based process. For most users, we recommend using the updated process documented [here]({{< ref "nim/deploy/vm-bare-metal/install.md" >}}).{{</call-out>}}
This document outlines manual steps to install NGINX Instance Manager. There is also a simplified script-based installation guide on the other section that we reccommend for faster deployment. For most users, we recommend using the updated process documented [here]({{< ref "nim/deploy/vm-bare-metal/install.md" >}}). If there are issues when running the script, these manual steps may be better suited to specific environments. {{</call-out>}}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
This document outlines manual steps to install NGINX Instance Manager. There is also a simplified script-based installation guide on the other section that we reccommend for faster deployment. For most users, we recommend using the updated process documented [here]({{< ref "nim/deploy/vm-bare-metal/install.md" >}}). If there are issues when running the script, these manual steps may be better suited to specific environments. {{</call-out>}}
This document outlines manual steps to install NGINX Instance Manager. For most users, we recommend that you use our script-based process documented [here]({{< ref "nim/deploy/vm-bare-metal/install.md" >}}). If there are issues when running the script, these manual steps may be better suited. {{</call-out>}}


#### Directory Requirements for NGINX Instance Manager

Below are the directory requirements and storage recommendations for fresh, minimal, and moderate usage (<100 instances) of NGINX Instance Manager (NIM).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Below are the directory requirements and storage recommendations for fresh, minimal, and moderate usage (<100 instances) of NGINX Instance Manager (NIM).
We recommend that you allocate at least the following space on the specified directories. These recommendations apply for fresh, minimal, and moderate usage (<100 instances) of NGINX Instance Manager (NIM).


Below are the directory requirements and storage recommendations for fresh, minimal, and moderate usage (<100 instances) of NGINX Instance Manager (NIM).

Important Note: These recommendations apply if you are using NGINX Agent to connect NGINX instances to NIM for full management capabilities (e.g., managing configurations, viewing metrics, applying WAF policies, managing certificates, etc.). If the use case is solely usage reporting, as introduced in R33+, the Agent is not required, and resources needed are significantly reduced. For usage reporting-only deployments, NIM simply receives and stores usage data sent directly from the instances, which does not require the same resource allocation outlined below.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I presume you're referring to volume requirements for each noted directory

Suggested change
Important Note: These recommendations apply if you are using NGINX Agent to connect NGINX instances to NIM for full management capabilities (e.g., managing configurations, viewing metrics, applying WAF policies, managing certificates, etc.). If the use case is solely usage reporting, as introduced in R33+, the Agent is not required, and resources needed are significantly reduced. For usage reporting-only deployments, NIM simply receives and stores usage data sent directly from the instances, which does not require the same resource allocation outlined below.
{{< note >}} These recommendations apply if you are using NGINX Agent to connect NGINX instances to NIM for full management capabilities, such as managing configurations, viewing metrics, applying WAF policies, and managing certificates.
If the use case is solely usage reporting, as introduced in R33+, you do not need to use NGINX Agent. This significantly reduces required resources. If your deployment is for reporting-only deployments, NIM receives and stores usage data sent directly from the instances, which do not require the same resources outlined here. {{< /note >}}

- /var/lib/nms/streaming: Stores NATS streaming messages; recommend 500MB.
- /var/lib/nms/secrets: Stores secrets for LLM license handshakes; recommend 10MB.
- /var/lib/nms/modules: Stores static content like manager.json; recommend 100KB (12KB minimum).
- /var/lib/clickhouse: Stores ClickHouse metrics data; recommend 2.5GB per instance (25GB for 10 instances, 250GB for 100 instances). This is only required if ClickHouse metrics are enabled. In NIM 2.20, lightweight mode can be deployed without ClickHouse (no metrics collected).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some of what's drafted is redundant. However, this is begging for a link to answer "What if I'm deploying > 100 instances of NIM"

Suggested change
- /var/lib/clickhouse: Stores ClickHouse metrics data; recommend 2.5GB per instance (25GB for 10 instances, 250GB for 100 instances). This is only required if ClickHouse metrics are enabled. In NIM 2.20, lightweight mode can be deployed without ClickHouse (no metrics collected).
- /var/lib/clickhouse: Stores ClickHouse metrics data; recommend 2.5GB per instance. Required only if ClickHouse metrics are enabled. In NIM 2.20, you can deploy lightweight mode without ClickHouse.

- /etc/nms/: Stores NIM configuration files; recommend 50MB.
- /etc/nginx: Stores NGINX configuration files; typical size is 10–50MB (confirm with specific deployments).

**Key Considerations**:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
**Key Considerations**:
**Key Considerations**:

Comment on lines +104 to +105
-Resources listed above are necessary for instance management using NIM (via NGINX Agent).
-For usage reporting-only deployments (without management via Agent):
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

style. We discourage the use of Latin terms

Suggested change
-Resources listed above are necessary for instance management using NIM (via NGINX Agent).
-For usage reporting-only deployments (without management via Agent):
-Resources listed above are necessary for instance management using NIM (through NGINX Agent).
-For usage reporting-only deployments (without management through Agent):

-Resources listed above are necessary for instance management using NIM (via NGINX Agent).
-For usage reporting-only deployments (without management via Agent):
No ClickHouse metrics are collected.
Resource requirements are significantly reduced, as the usage data is only received and stored by NIM. This generally requires much less disk space and memory allocation. The intended use case (management vs. usage reporting) is critical to avoid allocating unnecessary resources. Regular monitoring, backups, and adjustments are still recommended to optimize operations.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Resource requirements are significantly reduced, as the usage data is only received and stored by NIM. This generally requires much less disk space and memory allocation. The intended use case (management vs. usage reporting) is critical to avoid allocating unnecessary resources. Regular monitoring, backups, and adjustments are still recommended to optimize operations.
Resource requirements are significantly reduced, as the usage data is only received and stored by NIM. This generally requires much less disk space and memory allocation. The intended use case (management versus usage reporting) is critical to avoid allocating unnecessary resources. We still recommend regular monitoring, backups, and adjustments to optimize operations.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation product/nim NGINX Instance Manager
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants