Standard Installation
This guide walks through a production-ready NetBox Enterprise installation with a custom values file, TLS, resource configuration, and post-install verification.
1. Create a Values File
Create netbox-values.yaml with your configuration:
# Enable the NetBoxEnterprise custom resource
netboxEnterprise:
enabled: true
spec:
# NetBox application
netbox:
replicas: 2
resources:
cpu: 500
memory: 1024
limits:
cpu: 2000
memory: 2048
worker:
replicas: 2
resources:
cpu: 200
memory: 256
limits:
cpu: 1000
memory: 1500
config:
metricsEnabled: true
# Internal PostgreSQL (default)
postgresql:
external: false
instances: 2 # Redundant with 2 replicas
storageSize: "20Gi"
# Internal Redis (default)
redis:
external: false
clusterSize: 3
# Diode data ingestion
diode:
enabled: true
config:
reconciler:
autoApplyChangesets: false
2. Create the Namespace
kubectl create namespace netbox
3. Configure Superuser (Optional)
By default the operator auto-generates a superuser with the username admin and a random password. To use your own credentials instead, create a secret before installing:
kubectl -n netbox create secret generic netbox-superuser \
--from-literal=username=admin \
--from-literal=email=admin@example.com \
--from-literal=password=<secure-password> \
--from-literal=api_token=<your-api-token>
Then add to your values file:
netboxEnterprise:
spec:
netbox:
config:
superuser:
username:
name: netbox-superuser
key: username
email:
name: netbox-superuser
key: email
password:
name: netbox-superuser
key: password
apiToken:
name: netbox-superuser
key: api_token
Superuser credentials are only applied during the initial database setup. If you skip this step, you can retrieve the auto-generated password later.
4. Configure TLS (Optional)
To serve NetBox over HTTPS, create a TLS secret:
kubectl -n netbox create secret tls netbox-tls \
--cert=path/to/tls.crt \
--key=path/to/tls.key
Add URLs to your values file so the operator configures ingress:
netboxEnterprise:
spec:
netbox:
urls:
- "https://netbox.example.com"
See Ingress & TLS for detailed configuration options.
5. Install
helm install netbox-enterprise \
oci://registry.enterprise.netboxlabs.com/library/nbe-operator \
--namespace netbox \
--values netbox-values.yaml
6. Verify the Installation
Check pod status
kubectl -n netbox get pods
All pods should reach Running (or Completed for jobs) within a few minutes.
Check NetBoxEnterprise status
kubectl -n netbox get netboxenterprises -o wide
Inspect detailed status
kubectl -n netbox describe netboxenterprise netbox
Look for the Ready condition with status True:
Conditions:
Type Status Reason
---- ------ ------
Ready True AllComponentsReady
Progressing False ReconcileComplete
Check operator logs
kubectl -n netbox logs -l app.kubernetes.io/name=nbe-operator --tail=50
Next Steps
- Helm Values Reference — Explore all available configuration options
- Security — RBAC modes, pod security, and TLS hardening
- Monitoring — Set up Prometheus metrics and ServiceMonitor