Skip to main content

NetBox Enterprise Helm Values Configuration Guide

This guide covers the configuration and customization of NetBox Enterprise Helm deployments using overlay values files.

Overview

The NetBox Enterprise Helm chart supports a two-tier configuration approach:

  1. Base values file: Generated from the Enterprise Portal containing license information and default settings
  2. Overlay values file: Custom configurations that override or extend the base configuration

This approach ensures license information remains intact while allowing environment-specific customizations.

Prerequisites

  • NetBox Enterprise license with access to the Enterprise Portal
  • Kubernetes cluster version 1.26 or higher
  • Helm 3.17.3 or higher
  • kubectl configured with cluster access

Configuration Workflow

Step 1: Generate Base Values File

Access the Enterprise Portal and generate your base values file:

# Set authentication credentials
export NETBOX_USERNAME="your-email@company.com"
export SERVICE_ACCOUNT_TOKEN="your-service-account-token"

# Authenticate to the registry
helm registry login registry.replicated.com \
--username "$NETBOX_USERNAME" \
--password "$SERVICE_ACCOUNT_TOKEN"

# Generate base values file with license information
helm show values oci://registry.replicated.com/netbox-enterprise/beta/netbox-enterprise \
--version 1.11.4 > netbox-enterprise-values.yaml

Step 2: Create Overlay Configuration

Create a values-extra.yaml file for your custom configurations:

# values-extra.yaml
netbox:
ingress:
hosts:
- host: netbox.example.com
superuserEmail: "admin@example.com"
extraEnvironment:
TZ: "UTC"

Step 3: Deploy with Multiple Values Files

Deploy the chart using both the base and overlay values files:

helm install netbox-enterprise \
oci://registry.replicated.com/netbox-enterprise/beta/netbox-enterprise \
--namespace netbox-enterprise \
--create-namespace \
--values netbox-enterprise-values.yaml \
--values values-extra.yaml \
--version 1.11.4 \
--wait

Common Configuration Patterns

Network Configuration

Configure ingress and external access:

netbox:
ingress:
enabled: true
hosts:
- host: netbox.example.com
paths:
- path: /
pathType: Prefix
tls:
- secretName: netbox-tls
hosts:
- netbox.example.com
annotations:
cert-manager.io/cluster-issuer: "letsencrypt-prod"
nginx.ingress.kubernetes.io/proxy-body-size: "100m"

Resource Allocation

Configure resource requests and limits for production deployments:

netbox:
resources:
requests:
cpu: "1000m"
memory: "4Gi"
limits:
cpu: "4000m"
memory: "8Gi"

replicaCount: 3

worker:
replicaCount: 3
resources:
requests:
cpu: "500m"
memory: "1Gi"
limits:
cpu: "2000m"
memory: "4Gi"

External Database Configuration

Configure external PostgreSQL and Redis instances:

netbox:
extraEnvironment:
DATABASE_URL: "postgresql://netbox:password@postgres.example.com:5432/netbox"
REDIS_URL: "redis://:password@redis.example.com:6379/0"
CACHE_URL: "redis://:password@redis.example.com:6379/1"

postgresql:
enabled: false

redis:
enabled: false

Private Registry Configuration

Configure private container registries for air-gapped environments:

global:
imageRegistry: "registry.example.com/netbox"
imagePullSecrets:
- name: "registry-credentials"

netbox:
image:
repository: "registry.example.com/netbox/netbox-enterprise"
tag: "v1.11.4"

Advanced Configuration

Storage Configuration

Configure persistent storage for file uploads and media:

netbox:
persistence:
enabled: true
storageClass: "fast-ssd"
size: "100Gi"
accessMode: "ReadWriteOnce"

Security Configuration

Configure security contexts and pod security policies:

netbox:
securityContext:
runAsNonRoot: true
runAsUser: 1000
fsGroup: 1000

podSecurityContext:
seccompProfile:
type: RuntimeDefault

Monitoring and Observability

Configure metrics and monitoring endpoints:

netbox:
metrics:
enabled: true
serviceMonitor:
enabled: true
namespace: "monitoring"

extraEnvironment:
METRICS_ENABLED: "true"
LOGGING_LEVEL: "INFO"

Validation and Testing

Pre-deployment Validation

Validate configuration before deployment:

# Validate YAML syntax
helm template netbox-enterprise \
oci://registry.replicated.com/netbox-enterprise/beta/netbox-enterprise \
--values netbox-enterprise-values.yaml \
--values values-extra.yaml \
--version 1.11.4 \
--dry-run

# Check resource requirements
kubectl describe nodes | grep -E "(Name|Allocatable)"

Post-deployment Verification

Verify successful deployment:

# Check pod status
kubectl get pods -n netbox-enterprise

# Verify resource allocation
kubectl top pods -n netbox-enterprise

# Check service endpoints
kubectl get svc -n netbox-enterprise

# Verify ingress configuration
kubectl get ingress -n netbox-enterprise

Troubleshooting

Common Configuration Issues

Database Connection Failures

# Test database connectivity
kubectl run -it --rm debug --image=postgres:14 --restart=Never -- \
psql postgresql://user:pass@host:5432/dbname

Resource Constraints

# Check resource usage
kubectl describe pod -n netbox-enterprise <pod-name>
kubectl top nodes

Ingress Configuration Problems

# Verify ingress controller
kubectl get pods -A | grep ingress
kubectl get ingressclass

Debug Commands

# View application logs
kubectl logs -n netbox-enterprise deployment/netbox-enterprise

# Check configuration
kubectl describe configmap -n netbox-enterprise

# Inspect secrets
kubectl get secrets -n netbox-enterprise

File Management

Directory Structure

deployment/
├── netbox-enterprise-values.yaml # Base values from Enterprise Portal
├── values-extra.yaml # Environment-specific overrides
├── values-production.yaml # Production-specific settings
└── values-development.yaml # Development-specific settings

Version Control Considerations

  • Include: values-extra.yaml and environment-specific configurations
  • Exclude: netbox-enterprise-values.yaml (contains license secrets)
  • Protect: Use Kubernetes secrets for sensitive configuration data

Reference

Chart Information

  • Chart Repository: oci://registry.replicated.com/netbox-enterprise/beta/netbox-enterprise
  • Current Version: 1.11.4
  • Registry: registry.netboxlabs.com

Support

For technical support, contact NetBox Labs support with your deployment configuration (excluding sensitive information such as license keys and passwords).