blob: 58996236369bffcf49e35022a71d95d4d742bd9d [file] [log] [blame]
#!/bin/bash
# Copyright 2015 The Vanadium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style
# license that can be found in the LICENSE file.
# Generate identities and starts daemons for chat app host.
# TODO(nlacasse): Consider re-writing this in Go.
source $V23_ROOT/release/projects/chat/tools/shell.sh
trap at_exit INT TERM EXIT
at_exit() {
# Note: shell::at_exit unsets our trap, so it won't run again on exit.
shell::at_exit
shell::kill_child_processes
}
usage() {
echo "Usage: `basename $0`"
exit 1
}
main() {
if [[ $# -ne 0 ]]; then
usage
fi
make vanadium-binaries
local -r VANADIUM_BIN="${V23_ROOT}/release/go/bin"
# Generate a self-signed identity to run identityd as.
local -r VANADIUM_CREDENTIALS=$(shell::tmp_dir)
"${VANADIUM_BIN}/principal" seekblessings --v23.credentials "${VANADIUM_CREDENTIALS}"
local -r PROXYD_ADDR="localhost:8100"
local -r MOUNTTABLED_ADDR="localhost:8101"
"${VANADIUM_BIN}/mounttabled" --v23.tcp.address="${MOUNTTABLED_ADDR}" \
--v23.credentials="${VANADIUM_CREDENTIALS}" \
--v23.tcp.protocol=ws \
--v=1 --alsologtostderr=true &
# Give the mounttable time to start.
sleep 2
"${VANADIUM_BIN}/proxyd" --v23.namespace.root="/${MOUNTTABLED_ADDR}" \
--v23.credentials="${VANADIUM_CREDENTIALS}" \
--v23.tcp.address="${PROXYD_ADDR}" \
--name=proxy \
--v=1 --alsologtostderr=true &
# Wait forever.
sleep infinity
}
main "$@"