added Malcolm
This commit is contained in:
		
							
								
								
									
										51
									
								
								Vagrant/resources/malcolm/sensor-iso/beats/Dockerfile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										51
									
								
								Vagrant/resources/malcolm/sensor-iso/beats/Dockerfile
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,51 @@ | ||||
| FROM debian:buster-slim | ||||
|  | ||||
| # Copyright (c) 2021 Battelle Energy Alliance, LLC.  All rights reserved. | ||||
|  | ||||
| LABEL maintainer="malcolm.netsec@gmail.com" | ||||
|  | ||||
| ENV DEBIAN_FRONTEND noninteractive | ||||
| ENV GOPATH=/go | ||||
| ENV GOBIN=/go/bin | ||||
| ENV GOARCH=amd64 | ||||
| ENV GOVERS="2:1.15~1~bpo10+1" | ||||
| ENV PATH="$GOBIN:${PATH}" | ||||
| ENV PYTHON_EXE=python3 | ||||
|  | ||||
| RUN set -x && \ | ||||
|     sed -i "s/buster main/buster main contrib non-free/g" /etc/apt/sources.list && \ | ||||
|       echo "deb http://deb.debian.org/debian buster-backports main" >> /etc/apt/sources.list && \ | ||||
|       apt-get -q update && \ | ||||
|       apt-get install -y curl git vim-tiny && \ | ||||
|       apt-get install -t buster-backports -y \ | ||||
|         "golang-doc=$GOVERS" \ | ||||
|         "golang-go=$GOVERS" \ | ||||
|         "golang-src=$GOVERS" \ | ||||
|         "golang=$GOVERS" \ | ||||
|         build-essential \ | ||||
|         python3 \ | ||||
|         python3-dev \ | ||||
|         python3-pip \ | ||||
|         python3-setuptools \ | ||||
|         python3-virtualenv \ | ||||
|         python3-wheel \ | ||||
|         virtualenv && \ | ||||
|     rm -rf /var/lib/apt/lists/* && \ | ||||
|     update-alternatives --install /usr/bin/python python /usr/bin/python3 2 && \ | ||||
|     update-alternatives --install /usr/bin/pip pip /usr/bin/pip3 2 && \ | ||||
|     python3 -m pip install -U pyyaml cookiecutter && \ | ||||
|     mkdir -p "$GOPATH/bin" && \ | ||||
|     bash -c "curl -sSL https://raw.githubusercontent.com/Masterminds/glide.sh/master/get | sed 's@https://glide.sh/@https://raw.githubusercontent.com/Masterminds/glide.sh/master/@g'| bash" && \ | ||||
|     go get -u -d github.com/magefile/mage && \ | ||||
|     cd $GOPATH/src/github.com/magefile/mage && \ | ||||
|     go run bootstrap.go | ||||
|  | ||||
| ENV BEATS=metricbeat | ||||
| ENV BEATS_VERSION=7.10.2 | ||||
|  | ||||
| ADD ./build.sh /build.sh | ||||
| RUN [ "chmod", "+x", "/build.sh" ] | ||||
| RUN [ "mkdir", "-p", "/go" ] | ||||
| RUN [ "mkdir", "/build" ] | ||||
|  | ||||
| CMD "/build.sh" | ||||
							
								
								
									
										26
									
								
								Vagrant/resources/malcolm/sensor-iso/beats/beat-build.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										26
									
								
								Vagrant/resources/malcolm/sensor-iso/beats/beat-build.sh
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,26 @@ | ||||
| #!/bin/bash | ||||
|  | ||||
| # Copyright (c) 2021 Battelle Energy Alliance, LLC.  All rights reserved. | ||||
|  | ||||
| VERSION="7.10.2" | ||||
| THIRD_PARTY_BRANCH="master" | ||||
| while getopts b:v:t: opts; do | ||||
|    case ${opts} in | ||||
|       b) BEAT=${OPTARG} ;; | ||||
|       v) VERSION=${OPTARG} ;; | ||||
|       t) THIRD_PARTY_BRANCH=${OPTARG} ;; | ||||
|    esac | ||||
| done | ||||
|  | ||||
| if [[ -z $BEAT || -z $VERSION || -z $THIRD_PARTY_BRANCH ]] ; then | ||||
|   echo "usage:" >&2 | ||||
|   echo "  beat-build.sh -b <BEAT> [-v <BEAT_VERSION>] [-v <THIRD_PARTY_BEAT_BRANCH>]" >&2 | ||||
|   echo "" >&2 | ||||
|   echo "example:" >&2 | ||||
|   echo "  beat-build.sh -b metricbeat -v $VERSION" >&2 | ||||
|   exit 1 | ||||
| fi | ||||
|  | ||||
| BEAT_DIR="$(pwd)/$(echo "$BEAT" | sed "s@^https*://@@" | sed 's@/@_@g')" | ||||
| mkdir -p "$BEAT_DIR" | ||||
| docker run --rm -v "$BEAT_DIR":/build -e "BEATS_VERSION=$VERSION" -e "THIRD_PARTY_BRANCH=$THIRD_PARTY_BRANCH" -e "BEATS=$BEAT" beats-build:latest | ||||
							
								
								
									
										11
									
								
								Vagrant/resources/malcolm/sensor-iso/beats/build-docker-image.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										11
									
								
								Vagrant/resources/malcolm/sensor-iso/beats/build-docker-image.sh
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,11 @@ | ||||
| #!/bin/bash | ||||
|  | ||||
| # Copyright (c) 2021 Battelle Energy Alliance, LLC.  All rights reserved. | ||||
|  | ||||
| # force-navigate to script directory | ||||
| SCRIPT_PATH="$( cd -P "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" | ||||
| pushd "$SCRIPT_PATH" >/dev/null 2>&1 | ||||
|  | ||||
| docker build -t beats-build:latest . | ||||
|  | ||||
| popd >/dev/null 2>&1 | ||||
							
								
								
									
										69
									
								
								Vagrant/resources/malcolm/sensor-iso/beats/build.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										69
									
								
								Vagrant/resources/malcolm/sensor-iso/beats/build.sh
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,69 @@ | ||||
| #!/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 | ||||
		Reference in New Issue
	
	Block a user