134 lines
4.8 KiB
Smarty
134 lines
4.8 KiB
Smarty
{{/* Define the hbp container */}}
|
|
{{- define "nextcloud.hpb" -}}
|
|
{{- $jobName := include "tc.common.names.fullname" . }}
|
|
image: '{{ include "tc.common.images.selector" . }}'
|
|
imagePullPolicy: '{{ .Values.image.pullPolicy }}'
|
|
securityContext:
|
|
runAsUser: 33
|
|
runAsGroup: 33
|
|
readOnlyRootFilesystem: true
|
|
runAsNonRoot: true
|
|
{{- with (include "tc.common.controller.volumeMounts" . | trim) }}
|
|
volumeMounts:
|
|
{{ nindent 2 . }}
|
|
{{- end }}
|
|
ports:
|
|
- containerPort: 7867
|
|
readinessProbe:
|
|
httpGet:
|
|
path: /push/test/cookie
|
|
port: 7867
|
|
httpHeaders:
|
|
- name: Host
|
|
value: "test.fakedomain.dns"
|
|
initialDelaySeconds: {{ .Values.probes.readiness.spec.initialDelaySeconds }}
|
|
periodSeconds: {{ .Values.probes.readiness.spec.periodSeconds }}
|
|
timeoutSeconds: {{ .Values.probes.readiness.spec.timeoutSeconds }}
|
|
failureThreshold: {{ .Values.probes.readiness.spec.failureThreshold }}
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /push/test/cookie
|
|
port: 7867
|
|
httpHeaders:
|
|
- name: Host
|
|
value: "test.fakedomain.dns"
|
|
initialDelaySeconds: {{ .Values.probes.liveness.spec.initialDelaySeconds }}
|
|
periodSeconds: {{ .Values.probes.liveness.spec.periodSeconds }}
|
|
timeoutSeconds: {{ .Values.probes.liveness.spec.timeoutSeconds }}
|
|
failureThreshold: {{ .Values.probes.liveness.spec.failureThreshold }}
|
|
startupProbe:
|
|
httpGet:
|
|
path: /push/test/cookie
|
|
port: 7867
|
|
httpHeaders:
|
|
- name: Host
|
|
value: "test.fakedomain.dns"
|
|
initialDelaySeconds: {{ .Values.probes.startup.spec.initialDelaySeconds }}
|
|
periodSeconds: {{ .Values.probes.startup.spec.periodSeconds }}
|
|
timeoutSeconds: {{ .Values.probes.startup.spec.timeoutSeconds }}
|
|
failureThreshold: {{ .Values.probes.startup.spec.failureThreshold }}
|
|
command:
|
|
- "/bin/sh"
|
|
- "-c"
|
|
- |
|
|
/bin/bash <<'EOF'
|
|
set -m
|
|
echo "Waiting for notify_push file to be available..."
|
|
until [ -f /var/www/html/custom_apps/notify_push/bin/x86_64/notify_push ]
|
|
do
|
|
sleep 10
|
|
echo "Notify_push not found... waiting..."
|
|
done
|
|
echo "Waiting for Nextcloud to start..."
|
|
until $(curl --output /dev/null --silent --head --fail -H "Host: test.fakedomain.dns" http://127.0.0.1:8080/status.php); do
|
|
echo "Nextcloud not found... waiting..."
|
|
sleep 10
|
|
done
|
|
until $(curl --silent --fail -H "Host: test.fakedomain.dns" http://127.0.0.1:8080/status.php | jq --raw-output '.installed' | grep "true"); do
|
|
echo "Nextcloud not installed... waiting..."
|
|
sleep 10
|
|
done
|
|
echo "Nextcloud instance with Notify_push found... Launching High Performance Backend..."
|
|
/var/www/html/custom_apps/notify_push/bin/x86_64/notify_push /var/www/html/config/config.php &
|
|
|
|
{{- if .Values.imaginary.enabled }}
|
|
echo "Imaginary High Performance Previews enabled, enabling it on Nextcloud..."
|
|
php /var/www/html/occ config:system:set enabledPreviewProviders 6 --value='OC\Preview\Imaginary'
|
|
php /var/www/html/occ config:system:set preview_imaginary_url --value='http://127.0.0.1:9090'
|
|
{{- end }}
|
|
|
|
until $(curl --output /dev/null --silent --head --fail -H "Host: test.fakedomain.dns" http://127.0.0.1:7867/push/test/cookie); do
|
|
echo "High Performance Backend not running ... waiting..."
|
|
sleep 10
|
|
done
|
|
{{- $accessurl := ( printf "http://%v:%v" ( .Values.env.AccessIP | default ( printf "%v-%v" .Release.Name "nextcloud" ) ) .Values.service.main.ports.main.port ) }}
|
|
{{- if .Values.ingress.main.enabled }}
|
|
{{- with (first .Values.ingress.main.hosts) }}
|
|
{{- $accessurl = ( printf "https://%s" .host ) }}
|
|
{{- end }}
|
|
{{- end }}
|
|
until $(curl --output /dev/null --silent --head --fail {{ $accessurl }}/push/test/cookie); do
|
|
echo "High Performance Backend service not accessable ... waiting..."
|
|
sleep 10
|
|
done
|
|
echo "High Performance Backend found..."
|
|
echo "Configuring High Performance Backend for url: {{ $accessurl }}"
|
|
php /var/www/html/occ notify_push:setup {{ $accessurl }}/push
|
|
fg
|
|
EOF
|
|
env:
|
|
- name: NEXTCLOUD_URL
|
|
value: 'http://127.0.0.1:8080'
|
|
- name: METRICS_PORT
|
|
value: '7868'
|
|
- name: TRUSTED_PROXIES
|
|
value: "{{ .Values.env.TRUSTED_PROXIES }}"
|
|
- name: POSTGRES_DB
|
|
value: "{{ .Values.postgresql.postgresqlDatabase }}"
|
|
- name: POSTGRES_USER
|
|
value: "{{ .Values.postgresql.postgresqlUsername }}"
|
|
- name: POSTGRES_PASSWORD
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: dbcreds
|
|
key: postgresql-password
|
|
- name: POSTGRES_HOST
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: dbcreds
|
|
key: plainporthost
|
|
- name: REDIS_HOST
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: rediscreds
|
|
key: plainhost
|
|
- name: REDIS_HOST_PASSWORD
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: rediscreds
|
|
key: redis-password
|
|
envFrom:
|
|
- configMapRef:
|
|
name: nextcloudconfig
|
|
{{- end -}}
|