Add helm chart
This commit is contained in:
parent
ce9158eb07
commit
b9c35fb62f
19 changed files with 656 additions and 0 deletions
125
helm/templates/_netbox.tpl
Normal file
125
helm/templates/_netbox.tpl
Normal file
|
@ -0,0 +1,125 @@
|
|||
{{- define "netbox.common" -}}
|
||||
{{- $postgresql := (dict "Release" (dict "Name" .Release.Name) "Chart" (dict "Name" "postgresql") "Values" (index .Values.postgresql)) }}
|
||||
{{- $netboxEnv := include (print $.Template.BasePath "/netbox-env.yaml") . }}
|
||||
{{- $netboxSecretEnv := include (print $.Template.BasePath "/netbox-secret-env.yaml") . }}
|
||||
{{- $nginxConfig := include (print $.Template.BasePath "/nginx-config.yaml") . }}
|
||||
selector:
|
||||
matchLabels:
|
||||
app.kubernetes.io/name: {{ include "netbox.name" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app.kubernetes.io/name: {{ include "netbox.name" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
annotations:
|
||||
checksum/config: {{ print "%s%s%s" $netboxEnv $netboxSecretEnv $nginxConfig | sha256sum }}
|
||||
spec:
|
||||
containers:
|
||||
- name: {{ .Chart.Name }}
|
||||
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
|
||||
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
||||
resources:
|
||||
{{- toYaml .Values.resources | indent 12 }}
|
||||
envFrom:
|
||||
- configMapRef:
|
||||
name: "{{ include "netbox.fullname" . }}-env"
|
||||
- secretRef:
|
||||
name: "{{ include "netbox.fullname" . }}-env"
|
||||
{{- if or (or .Values.postgresql.enabled .Values.redis.enabled) .Values.redis.existingSecret }}
|
||||
env:
|
||||
{{- if .Values.postgresql.enabled }}
|
||||
- name: DB_PASSWORD
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: "{{ include "postgresql.fullname" $postgresql }}"
|
||||
key: "postgresql-password"
|
||||
{{- end }}
|
||||
{{- if or .Values.redis.enabled .Values.redis.existingSecret }}
|
||||
- name: REDIS_PASSWORD
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
{{- if .Values.redis.existingSecret }}
|
||||
name: {{ .Values.redis.existingSecret | quote}}
|
||||
{{- else }}
|
||||
name: {{ include "redis.child.fullname" . | trim | quote }}
|
||||
{{- end }}
|
||||
key: 'redis-password'
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
volumeMounts:
|
||||
- name: netbox-static-files
|
||||
mountPath: /opt/netbox/netbox/static/
|
||||
- name: netbox-media-files
|
||||
mountPath: /etc/netbox/media
|
||||
{{- if .Values.initializers }}
|
||||
- name: netbox-initializers
|
||||
mountPath: /opt/netbox/initializers/
|
||||
{{- end }}
|
||||
{{- range $mount := .Values.extraVolumeMounts }}
|
||||
- {{ $mount | toYaml | indent 10 | trim }}
|
||||
{{- end }}
|
||||
- name: nginx
|
||||
image: "{{ .Values.nginxImage.repository }}:{{ .Values.nginxImage.tag }}"
|
||||
imagePullPolicy: {{ .Values.nginxImage.pullPolicy }}
|
||||
command: ["nginx"]
|
||||
args: ["-c", "/etc/netbox-nginx/nginx.conf", "-g", "daemon off;"]
|
||||
ports:
|
||||
- name: http
|
||||
containerPort: 80
|
||||
protocol: TCP
|
||||
{{- with .Values.livenessProbe }}
|
||||
livenessProbe:
|
||||
{{ . | toYaml | indent 10 | trim }}
|
||||
{{- end }}
|
||||
{{- with .Values.readinessProbe }}
|
||||
readinessProbe:
|
||||
{{ . | toYaml | indent 10 | trim }}
|
||||
{{- end }}
|
||||
volumeMounts:
|
||||
- name: nginx-config
|
||||
mountPath: /etc/netbox-nginx/
|
||||
- name: netbox-static-files
|
||||
mountPath: /opt/netbox/netbox/static
|
||||
{{- range $container := .Values.extraContainers }}
|
||||
- {{ $container | toYaml | indent 8 | trim }}
|
||||
{{- end }}
|
||||
{{- if .Values.extraInitContainers }}
|
||||
initContainers:
|
||||
{{ toYaml .Values.extraInitContainers | nindent 4}}
|
||||
{{- end }}
|
||||
restartPolicy: {{ .Values.restartPolicy }}
|
||||
{{- with .Values.nodeSelector }}
|
||||
nodeSelector:
|
||||
{{- toYaml . | indent 4 }}
|
||||
{{- end }}
|
||||
{{- with .Values.affinity }}
|
||||
affinity:
|
||||
{{- toYaml . | indent 4 }}
|
||||
{{- end }}
|
||||
{{- with .Values.tolerations }}
|
||||
tolerations:
|
||||
{{- toYaml . | indent 4 }}
|
||||
{{- end }}
|
||||
volumes:
|
||||
{{- range $volume := .Values.extraVolumes }}
|
||||
- {{ $volume | toYaml | indent 6 | trim }}
|
||||
{{- end }}
|
||||
{{- if .Values.initializers }}
|
||||
- name: netbox-initializers
|
||||
configMap:
|
||||
name: {{ include "netbox.fullname" . }}-initializers
|
||||
{{- end }}
|
||||
- name: nginx-config
|
||||
configMap:
|
||||
name: {{ include "netbox.fullname" . }}-nginx
|
||||
- name: netbox-config-file
|
||||
configMap:
|
||||
name: {{ include "netbox.fullname" . }}-nginx
|
||||
- name: netbox-static-files
|
||||
emptyDir: {}
|
||||
{{- if not .Values.persistence.enabled }}
|
||||
- name: netbox-media-files
|
||||
emptyDir: {}
|
||||
{{- end }}
|
||||
{{- end -}}
|
Loading…
Add table
Add a link
Reference in a new issue