-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathinit-couchbase-server.sh
executable file
·59 lines (51 loc) · 1.43 KB
/
init-couchbase-server.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#!/usr/bin/env bash
set -e
CONTAINER_NAME=couchbase-dart-couchbase-1
docker compose down
docker compose up -d
MAX_ATTEMPTS=60
ATTEMPTS=0
until curl http://localhost:8091/pools/default >/dev/null 2>&1; do
if [ $ATTEMPTS -eq $MAX_ATTEMPTS ]; then
echo "Couchbase Sever is unavailable after $MAX_ATTEMPTS attempts - exiting"
exit 1
fi
ATTEMPTS=$((ATTEMPTS + 1))
echo >&2 "Couchbase Server is unavailable - sleeping"
sleep 1
done
docker exec $CONTAINER_NAME couchbase-cli cluster-init \
-c 127.0.0.1 \
--cluster-username admin \
--cluster-password password \
--services data,query,index \
--cluster-ramsize 1024
docker exec $CONTAINER_NAME couchbase-cli bucket-create \
-c 127.0.0.1 \
--username admin \
--password password \
--bucket test \
--bucket-type couchbase \
--bucket-ramsize 256
MAX_ATTEMPTS=60
ATTEMPTS=0
until docker exec $CONTAINER_NAME cbq \
--user admin \
--password password \
--engine http://localhost:8091 \
--exit-on-error \
--script "SELECT 1;" >/dev/null; do
if [ $ATTEMPTS -eq $MAX_ATTEMPTS ]; then
echo "Couchbase query service is unavailable after $MAX_ATTEMPTS attempts - exiting"
exit 1
fi
ATTEMPTS=$((ATTEMPTS + 1))
echo >&2 "Couchbase query service is unavailable - sleeping"
sleep 1
done
docker exec $CONTAINER_NAME cbq \
--user admin \
--password password \
--engine http://localhost:8091 \
--exit-on-error \
--script "CREATE PRIMARY INDEX ON \`test\`;"