summaryrefslogtreecommitdiff
path: root/scripts/docker/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/docker/Makefile')
-rw-r--r--scripts/docker/Makefile151
1 files changed, 0 insertions, 151 deletions
diff --git a/scripts/docker/Makefile b/scripts/docker/Makefile
deleted file mode 100644
index 499b1a3f..00000000
--- a/scripts/docker/Makefile
+++ /dev/null
@@ -1,151 +0,0 @@
-#/usr/bin/env
-
-# This makefile is intended to aid on running soledad docker images for
-# specific purposes, as running a server, a client or tests.
-#
-# In order to communicate the IP address of one container to another, we make
-# use of a file containing the container id. You have to explicitelly pass the
-# CONTAINER_ID_FILE variable when invoking some of the targets below.
-#
-# Example usage:
-#
-# make run-server CONTAINER_ID_FILE=/tmp/container-id.txt
-# make run-client-perf CONTAINER_ID_FILE=/tmp/container-id.txt
-
-#####################################################################
-# Some configurations you might override when calling this makefile #
-#####################################################################
-
-IMAGE_NAME ?= leapcode/soledad:latest
-SOLEDAD_REMOTE ?= https://0xacab.org/leap/soledad.git
-SOLEDAD_BRANCH ?= develop
-SOLEDAD_PRELOAD_NUM ?= 100
-SOLEDAD_PRELOAD_SIZE ?= 500
-MEMORY ?= 512m
-
-##############################################
-# Docker image generation (main make target) #
-##############################################
-
-all: soledad-image couchdb-image
-
-soledad-image:
- docker build ${DOCKER_BUILD_OPTS} -t $(IMAGE_NAME) .
-
-couchdb-image:
- (cd couchdb/ && make)
-
-##################################################
-# Run a Soledad Server inside a docker container #
-##################################################
-
-run-server:
- @if [ -z "$(CONTAINER_ID_FILE)" ]; then \
- echo "Error: you have to pass a value to CONTAINER_ID_FILE."; \
- exit 2; \
- fi
- docker run \
- --memory="$(MEMORY)" \
- --cpuset-cpus=0 \
- --env="SOLEDAD_REMOTE=$(SOLEDAD_REMOTE)" \
- --env="SOLEDAD_BRANCH=$(SOLEDAD_BRANCH)" \
- --env="SOLEDAD_PRELOAD_NUM=$(SOLEDAD_PRELOAD_NUM)" \
- --env="SOLEDAD_PRELOAD_SIZE=$(SOLEDAD_PRELOAD_SIZE)" \
- --cidfile=$(CONTAINER_ID_FILE) \
- --detach \
- $(IMAGE_NAME) \
- /usr/local/soledad/run-server.sh # --drop-to-shell
-
-run-client-bootstrap:
- @if [ -z "$(CONTAINER_ID_FILE)" ]; then \
- echo "Error: you have to pass a value to CONTAINER_ID_FILE."; \
- exit 2; \
- fi
- container_id=`cat $(CONTAINER_ID_FILE)`; \
- server_ip=`./helper/get-container-ip.sh $${container_id}`; \
- docker run -t -i \
- --memory="$(MEMORY)" \
- --env="SOLEDAD_REMOTE=$(SOLEDAD_REMOTE)" \
- --env="SOLEDAD_BRANCH=$(SOLEDAD_BRANCH)" \
- --env="SOLEDAD_SERVER_URL=http://$${server_ip}:2424" \
- $(IMAGE_NAME) \
- /usr/local/soledad/run-client-bootstrap.sh
-
-#################################################
-# Run all tests inside a docker container #
-#################################################
-
-run-tox:
- name=$$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 5 | head -n 1); \
- docker run -d --name $${name} leap/couchdb; \
- docker run -t -i \
- --memory="$(MEMORY)" \
- --env="SOLEDAD_REMOTE=$(SOLEDAD_REMOTE)" \
- --env="SOLEDAD_BRANCH=$(SOLEDAD_BRANCH)" \
- --env="COUCH_URL=http://$${name}:5984" \
- --link $${name} \
- $(IMAGE_NAME) \
- /usr/local/soledad/run-tox.sh
-
-############################################
-# Performance tests and graphic generation #
-############################################
-
-run-perf:
- name=$$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 5 | head -n 1); \
- docker run -d --name $${name} leap/couchdb; \
- docker run -t -i \
- --memory="$(MEMORY)" \
- --env="SOLEDAD_REMOTE=$(SOLEDAD_REMOTE)" \
- --env="SOLEDAD_BRANCH=$(SOLEDAD_BRANCH)" \
- --env="SOLEDAD_PRELOAD_NUM=$(SOLEDAD_PRELOAD_NUM)" \
- --env="COUCH_URL=http://$${name}:5984" \
- --link $${name} \
- $(IMAGE_NAME) \
- /usr/local/soledad/run-perf.sh
-
-run-client-perf:
- @if [ -z "$(CONTAINER_ID_FILE)" ]; then \
- echo "Error: you have to pass a value to CONTAINER_ID_FILE."; \
- exit 2; \
- fi
- container_id=`cat $(CONTAINER_ID_FILE)`; \
- server_ip=`./helper/get-container-ip.sh $${container_id}`; \
- docker run -t -i \
- --memory="$(MEMORY)" \
- --cpuset-cpus=1 \
- --cidfile=$(CONTAINER_ID_FILE)-perf \
- --env="SOLEDAD_REMOTE=$(SOLEDAD_REMOTE)" \
- --env="SOLEDAD_BRANCH=$(SOLEDAD_BRANCH)" \
- --env="SOLEDAD_PERF_REMOTE=https://0xacab.org/drebs/soledad-perf.git" \
- --env="SOLEDAD_PERF_BRANCH=bug/ensure-events-server" \
- --env="SOLEDAD_PRELOAD_NUM=$(SOLEDAD_PRELOAD_NUM)" \
- --env="SOLEDAD_PRELOAD_SIZE=$(SOLEDAD_PRELOAD_SIZE)" \
- --env="SOLEDAD_STATS=1" \
- --env="SOLEDAD_SERVER_URL=http://$${server_ip}:2424" \
- --env="SOLEDAD_LOG=1" \
- $(IMAGE_NAME) \
- /usr/local/soledad/run-client-perf.sh # --drop-to-shell
-
-cp-perf-result:
- @if [ -z "$(CONTAINER_ID_FILE)" ]; then \
- echo "Error: you have to pass a value to CONTAINER_ID_FILE."; \
- exit 2; \
- fi
- perf_id=`cat $(CONTAINER_ID_FILE)-perf`; \
- docker cp $${perf_id}:/var/local/soledad-perf/out/sync-stats.png /tmp/; \
- docker cp $${perf_id}:/var/local/soledad-perf/out/series.log /tmp/
-
-########################
-# Other helper targets #
-########################
-
-run-shell: soledad-image
- docker run -t -i \
- --memory="$(MEMORY)" \
- $(IMAGE_NAME) \
- /bin/bash
-
-rm-all-containers:
- containers=`docker ps -a | cut -d" " -f 1 | tail -n +2 | xargs`; \
- if [ ! -z "$${containers}" ]; then docker rm -f $${containers}; fi