This PR adds a Swarm development environment which can be run in a Docker container and provides scripts for building binaries and running Swarm clusters.
		
			
				
	
	
		
			54 lines
		
	
	
		
			1018 B
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			54 lines
		
	
	
		
			1018 B
		
	
	
	
		
			Bash
		
	
	
	
	
	
# shared shell functions
 | 
						|
 | 
						|
info() {
 | 
						|
  local msg="$@"
 | 
						|
  local timestamp="$(date +%H:%M:%S)"
 | 
						|
  say "===> ${timestamp} ${msg}" "green"
 | 
						|
}
 | 
						|
 | 
						|
warn() {
 | 
						|
  local msg="$@"
 | 
						|
  local timestamp=$(date +%H:%M:%S)
 | 
						|
  say "===> ${timestamp} WARN: ${msg}" "yellow" >&2
 | 
						|
}
 | 
						|
 | 
						|
fail() {
 | 
						|
  local msg="$@"
 | 
						|
  say "ERROR: ${msg}" "red" >&2
 | 
						|
  exit 1
 | 
						|
}
 | 
						|
 | 
						|
# say prints the given message to STDOUT, using the optional color if
 | 
						|
# STDOUT is a terminal.
 | 
						|
#
 | 
						|
# usage:
 | 
						|
#
 | 
						|
#   say "foo"              - prints "foo"
 | 
						|
#   say "bar" "red"        - prints "bar" in red
 | 
						|
#   say "baz" "green"      - prints "baz" in green
 | 
						|
#   say "qux" "red" | tee  - prints "qux" with no colour
 | 
						|
#
 | 
						|
say() {
 | 
						|
  local msg=$1
 | 
						|
  local color=$2
 | 
						|
 | 
						|
  if [[ -n "${color}" ]] && [[ -t 1 ]]; then
 | 
						|
    case "${color}" in
 | 
						|
      red)
 | 
						|
        echo -e "\033[1;31m${msg}\033[0m"
 | 
						|
        ;;
 | 
						|
      green)
 | 
						|
        echo -e "\033[1;32m${msg}\033[0m"
 | 
						|
        ;;
 | 
						|
      yellow)
 | 
						|
        echo -e "\033[1;33m${msg}\033[0m"
 | 
						|
        ;;
 | 
						|
      *)
 | 
						|
        echo "${msg}"
 | 
						|
        ;;
 | 
						|
    esac
 | 
						|
  else
 | 
						|
    echo "${msg}"
 | 
						|
  fi
 | 
						|
}
 |