Files
sa-charts/helm/kibana/templates/saved-objects-configmap.yaml
marsal wang 1e5a703cce swarm
2023-07-26 10:07:34 +08:00

40 lines
1.7 KiB
YAML

{{- if (include "kibana.importSavedObjects" .) -}}
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ include "common.names.fullname" . }}-saved-objects
labels: {{- include "common.labels.standard" . | nindent 4 }}
data:
{{- $savedObjectsUrl := printf "localhost:%d%s/api/saved_objects/_import" (int .Values.containerPort) (include "kibana.basePath" .) }}
import-saved-objects.sh: |
#!/bin/bash
echo "==> Saved objects import"
{{- if .Values.savedObjects.urls }}
{{- $totalURLs := len .Values.savedObjects.urls }}
echo "Total saved objects NDJSON URLs to import: {{ $totalURLs }}"
{{- range $i, $url := .Values.savedObjects.urls }}
echo "Importing saved objects from NDJSON in url {{ add $i 1 }} out of {{ $totalURLs }}: {{ $url }}"
download_tmp_file="$(mktemp)"
curl "{{$url}}" > "${download_tmp_file}.ndjson"
curl -s --connect-timeout 60 --max-time 60 -XPOST {{ $savedObjectsUrl }} -H 'kbn-xsrf:true' --form file=@${download_tmp_file}.ndjson
{{- end }}
{{- end }}
{{- if .Values.savedObjects.configmap }}
echo "Searching for dashboard NDJSON files from ConfigMap mounted in /bitnami/kibana/saved-objects"
ndjson_file_list_tmp="$(mktemp)"
find /bitnami/kibana/saved-objects -type f -regex ".*\.ndjson" > $ndjson_file_list_tmp
while read -r f; do
case "$f" in
*.ndjson)
echo "Importing $f"
curl -s --connect-timeout 60 --max-time 60 -XPOST {{ $savedObjectsUrl }} -H 'kbn-xsrf:true' --form file=@${f}
;;
*)
echo "Ignoring $f"
;;
esac
done < $ndjson_file_list_tmp
{{- end }}
echo "==> End of Saved objects import"
{{- end -}}