1#!/bin/bash
2
3##
4# Script to deploy a docker image. Must return exit code 0
5#
6do_exit() {
7    message="$1"
8    exit_code="$2"
9
10    echo "$message"
11    exit $exit_code
12}
13
14##
15# Get file, get's a file, validates the SHA
16# @param filename
17# @param expected sha value
18# @returns 0 if successful, -1 of checksum validation failed.
19#
20get_file () {
21    [ -n "$1" ] && url=$1 || do_exit "url required" -1
22    [ -n "$2" ] && dest=$2 || do_exit "destination required" -2
23    sha=$3
24    file=$(basename $dest)
25
26    wget "$url" -O "$dest"
27    if [ -n "$sha" ]; then
28        echo "$sha $dest" | sha256sum --check --status || do_exit "Checksum validation failed for $file. Exiting" -1
29    fi
30}
31
32untar_file () {
33    [ -n "$1" ] && src=$1 || do_exit "src required" -1
34    [ -n "$2" ] && dest=$2 || dest="/usr/local"
35
36    tar -C "$dest" -xf "$src" && /bin/rm -rf "$src"
37}
38