Compare commits
	
		
			No commits in common. "62ee2fe06511ed5f33fc00d62e3e41fda3395e2b" and "b8d5cce6bccb8d2a8ab228db8fe3748595485bae" have entirely different histories.
		
	
	
		
			62ee2fe065
			...
			b8d5cce6bc
		
	
		
							
								
								
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							@ -1 +0,0 @@
 | 
			
		||||
.build/
 | 
			
		||||
							
								
								
									
										49
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										49
									
								
								README.md
									
									
									
									
									
								
							@ -6,54 +6,11 @@ Collection of Dockerfiles created to build & pack various tools.
 | 
			
		||||
<br>
 | 
			
		||||
 | 
			
		||||
<!-- TOC -->
 | 
			
		||||
- [1. How to use](#1-how-to-use)
 | 
			
		||||
    - [1.1. CLI](#11-cli)
 | 
			
		||||
- [2. Tools](#2-tools)
 | 
			
		||||
    - [2.1. Bandwhich](#21-bandwhich)
 | 
			
		||||
- [1. Tools](#1-tools)
 | 
			
		||||
<!-- /TOC -->
 | 
			
		||||
 | 
			
		||||
<br>
 | 
			
		||||
 | 
			
		||||
# 1. How to use
 | 
			
		||||
# 1. Tools
 | 
			
		||||
 | 
			
		||||
Run the build-script `script/build.sh` with the path to the tool you want to build.
 | 
			
		||||
 | 
			
		||||
<br>
 | 
			
		||||
 | 
			
		||||
The docker-image will be tagged with `default` and the detected version/commit-hash.
 | 
			
		||||
 | 
			
		||||
You can add more tags or change the existing tag-naming-scheme using the environment-variable `TAG`.
 | 
			
		||||
 | 
			
		||||
<br>
 | 
			
		||||
 | 
			
		||||
## 1.1. CLI
 | 
			
		||||
 | 
			
		||||
`script/build.sh <toolPath> [extra-args for docker build ..]`
 | 
			
		||||
 | 
			
		||||
<br>
 | 
			
		||||
 | 
			
		||||
### 1.1.1. Environment-Variables
 | 
			
		||||
 | 
			
		||||
Variable    | Description                       | Default
 | 
			
		||||
-|-|-
 | 
			
		||||
`TAG`       | Tag for Docker-building           | `TAGPREFIX` + `NAME`
 | 
			
		||||
`TAGPREFIX` | Set a prefix to the default-tag   | -
 | 
			
		||||
`NAME`      | Change the name used in the tag   | *FolderName*
 | 
			
		||||
 | 
			
		||||
<br>
 | 
			
		||||
 | 
			
		||||
# 2. Tools
 | 
			
		||||
 | 
			
		||||
## 2.1. Bandwhich
 | 
			
		||||
 | 
			
		||||
### 2.1.1. Source
 | 
			
		||||
>This is a CLI utility for displaying current network utilization by process, connection and remote IP/hostname
 | 
			
		||||
 | 
			
		||||
https://github.com/imsnif/bandwhich
 | 
			
		||||
 | 
			
		||||
<br>
 | 
			
		||||
 | 
			
		||||
### 2.1.2. Example
 | 
			
		||||
```
 | 
			
		||||
docker run -it --net host bandwhich -i eth0
 | 
			
		||||
```
 | 
			
		||||
Nothing yet
 | 
			
		||||
 | 
			
		||||
@ -1,31 +0,0 @@
 | 
			
		||||
#!/bin/sh
 | 
			
		||||
 | 
			
		||||
scriptPath_file=$(dirname "${BASH_SOURCE[0]}")
 | 
			
		||||
scriptPath_folder=$(realpath "${scriptPath_file}")
 | 
			
		||||
utils_path="${scriptPath_folder}/utils"
 | 
			
		||||
 | 
			
		||||
WORKDIR=${1:-$PWD}
 | 
			
		||||
WORKDIR=$(realpath "$WORKDIR")
 | 
			
		||||
 | 
			
		||||
# -- VARIABLES --
 | 
			
		||||
# Store original path
 | 
			
		||||
ORIGINALDIR=$PWD
 | 
			
		||||
 | 
			
		||||
# Get args without path
 | 
			
		||||
EXTRA_ARGS="${@:2}"
 | 
			
		||||
 | 
			
		||||
TAG=${TAG:-"${TAG_PREFIX}${NAME}"}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Call prepare
 | 
			
		||||
printf "# PREPARE\n"
 | 
			
		||||
source ${utils_path}/prepare.sh
 | 
			
		||||
 | 
			
		||||
# Call build
 | 
			
		||||
printf "# BUILD\n"
 | 
			
		||||
build_type=${BUILD:-"ownarch"}
 | 
			
		||||
source ${utils_path}/build-${build_type}.sh
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Switch back to original path
 | 
			
		||||
cd $ORIGINALDIR
 | 
			
		||||
@ -1,9 +0,0 @@
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
PLATFORM=${PLATFORM:-"linux/amd64,linux/arm64/v8,linux/arm/v7"}
 | 
			
		||||
 | 
			
		||||
docker buildx build \
 | 
			
		||||
--platform $PLATFORM \
 | 
			
		||||
--tag $TAG:latest \
 | 
			
		||||
--tag "${TAG}:${VERSION}" \
 | 
			
		||||
$EXTRA_ARGS \
 | 
			
		||||
$WORKDIR
 | 
			
		||||
@ -1,7 +0,0 @@
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
 | 
			
		||||
docker build \
 | 
			
		||||
--tag $TAG:latest \
 | 
			
		||||
--tag $TAG:$VERSION \
 | 
			
		||||
$EXTRA_ARGS \
 | 
			
		||||
"$WORKDIR"
 | 
			
		||||
@ -1,55 +0,0 @@
 | 
			
		||||
#!/bin/sh
 | 
			
		||||
 | 
			
		||||
# --- VARIABLES ---
 | 
			
		||||
# Load variables
 | 
			
		||||
source $WORKDIR/info.env
 | 
			
		||||
 | 
			
		||||
# Check if certain vars are overwritten, set them if missing
 | 
			
		||||
if [ "${NAME}" = "" ]; then
 | 
			
		||||
    NAME="$(basename $WORKDIR)"
 | 
			
		||||
fi
 | 
			
		||||
export NAME
 | 
			
		||||
printf "Name: ${NAME}\n"
 | 
			
		||||
 | 
			
		||||
repositoryFolder="$WORKDIR/.build/repository"
 | 
			
		||||
 | 
			
		||||
# --- SOURCES ---
 | 
			
		||||
# Get sources locally
 | 
			
		||||
if ! [ -d "$repositoryFolder" ]; then
 | 
			
		||||
    git clone "${GIT_REPOSITORY}" .
 | 
			
		||||
    cloned=True
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
# Change into repository
 | 
			
		||||
cd "$repositoryFolder"
 | 
			
		||||
 | 
			
		||||
if [ "$cloned" != True ]; then
 | 
			
		||||
    # Checkout default-branch in case GIT_CHECKOUT was different    
 | 
			
		||||
    defaultBranch=$(git symbolic-ref refs/remotes/origin/HEAD | sed 's@^refs/remotes/origin/@@')
 | 
			
		||||
    git checkout "${defaultBranch}"     
 | 
			
		||||
 | 
			
		||||
    git pull        # Get changes
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
# Checkout when set
 | 
			
		||||
if [ "$GIT_CHECKOUT" != "" ]; then
 | 
			
		||||
    # Handle special directives
 | 
			
		||||
    if [ "$GIT_CHECKOUT" = "latest-tag" ]; then
 | 
			
		||||
        GIT_CHECKOUT=$(git describe --tags `git rev-list --tags --max-count=1`)     # Get latest tag
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
    git checkout $GIT_CHECKOUT
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# --- VERSION ---
 | 
			
		||||
# Get current version to build
 | 
			
		||||
VERSION=$(git describe --tags --long)
 | 
			
		||||
if [ $? -ne 0 ]; then
 | 
			
		||||
    VERSION=$(git rev-parse HEAD)
 | 
			
		||||
fi
 | 
			
		||||
export VERSION
 | 
			
		||||
printf "Version: ${VERSION}\n"
 | 
			
		||||
 | 
			
		||||
TAG=${TAG:-"${TAG_PREFIX}${NAME}"}
 | 
			
		||||
printf "> ${TAG}\n"
 | 
			
		||||
@ -1,22 +0,0 @@
 | 
			
		||||
# ---- Base ----
 | 
			
		||||
FROM alpine:3 AS base
 | 
			
		||||
WORKDIR /app
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# ---- Build ----
 | 
			
		||||
FROM rust:alpine AS build
 | 
			
		||||
WORKDIR /build
 | 
			
		||||
# Install packages
 | 
			
		||||
RUN apk add --no-cache make libc-dev build-base
 | 
			
		||||
# Copy sources
 | 
			
		||||
ADD .build/repository/ .
 | 
			
		||||
# Update dependencies and Compile
 | 
			
		||||
RUN cargo update && TARGET="release" make
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# ---- Release ----
 | 
			
		||||
FROM base AS release
 | 
			
		||||
# Copy build-target
 | 
			
		||||
COPY --from=build /build/target/release/bandwhich .
 | 
			
		||||
 | 
			
		||||
ENTRYPOINT ["./bandwhich"]
 | 
			
		||||
@ -1 +0,0 @@
 | 
			
		||||
GIT_REPOSITORY=https://github.com/imsnif/bandwhich
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user