#!/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