Prerequisites
Prerequisites (you are here) → Quickstart or Standard Install → Configure
Before installing NetBox Enterprise with the netbox-enterprise Helm chart, verify your environment meets these requirements.
Kubernetes Version
The nbe-operator chart requires Kubernetes 1.33 to 1.35 (Helm enforces >=1.33.0 <1.36.0).
kubectl version
OpenShift
NetBox Enterprise does not currently support installation on OpenShift.
- NetBox Enterprise runs its pods with a fixed UID/GID of
1000, which OpenShift'srestricted-v2SCC rejects in favor of per-namespace UID ranges. - Some init containers do not request non-root execution, which restricted SCCs also reject.
- These security context values are set by the NetBox Enterprise operator and cannot be overridden through Helm values.
- Granting the
anyuidSCC is not a supported workaround.
Required Tools
| Tool | Minimum Version | Purpose |
|---|---|---|
| Helm | 3.x | Chart installation and management |
| kubectl | Matching cluster version | Cluster interaction and debugging |
Resource Requirements
Cluster Sizing
| Environment | vCPU | Memory (RAM) | Disk Space |
|---|---|---|---|
| Production (recommended) | 8 vCPU | 24 GB | 100 GB SSD |
| Non-production (minimum) | 4 vCPU | 16 GB | 50 GB SSD |
These recommendations account for the full stack: operator, NetBox application, workers, PostgreSQL, Redis, and Diode components. SSD or NVMe storage is recommended for database performance.
Per-Component Defaults
The chart ships with the following resource defaults. These are starting points; production deployments should allocate resources based on the cluster sizing above.
| Component | CPU Request | Memory Request | CPU Limit | Memory Limit |
|---|---|---|---|---|
| Operator | 100m | 128Mi | 500m | 512Mi |
| NetBox app (per replica) | 200m | 750Mi | 1000m | 1500Mi |
| NetBox worker (per replica) | 100m | 128Mi | 1000m | 1500Mi |
| PostgreSQL (PGO-managed) | N/A | N/A | N/A | N/A |
| Redis | 250m | 256Mi | N/A | N/A |
For Diode components (if enabled):
| Component | CPU Request | Memory Request | CPU Limit | Memory Limit |
|---|---|---|---|---|
| Reconciler | 100m | 256Mi | 500m | 512Mi |
| Ingester | 100m | 256Mi | 500m | 512Mi |
| Auth | 50m | 128Mi | 200m | 256Mi |
| Hydra | 100m | 256Mi | 500m | 512Mi |
The per-component defaults are conservative requests to allow scheduling. For production workloads, ensure your nodes have sufficient headroom above these minimums; the cluster sizing recommendations above should be used as the target.
Registry Access
NetBox Enterprise is distributed through NetBox Labs' Replicated registries: the Helm charts are pulled from registry.enterprise.netboxlabs.com and the container images from proxy.enterprise.netboxlabs.com. Authenticate to the chart registry with your license credentials (your email as the username and your license ID as the password) before installing - the Quickstart and Standard Installation both begin with a helm registry login step.
You do not need to create an image-pull secret by hand. The bundled Replicated SDK provisions the netbox-enterprise-helm-registry pull secret at install time, so every component - including Redis - can pull its image from the proxy registry.
To pull images from your own private registry instead, see Private Registry.
Chart Dependencies
The netbox-enterprise chart automatically installs these dependencies (can be disabled individually):
| Dependency | Version | Purpose | Toggle |
|---|---|---|---|
| PGO (Crunchy Postgres Operator) | 6.0.1 | Manages internal PostgreSQL | pgo.enabled |
| Redis Operator | 0.24.0 | Manages internal Redis | redis-operator.enabled |
| Replicated SDK | 1.18.0 | License management | replicated.enabled |
Traefik (subchart alias gateway) | 40.2.0 | Bundled Gateway API controller, disabled by default for Helm installs | gateway.enabled |
Gateway API CRDs (Gateway Routing Only)
The operator routes external traffic through the Kubernetes Gateway API when gateway routing is enabled in the CR (spec.gateway) and the Gateway API CRDs are present, and falls back to Ingress resources otherwise (see Routing Mode). If you enable the bundled Traefik controller (gateway.enabled: true), install the netbox-enterprise-crds-gateway chart before the main chart:
helm install netbox-enterprise-crds-gateway \
oci://registry.enterprise.netboxlabs.com/netbox-enterprise/stable-v2/netbox-enterprise-crds-gateway \
--namespace netbox --create-namespace
The chart vendors the Gateway API v1.5.1 standard CRDs. Skip it if you bring your own Gateway API controller (your cluster already has the CRDs) or stay on the Ingress path. Embedded Cluster installs it automatically.
The upload-size cap (spec.gateway.maxRequestBodyBytes) is enforced through a Traefik Middleware, which needs the traefik.io CRDs. Embedded Cluster ships them automatically via the netbox-enterprise-crds-traefik chart. On Helm with the bundled Traefik controller, install that chart too if you want the cap enforced -- without it the operator skips the Middleware (no cap) and logs a warning. Bring-your-own gateways manage their own traefik.io CRDs.
When using an external PostgreSQL database, you can disable PGO with pgo.enabled: false. Similarly, set redis-operator.enabled: false when using external Redis. See the Configuration section for details.
RBAC Requirements
The operator requires cluster-level or namespace-level RBAC permissions depending on the rbac.scope setting:
cluster(default): CreatesClusterRoleandClusterRoleBinding. The operator watches forNetBoxEnterpriseresources across all namespaces.namespace: CreatesRoleandRoleBindingin the release namespace only. The operator watches only the namespace where it is installed.
The operator service account needs permissions to manage Deployments, Services, ConfigMaps, Secrets, PVCs, Jobs, CronJobs, Ingresses, Gateway API resources (Gateways, HTTPRoutes, GRPCRoutes, ReferenceGrants), and the CRDs for PostgreSQL and Redis operators.
Persistent Storage
The cluster must have a default StorageClass or you must specify one explicitly. Storage is used for:
- PostgreSQL data (default: 4Gi)
- NetBox media files (default: 10Gi)
- NetBox scripts (default: 1Gi)
- Redis persistence (if enabled)
For production deployments, consider using external managed services (e.g., AWS RDS for PostgreSQL, ElastiCache for Redis) instead of in-cluster storage. See PostgreSQL Configuration and Redis Configuration for external database setup.
Next Steps
- Quickstart: Get running in 5 minutes with minimal configuration
- Standard Installation: Full installation with custom values