107 lines
3.6 KiB
Smarty
107 lines
3.6 KiB
Smarty
{{/* Define the secrets */}}
|
|
{{- define "inventree.config" -}}
|
|
|
|
{{- $configName := printf "%s-inventree-config" (include "tc.common.names.fullname" .) }}
|
|
{{- $nginxConfigName := printf "%s-inventree-config-nginx" (include "tc.common.names.fullname" .) }}
|
|
|
|
---
|
|
|
|
apiVersion: v1
|
|
kind: ConfigMap
|
|
metadata:
|
|
name: {{ $configName }}
|
|
labels:
|
|
{{- include "tc.common.labels" . | nindent 4 }}
|
|
data:
|
|
INVENTREE_TIMEZONE: {{ .Values.TZ }}
|
|
INVENTREE_DB_ENGINE: "postgresql"
|
|
INVENTREE_DB_NAME: {{ .Values.postgresql.postgresqlDatabase }}
|
|
INVENTREE_DB_USER: {{ .Values.postgresql.postgresqlUsername }}
|
|
INVENTREE_DB_HOST: {{ printf "%v-%v" .Release.Name "postgresql" }}
|
|
INVENTREE_DB_PORT: "5432"
|
|
INVENTREE_CACHE_PORT: "6379"
|
|
INVENTREE_WEB_PORT: "8000"
|
|
{{- with .Values.inventree.mail.backend }}
|
|
INVENTREE_EMAIL_BACKEND: {{ . }}
|
|
{{- end }}
|
|
{{- with .Values.inventree.mail.host }}
|
|
INVENTREE_EMAIL_HOST: {{ . }}
|
|
{{- end }}
|
|
{{- with .Values.inventree.mail.port }}
|
|
INVENTREE_EMAIL_PORT: {{ . | quote }}
|
|
{{- end }}
|
|
{{- with .Values.inventree.mail.username }}
|
|
INVENTREE_EMAIL_USERNAME: {{ . }}
|
|
{{- end }}
|
|
INVENTREE_EMAIL_TLS: '{{ ternary "True" "False" .Values.inventree.mail.tls | default "False" }}'
|
|
INVENTREE_EMAIL_SSL: '{{ ternary "True" "False" .Values.inventree.mail.ssl | default "False" }}'
|
|
{{- with .Values.inventree.mail.sender }}
|
|
INVENTREE_EMAIL_SENDER: {{ . }}
|
|
{{- end }}
|
|
{{- if .Values.inventree.general.debug }}
|
|
INVENTREE_DEBUG: {{ .Values.inventree.general.debug | quote }}
|
|
{{- end }}
|
|
{{- with .Values.inventree.general.log_level }}
|
|
INVENTREE_LOG_LEVEL: {{ . }}
|
|
{{- end }}
|
|
{{- if .Values.inventree.general.plugins_enabled }}
|
|
INVENTREE_PLUGINS_ENABLED: {{ .Values.inventree.general.plugins_enabled | quote }}
|
|
{{- end }}
|
|
{{- with .Values.inventree.general.login_confirm_days }}
|
|
INVENTREE_LOGIN_CONFIRM_DAYS: {{ . | quote }}
|
|
{{- end }}
|
|
{{- with .Values.inventree.general.login_attempts }}
|
|
INVENTREE_LOGIN_ATTEMPTS: {{ . | quote }}
|
|
{{- end }}
|
|
---
|
|
apiVersion: v1
|
|
kind: ConfigMap
|
|
metadata:
|
|
name: {{ $nginxConfigName }}
|
|
labels:
|
|
{{- include "tc.common.labels" . | nindent 4 }}
|
|
data:
|
|
nginx.conf: |-
|
|
server {
|
|
listen {{ .Values.service.main.ports.main.port }};
|
|
real_ip_header proxy_protocol;
|
|
location / {
|
|
proxy_set_header Host $http_host;
|
|
proxy_set_header X-Forwarded-By $server_addr:$server_port;
|
|
proxy_set_header X-Forwarded-For $remote_addr;
|
|
proxy_set_header X-Forwarded-Proto $scheme;
|
|
proxy_set_header X-Real-IP $remote_addr;
|
|
proxy_set_header CLIENT_IP $remote_addr;
|
|
proxy_pass_request_headers on;
|
|
proxy_redirect off;
|
|
client_max_body_size 100M;
|
|
proxy_buffering off;
|
|
proxy_request_buffering off;
|
|
proxy_pass http://localhost:8000;
|
|
}
|
|
# Redirect any requests for static files
|
|
location /static/ {
|
|
alias /var/www/static/;
|
|
autoindex on;
|
|
# Caching settings
|
|
expires 30d;
|
|
add_header Pragma public;
|
|
add_header Cache-Control "public";
|
|
}
|
|
# Redirect any requests for media files
|
|
location /media/ {
|
|
alias /var/www/media/;
|
|
# Media files require user authentication
|
|
auth_request /auth;
|
|
}
|
|
# Use the 'user' API endpoint for auth
|
|
location /auth {
|
|
internal;
|
|
proxy_pass http://localhost:8000/auth/;
|
|
proxy_pass_request_body off;
|
|
proxy_set_header Content-Length "";
|
|
proxy_set_header X-Original-URI $request_uri;
|
|
}
|
|
}
|
|
{{- end -}}
|