Enterprise
Example Manifests
Ready-to-use NetBoxEnterprise resource manifests. Download a file and apply it with kubectl apply -f <file>.
| File | Description |
|---|---|
| netbox-managed.yaml | Standard deployment — NetBox, Diode, internal PostgreSQL and Redis, metrics enabled. Good starting point for most deployments. |
| netbox-only.yaml | NetBox only, Diode disabled. Minimal configuration. |
| netbox-external-db.yaml | External PostgreSQL database. |
| netbox-external-db-tls.yaml | External PostgreSQL with TLS. |
| netbox-external-redis-tls.yaml | External Redis with TLS. |
| netbox-with-superuser-secrets.yaml | Custom superuser credentials via Kubernetes Secret. |
| netbox-with-copilot.yaml | With Private Copilot enabled. |
| netbox-with-s3-storage.yaml | S3-compatible object storage for media files. |
| netbox-with-minio-storage.yaml | MinIO object storage. |
| netbox-managed-metrics.yaml | Full Prometheus metrics configuration for all components. |
| netbox-oidc-azuread.yaml | OIDC SSO with Azure AD. |
| netbox-oidc-okta.yaml | OIDC SSO with Okta. |
| netbox-oidc-generic.yaml | OIDC SSO with a generic provider. |
| netbox-saml.yaml | SAML SSO. |
| netbox-ldap-activedirectory.yaml | LDAP authentication with Active Directory. |
| netbox-ldap-openldap.yaml | LDAP authentication with OpenLDAP. |
| netbox-managed-with-custom-python.yaml | Inline custom Python configuration. |
| netbox-managed-with-custom-python-from-pvc.yaml | Custom Python configuration loaded from a PersistentVolumeClaim. |
| netbox-managed-with-custom-python-from-s3.yaml | Custom Python configuration loaded from S3. |
| netbox-managed-with-python-configmap-ref.yaml | Custom Python configuration from a ConfigMap reference. |
Customizing your manifest
Each file is a standalone starting point. To combine features — for example, S3 storage plus SAML SSO — copy the relevant spec sections from each file into a single manifest. Applying multiple files creates separate NetBox instances, not a merged deployment.
Namespace must match your Helm install
The example manifests use namespace: default. If you installed the Helm chart into a dedicated namespace (e.g. netbox), the manifest must use the same namespace — otherwise pods will fail to pull images because the image pull secret won't be accessible. Use sed to substitute inline:
curl -sL https://netboxlabs.com/docs/files/helm/examples/netbox-managed.yaml \
| sed 's/namespace: default/namespace: netbox/' \
| kubectl apply -f -