Skip to content

Commit 7242b11

Browse files
committed
(fleet/netbox) Deploy netbox on Kueyen
1 parent ee1907d commit 7242b11

File tree

5 files changed

+230
-0
lines changed

5 files changed

+230
-0
lines changed
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
apiVersion: external-secrets.io/v1beta1
2+
kind: ExternalSecret
3+
metadata:
4+
name: netbox-secrets
5+
namespace: netbox
6+
spec:
7+
secretStoreRef:
8+
kind: ClusterSecretStore
9+
name: onepassword
10+
target:
11+
name: netbox-secrets
12+
creationPolicy: Owner
13+
data:
14+
- secretKey: username
15+
remoteRef:
16+
key: &item netbox-secrets
17+
property: username
18+
- secretKey: password
19+
remoteRef:
20+
key: *item
21+
property: password
22+
- secretKey: email
23+
remoteRef:
24+
key: *item
25+
property: email
26+
- secretKey: api_token
27+
remoteRef:
28+
key: *item
29+
property: apiToken
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
apiVersion: external-secrets.io/v1beta1
2+
kind: ExternalSecret
3+
metadata:
4+
name: netbox-secrets
5+
namespace: netbox
6+
spec:
7+
secretStoreRef:
8+
kind: ClusterSecretStore
9+
name: onepassword
10+
target:
11+
name: netbox-valkey
12+
creationPolicy: Owner
13+
data:
14+
- secretKey: valkey-password
15+
remoteRef:
16+
key: &item netbox-valkey
17+
property: password

fleet/lib/netbox/fleet.yaml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
---
2+
defaultNamespace: &name netbox
3+
labels:
4+
bundle: *name
5+
namespaceLabels:
6+
lsst.io/discover: "true"
7+
helm:
8+
chart: &chart netbox
9+
releaseName: *chart
10+
repo: https://charts.netbox.oss.netboxlabs.com/
11+
version: 6.1.5
12+
timeoutSeconds: 600
13+
waitForJobs: true
14+
valuesFiles:
15+
- values.yaml

fleet/lib/netbox/values.yaml

Lines changed: 168 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,168 @@
1+
nameOverride: netbox
2+
clusterDomain: cluster.local
3+
4+
superuser:
5+
name: admin
6+
7+
existingSecret: netbox-secrets
8+
9+
10+
allowedHosts:
11+
- netbox.${ get .ClusterLabels "management.cattle.io/cluster-display-name" }.${ .ClusterLabels.site }.lsst.org
12+
13+
allowedHostsIncludesPodIP: false
14+
15+
admins:
16+
- [Admin User, [email protected]]
17+
18+
allowTokenRetrieval: false
19+
20+
changelogRetention: 90
21+
22+
debug: false
23+
24+
enforceGlobalUnique: true
25+
26+
graphQlEnabled: true
27+
28+
internalIPs: [127.0.0.1]
29+
30+
jobRetention: 90
31+
32+
loginRequired: false
33+
34+
loginTimeout: 1209600
35+
36+
maxPageSize: 1000
37+
38+
paginateCount: 50
39+
40+
secretKey: ZspyW4PeL9Nbo4rRznuNDKRUBJNGBbzwnidraj4m3mobekEbefPALeQjXKVz
41+
42+
timeZone: America/Santiago
43+
44+
replicaCount: 1
45+
46+
persistence:
47+
enabled: true
48+
storageClass: rook-ceph-block # Ajusta según tu proveedor de almacenamiento
49+
accessMode: ReadWriteOnce
50+
size: 10Gi
51+
annotations: {}
52+
53+
reportsPersistence:
54+
enabled: true
55+
storageClass: rook-ceph-block
56+
accessMode: ReadWriteOnce
57+
size: 1Gi
58+
annotations: {}
59+
60+
scriptsPersistence:
61+
enabled: true
62+
storageClass: rook-ceph-block
63+
accessMode: ReadWriteOnce
64+
size: 1Gi
65+
annotations: {}
66+
67+
resourcesPreset: medium
68+
resources:
69+
requests:
70+
cpu: 500m
71+
memory: 1Gi
72+
limits:
73+
cpu: 1000m
74+
memory: 2Gi
75+
76+
podSecurityContext:
77+
enabled: true
78+
fsGroup: 1000
79+
fsGroupChangePolicy: Always
80+
81+
securityContext:
82+
enabled: true
83+
runAsUser: 1000
84+
runAsGroup: 1000
85+
runAsNonRoot: true
86+
privileged: false
87+
readOnlyRootFilesystem: true
88+
allowPrivilegeEscalation: false
89+
capabilities:
90+
drop: [ALL]
91+
seccompProfile:
92+
type: RuntimeDefault
93+
94+
## @section Traffic Exposure Parameters
95+
96+
ingress:
97+
enabled: true
98+
className: nginx
99+
annotations:
100+
cert-manager.io/cluster-issuer: letsencrypt
101+
nginx.ingress.kubernetes.io/backend-protocol: HTTP
102+
nginx.ingress.kubernetes.io/client-body-buffer-size: 10m
103+
nginx.ingress.kubernetes.io/proxy-read-timeout: "60"
104+
nginx.ingress.kubernetes.io/proxy-send-timeout: "60"
105+
hosts:
106+
- host: netbox.${ get .ClusterLabels "management.cattle.io/cluster-display-name" }.${ .ClusterLabels.site }.lsst.org
107+
paths:
108+
- /
109+
tls:
110+
- secretName: netbox-tls
111+
hosts:
112+
- netbox.${ get .ClusterLabels "management.cattle.io/cluster-display-name" }.${ .ClusterLabels.site }.lsst.org
113+
114+
valkey:
115+
enabled: true
116+
auth:
117+
existingSecret: netbox-valkey
118+
existingSecretPasswordKey: valkey-password
119+
120+
## @section Worker for Netbox parameters
121+
122+
worker:
123+
enabled: true
124+
replicaCount: 1
125+
resourcesPreset: medium
126+
resources:
127+
requests:
128+
cpu: 500m
129+
memory: 1Gi
130+
limits:
131+
cpu: 1000m
132+
memory: 2Gi
133+
podSecurityContext:
134+
enabled: true
135+
fsGroup: 1000
136+
fsGroupChangePolicy: Always
137+
securityContext:
138+
enabled: true
139+
runAsUser: 1000
140+
runAsGroup: 1000
141+
runAsNonRoot: true
142+
privileged: false
143+
readOnlyRootFilesystem: true
144+
allowPrivilegeEscalation: false
145+
capabilities:
146+
drop: [ALL]
147+
seccompProfile:
148+
type: RuntimeDefault
149+
150+
## @section Cron housekeeping job parameters
151+
152+
housekeeping:
153+
enabled: true
154+
schedule: 0 0 * * *
155+
successfulJobsHistoryLimit: 5
156+
failedJobsHistoryLimit: 5
157+
resourcesPreset: medium
158+
resources:
159+
requests:
160+
cpu: 500m
161+
memory: 1Gi
162+
limits:
163+
cpu: 1000m
164+
memory: 2Gi
165+
166+
extraEnvs:
167+
- name: DB_WAIT_DEBUG
168+
value: "1"

fleet/s/dev/c/kueyen/netbox

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../../../../lib/netbox

0 commit comments

Comments
 (0)