Skip to main content
Enterprise

NetBox Configuration

Configure the NetBox web application and background workers under netboxEnterprise.spec.netbox.

Application Deployment

KeyTypeDefaultDescription
netbox.replicasuint81Number of NetBox web application replicas (0–255)
netbox.httpPortuint168080HTTP port for the NetBox web interface
netbox.statusPortuint168081Health check port for nginx unit
netbox.imagePullPolicystringAlwaysImage pull policy

Image

KeyTypeDefaultDescription
netbox.image.registrystringghcr.ioContainer registry
netbox.image.repositorystringnetbox-community/netboxImage repository
netbox.image.tagstringChart-dependentImage tag
netbox.image.digeststringOptional digest for image pinning

Resources

Resources are specified in millicores (CPU) and mebibytes (memory):

KeyTypeDefaultDescription
netbox.resources.cpuint200CPU request in millicores
netbox.resources.memoryint750Memory request in MiB
netbox.limits.cpuint1000CPU limit in millicores
netbox.limits.memoryint1500Memory limit in MiB

Storage

KeyTypeDefaultDescription
netbox.mediaStorageSizestring10GiPVC size for uploaded media files
netbox.scriptsStorageSizestring1GiPVC size for custom scripts
netbox.storageClassNamestringStorage class (uses cluster default if not set)

URLs

KeyTypeDefaultDescription
netbox.urlslistExternal URLs for the NetBox service. Used to configure ingress.

Example:

netbox:
urls:
- "https://netbox.example.com"

Environment Variables

KeyTypeDefaultDescription
netbox.envlistHTTP proxy defaultsKubernetes EnvVar list for NetBox containers
netbox.yamlEnvstringYAML string of environment variables

Worker Configuration

Background workers process asynchronous tasks such as webhooks, reports, and scripts.

KeyTypeDefaultDescription
netbox.worker.replicasuint81Number of worker replicas
netbox.worker.resources.cpuint100CPU request in millicores
netbox.worker.resources.memoryint128Memory request in MiB
netbox.worker.limits.cpuint1000CPU limit in millicores
netbox.worker.limits.memoryint1500Memory limit in MiB
netbox.worker.envlistHTTP proxy defaultsEnvironment variables for worker pods
netbox.worker.yamlEnvstringYAML string of environment variables

Application Config

Settings under netbox.config control NetBox application behavior.

KeyTypeDefaultDescription
netbox.config.allowedHostslist['*']Django allowed hosts
netbox.config.metricsEnabledboolfalseExpose Prometheus metrics at /metrics
netbox.config.customPythonConfigstringInline custom Python configuration
netbox.config.customPythonConfigRefobjectConfigMap reference for custom Python config

Superuser

If provided, all four fields must be set. Each references a Kubernetes Secret:

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

If no superuser is configured, the operator auto-generates credentials with the username admin and a random password.

Retrieving Auto-Generated Credentials

The auto-generated superuser secret follows the naming pattern <netboxenterprise-name>-netbox-superuser. For the default NetBoxEnterprise name netbox:

kubectl -n netbox get secret netbox-netbox-superuser \
-o jsonpath='{.data.password}' | base64 -d ; echo

To retrieve the auto-generated API token:

kubectl -n netbox get secret netbox-netbox-superuser \
-o jsonpath='{.data.api_token}' | base64 -d ; echo

Secret Key

The Django secret key is auto-generated if not provided. To use a specific key:

netbox:
config:
secretKey:
name: netbox-django-secret
key: secret_key

S3 Media Storage

Store uploaded files in S3-compatible object storage instead of local PVCs:

netbox:
config:
storage:
s3:
enabled: true
bucketName: netbox-media
regionName: us-east-1
endpointUrl: https://s3.example.com # for MinIO, Garage, etc.
accessKeyId:
name: netbox-s3-creds
key: access_key
secretAccessKey:
name: netbox-s3-creds
key: secret_key

S3 TLS Configuration

For S3-compatible endpoints with custom CA certificates or mTLS, use the tlsConfig field which references certificates from the cluster's tlsKeychain:

netbox:
config:
storage:
s3:
enabled: true
bucketName: netbox-media
endpointUrl: https://minio.internal:9000
tlsConfig:
keychainCaCertificates:
- minio-ca
keychainClientCertificate: minio-client # for mTLS
KeyTypeDefaultDescription
storage.s3.tlsConfig.insecureSkipVerifyboolfalseSkip SSL certificate verification
storage.s3.tlsConfig.keychainCaCertificateslistCA names from tlsKeychain for custom CA verification
storage.s3.tlsConfig.keychainClientCertificatestringClient cert name from tlsKeychain for mTLS

Scaling Guidance

NetBox replica counts may be constrained by your license tier:

  • Community / Starter: Up to the tier's replica limit
  • Professional / Premium: Higher limits or uncapped

The operator respects these limits and surfaces warnings in the NetBoxEnterprise status if the configured replica count exceeds the licensed maximum.

Next Steps