logging and containerization setup
This commit is contained in:
@@ -0,0 +1,14 @@
|
||||
FROM ubuntu:18.04
|
||||
|
||||
RUN apt-get update && apt-get install -y \
|
||||
build-essential \
|
||||
cmake \
|
||||
curl \
|
||||
libev-dev \
|
||||
libjson-c-dev \
|
||||
libcouchbase-dev \
|
||||
python \
|
||||
python-pip \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
WORKDIR /workspace
|
||||
Executable
+35
@@ -0,0 +1,35 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
HOST=${COUCHBASE_HOST:-couchbase}
|
||||
ADMIN_USER=${COUCHBASE_ADMIN_USER:-Administrator}
|
||||
ADMIN_PASS=${COUCHBASE_ADMIN_PASS:-password}
|
||||
BUCKET=${COUCHBASE_BUCKET:-hbs}
|
||||
BUCKET_PASS=${COUCHBASE_BUCKET_PASS:-aci}
|
||||
|
||||
echo "Waiting for Couchbase at ${HOST}:8091..."
|
||||
until curl -s "http://${HOST}:8091/pools" >/dev/null; do
|
||||
sleep 2
|
||||
done
|
||||
|
||||
status=$(curl -s -o /dev/null -w "%{http_code}" "http://${HOST}:8091/pools/default")
|
||||
if [ "$status" != "200" ]; then
|
||||
couchbase-cli cluster-init -c "${HOST}:8091" \
|
||||
--cluster-username "${ADMIN_USER}" \
|
||||
--cluster-password "${ADMIN_PASS}" \
|
||||
--cluster-ramsize 512 \
|
||||
--services data
|
||||
fi
|
||||
|
||||
if ! couchbase-cli bucket-list -c "${HOST}:8091" -u "${ADMIN_USER}" -p "${ADMIN_PASS}" | grep -q "${BUCKET}"; then
|
||||
couchbase-cli bucket-create -c "${HOST}:8091" \
|
||||
-u "${ADMIN_USER}" -p "${ADMIN_PASS}" \
|
||||
--bucket="${BUCKET}" \
|
||||
--bucket-password="${BUCKET_PASS}" \
|
||||
--bucket-type=couchbase \
|
||||
--bucket-ramsize=200 \
|
||||
--bucket-replica=1 \
|
||||
--wait
|
||||
fi
|
||||
|
||||
echo "Couchbase initialized."
|
||||
Reference in New Issue
Block a user