id: "mongodb" aliases: - "mongo" - "mongod" - "webscale" name: "MongoDB" install: # The MongoDB package is only available for LTS releases of Ubuntu, # so we grab it from focal. prepare: aptRepo: - "deb [arch=amd64] http://archive.ubuntu.com/ubuntu/ focal main universe" manual: | sudo --preserve-env=DEBIAN_FRONTEND apt-get update for name in mongodb mongodb-clients mongodb-server mongodb-server-core; do apt-get download "${name}" mv "${name}"_*.deb "${name}.deb" done deb: - mongodb.deb - mongodb-clients.deb - mongodb-server.deb - mongodb-server-core.deb depends: strip: - mongodb-clients - mongodb-server - mongodb-server-core repl: | while ps -u "$(id -un)" -o comm | grep -q mongod; do sleep 0.01 done rm -rf data mkdir data (mongod --dbpath=data --unixSocketPrefix="$PWD" --bind_ip=, &) until mongo --host "$PWD/mongodb-27017.sock" --eval ' ' &>/dev/null; do sleep 0.01 done mongo --host "$PWD/mongodb-27017.sock" main: "main.js" template: | print("Hello, world!") run: | while ps -u "$(id -un)" -o comm | grep -q mongod; do ps -u "$(id -un)" -o pid,comm | cat sleep 0.01 done rm -rf data mkdir data (mongod --dbpath=data --unixSocketPrefix="$PWD" --bind_ip=, &) until mongo --host "$PWD/mongodb-27017.sock" --eval ' ' &>/dev/null; do sleep 0.01 done mongo --host "$PWD/mongodb-27017.sock" --shell main.js