github.com/status-im/status-go@v1.1.0/_assets/scripts/gen_config.sh (about)

     1  #!/usr/bin/env bash
     2  set -euo pipefail
     3  
     4  GIT_ROOT=$(cd "${BASH_SOURCE%/*}" && git rev-parse --show-toplevel)
     5  
     6  # Settings & defaults
     7  RPC_HOST="${RPC_HOST:-localhost}"
     8  RPC_PORT="${RPC_PORT:-8545}"
     9  LISTEN_PORT="${LISTEN_PORT:-30303}"
    10  API_MODULES="${API_MODULES:-eth,web3,admin}"
    11  MAX_PEERS="${MAX_PEERS:-50}"
    12  DAYS_KEPT="${DAYS_KEPT-30}"
    13  FLEET_NAME="${FLEET_NAME:-eth.prod}"
    14  REGISTER_TOPIC="${REGISTER_TOPIC:-whispermail}"
    15  MAIL_PASSWORD="${MAIL_PASSWORD:-status-offline-inbox}"
    16  DATA_PATH="${DATA_PATH:-/var/tmp/status-go-mail}"
    17  CONFIG_PATH="${CONFIG_PATH:-${DATA_PATH}/config.json}"
    18  
    19  if ! [[ -x $(command -v jq) ]]; then
    20    echo "Cannot generate config. jq utility is not installed." >&2
    21    exit 1
    22  fi
    23  
    24  if [[ -e "${CONFIG_PATH}" ]]; then
    25    echo "Config already exits: ${CONFIG_PATH}" >&2
    26    echo "Remove it to generate a new one." >&2
    27    exit 0
    28  fi
    29  
    30  # Assemble the filter for changing the config JSON
    31  JQ_FILTER_ARRAY=(
    32    ".ListenAddr = \"0.0.0.0:${LISTEN_PORT}\""
    33    ".HTTPEnabled = true"
    34    ".HTTPHost = \"${RPC_HOST}\""
    35    ".HTTPPort= ${RPC_PORT}"
    36    ".MaxPeers = ${MAX_PEERS}"
    37    ".DataDir = \"${DATA_PATH}\""
    38    ".APIModules = \"${API_MODULES}\""
    39    ".RegisterTopics = [\"${REGISTER_TOPIC}\"]"
    40    ".WakuConfig.Enabled = true"
    41    ".WakuConfig.EnableMailServer = true"
    42    ".WakuConfig.DataDir = \"${DATA_PATH}/waku\""
    43    ".WakuConfig.MailServerPassword = \"${MAIL_PASSWORD}\""
    44    ".WakuConfig.MailServerDataRetention = ${DAYS_KEPT}"
    45  )
    46  
    47  JQ_FILTER=$(printf " | %s" "${JQ_FILTER_ARRAY[@]}")
    48  
    49  # make sure config destination exists
    50  mkdir -p "${DATA_PATH}"
    51  
    52  echo "Generating config at: ${CONFIG_PATH}"
    53  
    54  cat "${GIT_ROOT}/config/cli/fleet-${FLEET_NAME}.json" \
    55      | jq "${JQ_FILTER:3}" > "${CONFIG_PATH}"