riju/langs/mongodb.yaml

60 lines
1.5 KiB
YAML

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