49 lines
1.7 KiB
YAML
49 lines
1.7 KiB
YAML
{{- if .Values.initJob.enabled }}
|
|
apiVersion: batch/v1
|
|
kind: Job
|
|
metadata:
|
|
name: {{ include "git-pages.fullname" . }}-init
|
|
labels:
|
|
{{- include "git-pages.componentLabels" . | nindent 4 }}
|
|
annotations:
|
|
"helm.sh/hook": post-install, post-upgrade
|
|
"helm.sh/hook-delete-policy": hook-succeeded,before-hook-creation
|
|
spec:
|
|
backoffLimit: 5
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app.kubernetes.io/name: {{ include "git-pages.name" . }}-init
|
|
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
spec:
|
|
restartPolicy: Never
|
|
containers:
|
|
- name: init
|
|
image: "{{ .Values.initJob.image.repository }}:{{ .Values.initJob.image.tag }}"
|
|
imagePullPolicy: {{ .Values.initJob.image.pullPolicy }}
|
|
command:
|
|
- bash
|
|
- -c
|
|
- |
|
|
set -euo pipefail
|
|
apt-get update -qq && apt-get install -y -qq curl tar >/dev/null
|
|
echo "Init: waiting for git-pages..."
|
|
until curl -sf \
|
|
-H "Host: {{ .Values.ingress.host }}" \
|
|
-o /dev/null "http://git-pages:3000/.git-pages/health"
|
|
do sleep 2; done
|
|
echo "Init: creating placeholder site..."
|
|
WORK=$(mktemp -d)
|
|
mkdir -p "$WORK/__init__"
|
|
echo "initialized" > "$WORK/__init__/index.html"
|
|
tar cf /tmp/init.tar -C "$WORK" __init__
|
|
curl -sf -X PUT "http://git-pages:3000/" \
|
|
-H "Host: {{ .Values.ingress.host }}" \
|
|
-H "Content-Type: application/x-tar" \
|
|
--data-binary @/tmp/init.tar -o /dev/null
|
|
echo "Init: done"
|
|
env:
|
|
- name: PAGES_INSECURE
|
|
value: "1"
|
|
{{- end }}
|