# shellcheck shell=dash

___x_cmd_cowrie_run(){
    local port=""
    local name=x-cowrie

    # COWRIE_TELNET_ENABLED=yes
    # enable telnet

    while [ $# -gt 0 ]; do
        case "$1" in
            -h|--help)      ___x_cmd help -m cowrie run  "$@" ; return ;;
            -p|--port)      port=$2; [ $# -ge 2 ] || N=cowrie M="Please provide a port" log:ret:64;  shift 2 ;;
            --name)         name=$2; [ $# -ge 2 ] || N=cowrie M="Please provide a container name" log:ret:64;  shift 2 ;;
            *)              break
        esac
    done

    [ -n "$port" ] || port=2223
    ___x_cmd_hascmd docker || N=cowrie M="docker command not found. This script requires Docker to run" log:ret:1
    ___x_cmd_cowrie_run_docker
}

# Require you have docker
# Very strict protocol

___x_cmd_cowrie_run_docker(){
    # Multiple ports ...

    # --cap-drop ALL --cap-add SYS_TIME
    # --cpu 1
    # TODO: in the future we will limit the harddisk writing
    # TODO: find the way to prevent any local network visiting

    set -- --cpus 0.5 --memory 100MB -p "$port:2222"

    set -- --name "$name" "$@" cowrie/cowrie:latest

    ___x_cmd_cmds docker run -d "$@"
}
