Skip to content

Commit

Permalink
Fix some minor posix shell scripting issues
Browse files Browse the repository at this point in the history
  • Loading branch information
whyscream committed Jul 4, 2024
1 parent 7fc48bf commit c84c00e
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 19 deletions.
4 changes: 2 additions & 2 deletions test_config_syntax.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
set -eux

docker run --rm -it \
--volume $(pwd)/postfix.grok:/etc/logstash/patterns.d/postfix.grok \
--volume $(pwd)/50-filter-postfix.conf:/usr/share/logstash/pipeline/50-filter-postfix.conf \
--volume "$(pwd)"/postfix.grok:/etc/logstash/patterns.d/postfix.grok \
--volume "$(pwd)"/50-filter-postfix.conf:/usr/share/logstash/pipeline/50-filter-postfix.conf \
logstash:8.12.0 \
logstash --config.test_and_exit -f /usr/share/logstash/pipeline/50-filter-postfix.conf
2 changes: 1 addition & 1 deletion test_grok_patterns.sh
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,4 @@ FROM ruby:slim
RUN gem install jls-grok minitest
EOF

docker run --volume $(pwd):"${VOLUMEPATH}" --workdir ${VOLUMEPATH} ${DOCKERIMAGE} sh -c "ruby test/test.rb"
docker run --volume "$(pwd)":"${VOLUMEPATH}" --workdir ${VOLUMEPATH} ${DOCKERIMAGE} sh -c "ruby test/test.rb"
32 changes: 16 additions & 16 deletions test_pipeline.sh
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,10 @@ OUTPUT=$(mktemp tmp.logstash.out.XXXXX)
PIPELINE=$(mktemp tmp.logstash.pipeline.XXXXX)

echo Preparing input data
echo "postfix/smtp[123]: 7EE668039: to=<[email protected]>, relay=127.0.0.1[127.0.0.1]:2525, delay=3.6, delays=0.2/0.02/0.04/3.3, dsn=2.0.0, status=sent (250 2.0.0 Ok: queued as 153053D)" > $INPUT
echo "postfix/smtp[123]: 7EE668039: to=<[email protected]>, relay=127.0.0.1[127.0.0.1]:2525, delay=3.6, delays=0.2/0.02/0.04/3.3, dsn=2.0.0, status=sent (250 2.0.0 Ok: queued as 153053D)" > "$INPUT"

echo Preparing pipeline config
cat > $PIPELINE << EOF
cat > "$PIPELINE" << EOF
input {
file {
path => "/tmp/logstash.in"
Expand All @@ -26,9 +26,9 @@ filter {
}
EOF

cat 50-filter-postfix.conf >> $PIPELINE
cat 50-filter-postfix.conf >> "$PIPELINE"

cat >> $PIPELINE << EOF
cat >> "$PIPELINE" << EOF
output {
file {
path => "/tmp/logstash.out"
Expand All @@ -38,32 +38,32 @@ EOF

echo Starting logstash docker container
CONTAINER_ID=$(docker run --rm --detach \
--volume ./${INPUT}:/tmp/logstash.in \
--volume ./${OUTPUT}:/tmp/logstash.out \
--volume ./"${INPUT}":/tmp/logstash.in \
--volume ./"${OUTPUT}":/tmp/logstash.out \
--volume ./postfix.grok:/etc/logstash/patterns.d/postfix.grok \
--volume ./${PIPELINE}:/usr/share/logstash/pipeline/pipeline.conf \
--volume ./"${PIPELINE}":/usr/share/logstash/pipeline/pipeline.conf \
logstash:8.12.0 \
logstash -f /usr/share/logstash/pipeline/pipeline.conf)

echo -n "Waiting for output from logstash "
until test -s $OUTPUT; do
echo -n "."
printf "Waiting for output from logstash "
until test -s "$OUTPUT"; do
printf "."
sleep 2
done
echo

docker stop --time 1 $CONTAINER_ID > /dev/null
docker stop --time 1 "$CONTAINER_ID" > /dev/null

if test "$(jq .tags[0] $OUTPUT)" = '"_grok_postfix_success"'; then
if test "$(jq .tags[0] "$OUTPUT")" = '"_grok_postfix_success"'; then
echo Grok processing successful!
jq . $OUTPUT
jq . "$OUTPUT"
else
echo "Grok processing failed :<"
jq . $OUTPUT
jq . "$OUTPUT"
exit 1
fi

echo Cleaning up
rm -f $INPUT $OUTPUT $PIPELINE
rm -f "$INPUT" "$OUTPUT" "$PIPELINE"

echo Done
echo Done

0 comments on commit c84c00e

Please sign in to comment.