Skip to content

Commit 3a6dc45

Browse files
committed
base values
1 parent 678455f commit 3a6dc45

File tree

4 files changed

+399
-0
lines changed

4 files changed

+399
-0
lines changed

apps/netbox/helm/values.yaml

Lines changed: 347 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,347 @@
1+
# Default values for NetBox.
2+
# This is a YAML-formatted file.
3+
# Declare variables to be passed into your templates.
4+
5+
## @section NetBox Configuration parameters
6+
7+
# You can also use an existing secret for the superuser password and API token
8+
# See `existingSecret` for details
9+
superuser:
10+
name: admin
11+
email: admin@example.com
12+
password: "Bacon123"
13+
apiToken: ""
14+
existingSecret: ""
15+
16+
# This is a list of valid fully-qualified domain names (FQDNs) for the NetBox
17+
# server. NetBox will not permit write access to the server via any other
18+
# hostnames. The first FQDN in the list will be treated as the preferred name.
19+
allowedHosts:
20+
- "*"
21+
22+
# Include Pod IP in list of allowed hosts by providing it as the 'POD_IP' envvar
23+
# at runtime, which is then used in the configuration.py.
24+
allowedHostsIncludesPodIP: true
25+
26+
# Specify one or more name and email address tuples representing NetBox
27+
# administrators. These people will be notified of application errors (assuming
28+
# correct email settings are provided).
29+
# admins:
30+
# - ['John Doe', 'jdoe@example.com']
31+
admins: []
32+
33+
# Permit the retrieval of API tokens after their creation.
34+
allowTokenRetrieval: false
35+
36+
# This parameter acts as a pass-through for configuring Django's built-in
37+
# password validators for local user accounts. If configured, these will be
38+
# applied whenever a user's password is updated to ensure that it meets minimum
39+
# criteria such as length or complexity.
40+
# https://netboxlabs.com/docs/netbox/en/stable/configuration/security/#auth_password_validators
41+
authPasswordValidators: []
42+
43+
# URL schemes that are allowed within links in NetBox
44+
allowedUrlSchemes:
45+
- file
46+
- ftp
47+
- ftps
48+
- http
49+
- https
50+
- irc
51+
- mailto
52+
- sftp
53+
- ssh
54+
- tel
55+
- telnet
56+
- tftp
57+
- vnc
58+
- xmpp
59+
60+
banner:
61+
# Optionally display a persistent banner at the top and/or bottom of every
62+
# page. HTML is allowed.
63+
top: ""
64+
bottom: ""
65+
66+
# Text to include on the login page above the login form. HTML is allowed.
67+
login: ""
68+
69+
# Maximum number of days to retain logged changes. Set to 0 to retain change
70+
# logs indefinitely. (Default: 90)
71+
changelogRetention: 90
72+
73+
# This is a mapping of models to custom validators that have been defined
74+
# locally to enforce custom validation logic.
75+
# https://netboxlabs.com/docs/netbox/en/stable/configuration/data-validation/#custom_validators
76+
customValidators: {}
77+
78+
# This is a dictionary defining the default preferences to be set for newly-
79+
# created user accounts.
80+
# https://netboxlabs.com/docs/netbox/en/stable/configuration/default-values/#default_user_preferences
81+
# defaultUserPreferences:
82+
# pagination:
83+
# per_page: 100
84+
defaultUserPreferences: {}
85+
86+
# API Cross-Origin Resource Sharing (CORS) settings. If originAllowAll
87+
# is set to true, all origins will be allowed. Otherwise, define a list of
88+
# allowed origins using either originWhitelist or originRegexWhitelist. For
89+
# more information, see https://github.com/ottoyiu/django-cors-headers
90+
cors:
91+
originAllowAll: false
92+
originWhitelist: [ "https://netbox.sandbox.cedille.club", "https://netbox.etsmtl.club" ]
93+
originRegexWhitelist: []
94+
# - '^(https?://)?(\w+\.)?example\.com$'
95+
96+
# CSRF settings. Needed for netbox v3.2.0 and newer. For more information
97+
# see https://netboxlabs.com/docs/netbox/en/stable/configuration/security/#csrf_trusted_origins
98+
csrf:
99+
# The name of the cookie to use for the cross-site request forgery (CSRF)
100+
# authentication token.
101+
cookieName: csrftoken
102+
# Defines a list of trusted origins for unsafe (e.g. POST) requests. This is
103+
# a pass-through to Django's CSRF_TRUSTED_ORIGINS setting. Note that each
104+
# host listed must specify a scheme (e.g. http:// or `https://).
105+
trustedOrigins: [ "https://netbox.sandbox.cedille.club", "https://netbox.etsmtl.club" ]
106+
107+
# Enable the GraphQL API
108+
graphQlEnabled: false
109+
110+
# Setting this to True will permit only authenticated users to access any part
111+
# of NetBox. By default, anonymous users are permitted to access most data in
112+
# NetBox but not make any changes.
113+
loginRequired: true
114+
115+
# When determining the primary IP address for a device, IPv6 is preferred over
116+
# IPv4 by default. Set this to True to prefer IPv4 instead.
117+
preferIPv4: true
118+
119+
# Rack elevation size defaults, in pixels. For best results, the ratio of width
120+
# to height should be roughly 10:1.
121+
rackElevationDefaultUnitHeight: 22
122+
rackElevationDefaultUnitWidth: 220
123+
124+
# Remote authentication support
125+
remoteAuth:
126+
enabled: false
127+
backends:
128+
- netbox.authentication.RemoteUserBackend
129+
header: HTTP_REMOTE_USER
130+
userFirstName: HTTP_REMOTE_USER_FIRST_NAME
131+
userLastName: HTTP_REMOTE_USER_LAST_NAME
132+
userEmail: HTTP_REMOTE_USER_EMAIL
133+
autoCreateUser: false
134+
autoCreateGroups: false
135+
defaultGroups: []
136+
defaultPermissions: {}
137+
groupSyncEnabled: false
138+
groupHeader: HTTP_REMOTE_USER_GROUP
139+
superuserGroups: []
140+
superusers: []
141+
staffGroups: []
142+
staffUsers: []
143+
groupSeparator: "|"
144+
145+
# The following options are specific for backend "netbox.authentication.LDAPBackend"
146+
# you can use an existing netbox secret with "ldap_bind_password" instead of "bindPassword"
147+
# see https://django-auth-ldap.readthedocs.io
148+
ldap:
149+
# serverUri: ldap://example.com
150+
serverUri: ""
151+
startTls: true
152+
ignoreCertErrors: false
153+
caCertDir: ""
154+
caCertData: ""
155+
# bindDn: CN=Netbox,OU=EmbeddedDevices,OU=MyCompany,DC=example,dc=com
156+
bindDn: ""
157+
bindPassword: ""
158+
userDnTemplate: ""
159+
# userSearchBaseDn: OU=Users,OU=MyCompany,DC=example,dc=com
160+
userSearchBaseDn: ""
161+
userSearchAttr: sAMAccountName
162+
# groupSearchBaseDn: OU=Groups,OU=MyCompany,DC=example,dc=com
163+
groupSearchBaseDn: ""
164+
groupSearchClass: group
165+
groupType: GroupOfNamesType
166+
# requireGroupDn:
167+
# - CN=Network Configuration Operators,CN=Builtin,DC=example,dc=com
168+
# - CN=Domain Admins,CN=Users,DC=example,dc=com
169+
requireGroupDn: []
170+
# isAdminDn:
171+
# - CN=Domain Admins,CN=Users,DC=example,dc=com
172+
isAdminDn: []
173+
# isSuperUserDn:
174+
# - CN=Domain Admins,CN=Users,DC=example,dc=com
175+
isSuperUserDn: []
176+
findGroupPerms: true
177+
mirrorGroups: true
178+
mirrorGroupsExcept: []
179+
cacheTimeout: 3600
180+
attrFirstName: givenName
181+
attrLastName: sn
182+
attrMail: mail
183+
184+
releaseCheck:
185+
# This repository is used to check whether there is a new release of NetBox
186+
# available. Set to null to disable the version check or use the URL below to
187+
# check for release in the official NetBox repository.
188+
# url: https://api.github.com/repos/netbox-community/netbox/releases
189+
url: ""
190+
191+
# Maximum execution time for background tasks, in seconds.
192+
# Default value 300 is 5 minutes
193+
rqDefaultTimeout: 300
194+
195+
# The name to use for the session cookie.
196+
sessionCookieName: sessionid
197+
198+
# Localization
199+
enableLocalization: false
200+
201+
# Time zone (default: UTC)
202+
timeZone: UTC
203+
204+
# Date/time formatting. See the following link for supported formats:
205+
# https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date
206+
dateFormat: "N j, Y"
207+
shortDateFormat: "Y-m-d"
208+
timeFormat: "g:i a"
209+
shortTimeFormat: "H:i:s"
210+
dateTimeFormat: "N j, Y g:i a"
211+
shortDateTimeFormat: "Y-m-d H:i"
212+
213+
## Extra configuration settings
214+
# You can pass additional YAML files to be loaded into NetBox's configuration.
215+
# These can be passed as arbitrary configuration values set in the chart, or
216+
# you can load arbitrary *.yaml keys from ConfigMaps and Secrets.
217+
# extraConfig:
218+
# - values:
219+
# EXTRA_SETTING_ONE: example
220+
# ANOTHER_SETTING: foobar
221+
# - configMap: # pod.spec.volumes.configMap
222+
# name: netbox-extra
223+
# items: []
224+
# optional: false
225+
# - secret: # same as pod.spec.volumes.secret
226+
# secretName: netbox-extra
227+
# items: []
228+
# optional: false
229+
extraConfig: []
230+
231+
# If provided, this should be a 50+ character string of random characters. It
232+
# will be randomly generated if left blank.
233+
# You can also use an existing secret with "secret_key" instead of "secretKey"
234+
# See `existingSecret` for details
235+
secretKey: ""
236+
237+
## Provide passwords using existing secret
238+
# If set, this Secret must contain the following keys:
239+
# - secret_key: session encryption token (50+ random characters)
240+
existingSecret: ""
241+
242+
persistence:
243+
enabled: false
244+
## Data Persistent Volume Storage Class
245+
## If defined, storageClassName: <storageClass>
246+
## If set to "-", storageClassName: "", which disables dynamic provisioning
247+
## If undefined (the default) or set to null, no storageClassName spec is
248+
## set, choosing the default provisioner. (gp2 on AWS, standard on
249+
## GKE, AWS & OpenStack)
250+
##
251+
# storageClass: "cephfs"
252+
accessMode: ReadWriteOnce
253+
size: 5Gi
254+
255+
## Container's resource requests and limits
256+
## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
257+
## We usually recommend not to specify default resources and to leave this as a conscious
258+
## choice for the user. This also increases chances charts run on environments with little
259+
## resources, such as Minikube. If you do want to specify resources, uncomment the following
260+
## lines, adjust them as necessary, and remove the curly braces after 'resources:'.
261+
## @param resourcesPreset Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge).
262+
## This is ignored if resources is set (resources is recommended for production).
263+
## More information: https://github.com/bitnami/charts/blob/main/bitnami/common/templates/_resources.tpl#L15
264+
##
265+
resourcesPreset: "small"
266+
267+
## @section Databases parameters
268+
269+
## PostgreSQL chart configuration
270+
## https://github.com/bitnami/charts/blob/main/bitnami/postgresql/values.yaml
271+
##
272+
postgresql:
273+
## @param postgresql.enabled Whether to deploy a PostgreSQL server to satisfy the applications database requirements
274+
## To use an external database set this to false and configure the externalDatabase parameters
275+
##
276+
enabled: true
277+
auth:
278+
username: netbox1
279+
database: Bacon123
280+
281+
debug: true
282+
dbWaitDebug: true
283+
284+
## External database configuration
285+
## @param externalDatabase.host Host of the existing database
286+
## @param externalDatabase.port Port of the existing database
287+
## @param externalDatabase.username Existing username in the external db
288+
## @param externalDatabase.password Password for the above username
289+
## @param externalDatabase.database Name of the existing database
290+
## @param externalDatabase.existingSecretName Name of a secret containing the database credentials
291+
## @param externalDatabase.existingSecretKey Key of a secret containing the database credentials
292+
##
293+
externalDatabase:
294+
host: netbox-postgresql
295+
port: 5432
296+
database: netbox
297+
username: netbox1
298+
password: "Bacon123"
299+
existingSecretName: ""
300+
existingSecretKey: postgresql-password
301+
302+
# The following settings also apply when using the bundled PostgreSQL chart:
303+
engine: django.db.backends.postgresql
304+
connMaxAge: 300
305+
disableServerSideCursors: false
306+
## @param externalDatabase.options Additional PostgreSQL client parameters
307+
## Ref: https://www.postgresql.org/docs/current/libpq-connect.html#LIBPQ-PARAMKEYWORDS
308+
##
309+
options:
310+
sslmode: "prefer"
311+
target_session_attrs: "read-write"
312+
313+
## Additional databases configuration
314+
## @param additionalDatabases.*.host Host of the existing database
315+
## @param additionalDatabases.*.port Port of the existing database
316+
## @param additionalDatabases.*.username Existing username in the external db
317+
## @param additionalDatabases.*.password Password for the above username
318+
## @param additionalDatabases.*.database Name of the existing database
319+
## e.g:
320+
## additionalDatabases:
321+
## external2:
322+
## host: localhost
323+
## port: 5432
324+
## database: netbox
325+
## username: netbox
326+
## password: ""
327+
## engine: django.db.backends.postgresql
328+
## connMaxAge: 300
329+
## disableServerSideCursors: false
330+
## options:
331+
## sslmode: "prefer"
332+
## target_session_attrs: "read-write"
333+
##
334+
additionalDatabases: {}
335+
336+
## Valkey chart configuration
337+
## https://github.com/bitnami/charts/blob/main/bitnami/valkey/values.yaml
338+
## @param valkey.enabled Whether to deploy a Valkey server to satisfy the applications database requirements
339+
##
340+
valkey:
341+
enabled: true
342+
sentinel:
343+
enabled: false
344+
primarySet: netbox-kv
345+
auth:
346+
# Sentinel auth is disabled by default, as Netbox does not support configuring SENTINEL_KWARGS.
347+
sentinel: false

