mirror of
https://github.com/truenas/charts.git
synced 2026-04-01 01:40:51 +08:00
107 lines
3.3 KiB
Smarty
107 lines
3.3 KiB
Smarty
{{- define "nextcloud.workload" -}}
|
|
workload:
|
|
nextcloud:
|
|
enabled: true
|
|
primary: true
|
|
type: Deployment
|
|
podSpec:
|
|
hostNetwork: false
|
|
securityContext:
|
|
fsGroup: 33
|
|
containers:
|
|
nextcloud:
|
|
enabled: true
|
|
primary: true
|
|
imageSelector: image
|
|
securityContext:
|
|
runAsUser: 0
|
|
runAsGroup: 0
|
|
runAsNonRoot: false
|
|
readOnlyRootFilesystem: false
|
|
capabilities:
|
|
add:
|
|
- CHOWN
|
|
- DAC_OVERRIDE
|
|
- FOWNER
|
|
- NET_BIND_SERVICE
|
|
- NET_RAW
|
|
- SETGID
|
|
- SETUID
|
|
envFrom:
|
|
- secretRef:
|
|
name: nextcloud-creds
|
|
{{ with .Values.ncConfig.additionalEnvs }}
|
|
envList:
|
|
{{ range $env := . }}
|
|
- name: {{ $env.name }}
|
|
value: {{ $env.value }}
|
|
{{ end }}
|
|
{{ end }}
|
|
probes:
|
|
liveness:
|
|
enabled: true
|
|
type: http
|
|
port: 80
|
|
path: /status.php
|
|
httpHeaders:
|
|
Host: localhost
|
|
readiness:
|
|
enabled: true
|
|
type: http
|
|
port: 80
|
|
path: /status.php
|
|
httpHeaders:
|
|
Host: localhost
|
|
startup:
|
|
enabled: true
|
|
{{- include "nextcloud.validate-commands" $ -}}
|
|
{{- $cmds := .Values.ncConfig.commands | mustUniq -}}
|
|
{{- if not $cmds }}
|
|
type: http
|
|
port: 80
|
|
path: /status.php
|
|
httpHeaders:
|
|
Host: localhost
|
|
{{- else }}
|
|
type: exec
|
|
command:
|
|
- /bin/sh
|
|
- -c
|
|
- |
|
|
check_commands={{ join " " $cmds }}
|
|
for comm in $check_commands; do
|
|
if ! command -v $comm /dev/null 2>&1; then
|
|
echo "Command $comm not found"
|
|
exit 1
|
|
fi
|
|
done
|
|
{{- end }}
|
|
lifecycle:
|
|
postStart:
|
|
type: exec
|
|
command:
|
|
- /bin/sh
|
|
- -c
|
|
- |
|
|
echo "Installing {{ join " " $cmds }}..."
|
|
apt update && apt install -y --no-install-recommends \
|
|
{{ join " " $cmds }} || echo "Failed to install binary/binaries..."
|
|
echo "Finished."
|
|
initContainers:
|
|
{{- include "ix.v1.common.app.postgresWait" (dict "name" "postgres-wait"
|
|
"secretName" "postgres-creds") | nindent 8 }}
|
|
{{- include "ix.v1.common.app.redisWait" (dict "name" "redis-wait"
|
|
"secretName" "redis-creds") | nindent 8 }}
|
|
{{- end -}}
|
|
|
|
|
|
{{- define "nextcloud.validate-commands" -}}
|
|
{{- $allowedCommmads := list "ffmpeg" "smbclient" -}}
|
|
|
|
{{- range $c := .Values.ncConfig.commands | mustUniq -}}
|
|
{{- if not (mustHas $c $allowedCommmads) -}}
|
|
{{- fail (printf "Nextcloud - Expected command to be one of [%s], but got [%s]" (join ", " $allowedCommmads) $c) -}}
|
|
{{- end -}}
|
|
{{- end -}}
|
|
{{- end -}}
|