60 lines
1.5 KiB
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
|