apps/netbox/kustomization.yaml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
apiVersion: kustomize.config.k8s.io/v1beta1
2+
kind: Kustomization
3+
metadata:
4+
name: netbox
5+
namespace: netbox
6+
resources:
7+
- resources/httpproxy.yaml
8+
helmCharts:
9+
- name: netbox
10+
version: 7.1.4
11+
repo: "oci://ghcr.io/netbox-community/netbox-chart/netbox"
12+
releaseName: "netbox"
13+
namespace: netbox
14+
valuesFile: "helm/values.yaml"

apps/netbox/netbox.argoapp.yaml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
apiVersion: argoproj.io/v1alpha1
2+
kind: Application
3+
metadata:
4+
name: netbox
5+
namespace: argocd
6+
spec:
7+
destination:
8+
namespace: netbox
9+
server: https://cedille.kubernetes.omni.siderolabs.io?cluster=k8s-cedille-sandbox
10+
project: k8s-cedille-sandbox
11+
source:
12+
path: apps/netbox/prod
13+
repoURL: https://github.com/ClubCedille/k8s-cedille-sandbox.git
14+
targetRevision: HEAD
15+
syncPolicy:
16+
automated:
17+
prune: true
18+
selfHeal: true
19+
syncOptions:
20+
- CreateNamespace=true

0 commit comments

Comments
 (0)