70 lines
2.0 KiB
Bash
Executable File
70 lines
2.0 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Copyright (c) 2021 Battelle Energy Alliance, LLC. All rights reserved.
|
|
|
|
echo Target version: $BEATS_VERSION
|
|
|
|
BRANCH=$(echo $BEATS_VERSION | awk -F \. {'print $1 "." $2'})
|
|
echo Target branch: $BRANCH
|
|
|
|
if [ ! -d "$GOPATH/src/github.com/elastic/beats" ]; then go get -v github.com/elastic/beats; fi
|
|
|
|
cd $GOPATH/src/github.com/elastic/beats
|
|
git checkout $BRANCH
|
|
|
|
IFS=","
|
|
BEATS_ARRAY=($BEATS)
|
|
|
|
for BEAT in "${BEATS_ARRAY[@]}"
|
|
do
|
|
|
|
if [[ -d "$GOPATH/src/github.com/elastic/beats/$BEAT" ]] ; then
|
|
# an official beat
|
|
cd "$GOPATH/src/github.com/elastic/beats/$BEAT"
|
|
make
|
|
cp "$BEAT" /build
|
|
|
|
# package
|
|
DOWNLOAD="$BEAT-$BEATS_VERSION-linux-x86.tar.gz"
|
|
if [ ! -e $DOWNLOAD ]; then curl -s -O -J "https://artifacts.elastic.co/downloads/beats/$BEAT/$DOWNLOAD"; fi
|
|
tar xf "$DOWNLOAD"
|
|
|
|
cp "$BEAT" "$BEAT-$BEATS_VERSION-linux-x86"
|
|
tar zcf "$BEAT-$BEATS_VERSION-linux-amd64.tar.gz" "$BEAT-$BEATS_VERSION-linux-x86"
|
|
cp "$BEAT-$BEATS_VERSION-linux-amd64.tar.gz" /build
|
|
|
|
elif [[ "$BEAT" =~ ^https*://(gogs\..*|github\.com) ]] ; then
|
|
BRANCH=${THIRD_PARTY_BRANCH:-"master"}
|
|
|
|
# clone from git manually rather than do a "go get"
|
|
mkdir -p "$GOPATH/src/$(dirname "$(echo "$BEAT" | sed "s@^https*://@@")")"
|
|
cd "$GOPATH/src/$(dirname "$(echo "$BEAT" | sed "s@^https*://@@")")"
|
|
git clone --depth=1 --single-branch --branch "$BRANCH" "$BEAT"
|
|
BEAT_EXE_NAME="$(basename "$BEAT" | sed "s/\.git$//")"
|
|
cd "$BEAT_EXE_NAME"
|
|
go get
|
|
go install
|
|
if [[ -f "$GOBIN/$BEAT_EXE_NAME" ]] ; then
|
|
cp "$GOBIN/$BEAT_EXE_NAME" /build
|
|
strip "/build/$BEAT_EXE_NAME"
|
|
fi
|
|
|
|
else
|
|
# a community beat?
|
|
if [[ "$BEAT" =~ gogs\..* ]]; then
|
|
INSECURE_FLAG="--insecure"
|
|
else
|
|
INSECURE_FLAG=""
|
|
fi
|
|
go get $INSECURE_FLAG "$BEAT"
|
|
BEAT_EXE_NAME="$(basename "$BEAT")"
|
|
if [[ -f "$GOBIN/$BEAT_EXE_NAME" ]] ; then
|
|
cp "$GOBIN/$BEAT_EXE_NAME" /build
|
|
strip "/build/$BEAT_EXE_NAME"
|
|
fi
|
|
fi
|
|
|
|
ls -lh /build
|
|
|
|
done
|