|
| 1 | +# NetBox Kubernetes Deployment |
| 2 | + |
| 3 | +## Overview |
| 4 | + |
| 5 | +NetBox is an Infrastructure Resource Modeling (IRM) application designed to empower network automation. This deployment provides a production-ready NetBox instance on Kubernetes using Helm charts and Fleet configuration management. |
| 6 | + |
| 7 | +## Architecture |
| 8 | + |
| 9 | +- **Chart**: netbox v6.1.5 from <https://charts.netbox.oss.netboxlabs.com/> |
| 10 | +- **Namespace**: netbox |
| 11 | +- **Components**: Web application, worker processes, PostgreSQL database, Valkey cache |
| 12 | +- **Ingress**: NGINX with Let's Encrypt TLS certificates |
| 13 | + |
| 14 | +## Configuration |
| 15 | + |
| 16 | +### Core Settings |
| 17 | + |
| 18 | +- **Timezone**: America/Santiago |
| 19 | +- **Superuser **: <[email protected]> |
| 20 | +- **Change Log Retention**: 90 days |
| 21 | +- **Job Retention**: 90 days |
| 22 | +- **GraphQL**: Enabled |
| 23 | +- **Login Required**: False |
| 24 | + |
| 25 | +### Security |
| 26 | + |
| 27 | +- Non-root container execution (UID/GID: 1000) |
| 28 | +- Read-only root filesystem |
| 29 | +- Dropped capabilities |
| 30 | +- Runtime security profile enabled |
| 31 | +- External secret management via Kubernetes secrets |
| 32 | + |
| 33 | +### Storage |
| 34 | + |
| 35 | +- **Persistence**: Disabled (ephemeral storage) |
| 36 | +- **PostgreSQL**: 20Gi persistent storage (rook-ceph-block) |
| 37 | +- **Media/Reports/Scripts**: Stored in ephemeral volumes |
| 38 | + |
| 39 | +### Resources |
| 40 | + |
| 41 | +| Component | CPU Request | Memory Request | CPU Limit | Memory Limit | |
| 42 | +|-----------|-------------|----------------|-----------|--------------| |
| 43 | +| NetBox | 500m | 1Gi | 1000m | 2Gi | |
| 44 | +| Worker | 500m | 1Gi | 1000m | 2Gi | |
| 45 | +| PostgreSQL| 250m | 512Mi | 500m | 1Gi | |
| 46 | + |
| 47 | +## Access |
| 48 | + |
| 49 | +NetBox is accessible via dynamically generated hostnames based on cluster configuration: |
| 50 | + |
| 51 | +```bash |
| 52 | +https://netbox.{cluster-name}.{site}.lsst.org |
| 53 | +``` |
| 54 | + |
| 55 | +## Maintenance |
| 56 | + |
| 57 | +- **Housekeeping**: Daily automated cleanup (00:00 UTC) |
| 58 | +- **Job History**: 5 successful/failed jobs retained |
| 59 | +- **Monitoring**: Available via cluster monitoring stack |
0 commit comments