36 lines
1.3 KiB
Bash
36 lines
1.3 KiB
Bash
#!/bin/bash
|
|
|
|
# Verificar si existe el archivo pipeline.yml
|
|
if [[ -f "pipeline.yml" ]]; then
|
|
echo "Analizando y ejecutando pipelines definidos en pipeline.yml..."
|
|
|
|
# Dividir el archivo en partes individuales por cada pipeline
|
|
awk '/^---/ {close("pipeline.tmp"); filename="pipeline_" NR ".tmp"} {print > filename}' pipeline.yml
|
|
|
|
# Procesar cada archivo temporal creado por awk
|
|
for pipeline_file in pipeline_*.tmp; do
|
|
if [[ -f "$pipeline_file" ]]; then
|
|
# Extraer el nombre del pipeline del archivo
|
|
pipeline_name=$(awk '/^name:/ {print $2; exit}' "$pipeline_file")
|
|
|
|
if [[ -n "$pipeline_name" ]]; then
|
|
echo "Ejecutando pipeline: $pipeline_name..."
|
|
curl -X PUT "https://localhost:9200/_ingest/pipeline/$pipeline_name" \
|
|
-H "Content-Type: application/json" \
|
|
-u "admin:$OPENSEARCH_INITIAL_ADMIN_PASSWORD" \
|
|
--cacert "CA/certs/ca.crt.pem" \
|
|
-d @"$pipeline_file"
|
|
else
|
|
echo "ERROR: No se pudo extraer el nombre del pipeline de $pipeline_file."
|
|
fi
|
|
|
|
# Eliminar archivo temporal después de procesarlo
|
|
rm "$pipeline_file"
|
|
else
|
|
echo "ERROR: No se encontró el archivo temporal $pipeline_file."
|
|
fi
|
|
done
|
|
else
|
|
echo "No se encontró pipeline.yml. No se ejecutaron pipelines."
|
|
fi
|