apiVersion: v1 kind: Service metadata: name: netbox-service namespace: netbox spec: selector: app: netbox ports: - name: http port: 8080 targetPort: http --- apiVersion: apps/v1 kind: Deployment metadata: name: netbox-deployment namespace: netbox labels: app: netbox spec: replicas: 1 progressDeadlineSeconds: 300 selector: matchLabels: app: netbox strategy: # ReadWriteOnce PVC type: Recreate template: metadata: labels: app: netbox spec: containers: - name: netbox image: docker.io/netboxcommunity/netbox:v4.7-5.1.1 ports: - name: http containerPort: 8080 envFrom: - configMapRef: name: netbox-config - secretRef: name: netbox-secrets volumeMounts: - name: netbox-config mountPath: /etc/netbox/config readOnly: true - name: netbox-media mountPath: /opt/netbox/netbox/media - name: netbox-reports mountPath: /opt/netbox/netbox/reports - name: netbox-scripts mountPath: /opt/netbox/netbox/scripts startupProbe: exec: command: - /usr/bin/curl - --fail - --silent - --show-error - --max-time - "4" - --header - "Host: netbox.forust.xyz" - http://127.0.0.1:8080/login/ failureThreshold: 90 periodSeconds: 10 readinessProbe: exec: command: - /usr/bin/curl - --fail - --silent - --show-error - --max-time - "4" - --header - "Host: netbox.forust.xyz" - http://127.0.0.1:8080/login/ periodSeconds: 10 livenessProbe: exec: command: - /usr/bin/curl - --fail - --silent - --show-error - --max-time - "4" - --header - "Host: netbox.forust.xyz" - http://127.0.0.1:8080/login/ initialDelaySeconds: 30 periodSeconds: 30 resources: requests: cpu: "100m" memory: "1Gi" limits: cpu: "2" memory: "2Gi" volumes: - name: netbox-config configMap: name: netbox-settings - name: netbox-media persistentVolumeClaim: claimName: netbox-media-pvc - name: netbox-reports persistentVolumeClaim: claimName: netbox-reports-pvc - name: netbox-scripts persistentVolumeClaim: claimName: netbox-scripts-pvc --- apiVersion: apps/v1 kind: Deployment metadata: name: netbox-worker-deployment namespace: netbox labels: app: netbox-worker spec: replicas: 1 progressDeadlineSeconds: 300 selector: matchLabels: app: netbox-worker strategy: type: Recreate template: metadata: labels: app: netbox-worker spec: containers: - name: netbox-worker image: docker.io/netboxcommunity/netbox:v4.7-5.1.1 command: - /opt/netbox/venv/bin/python - netbox/manage.py - rqworker workingDir: /opt/netbox envFrom: - configMapRef: name: netbox-config - secretRef: name: netbox-secrets volumeMounts: - name: netbox-config mountPath: /etc/netbox/config readOnly: true - name: netbox-media mountPath: /opt/netbox/netbox/media - name: netbox-reports mountPath: /opt/netbox/netbox/reports - name: netbox-scripts mountPath: /opt/netbox/netbox/scripts resources: requests: cpu: "50m" memory: "256Mi" limits: cpu: "1" memory: "512Mi" volumes: - name: netbox-config configMap: name: netbox-settings - name: netbox-media persistentVolumeClaim: claimName: netbox-media-pvc - name: netbox-reports persistentVolumeClaim: claimName: netbox-reports-pvc - name: netbox-scripts persistentVolumeClaim: claimName: netbox-scripts-pvc --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: netbox-media-pvc namespace: netbox spec: accessModes: ["ReadWriteOnce"] resources: requests: storage: 2Gi --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: netbox-reports-pvc namespace: netbox spec: accessModes: ["ReadWriteOnce"] resources: requests: storage: 1Gi --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: netbox-scripts-pvc namespace: netbox spec: accessModes: ["ReadWriteOnce"] resources: requests: storage: 1Gi