From 81bcc505a2dac34d2ff34e01e849085bed2b9f2a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20K=C3=B6hn?= Date: Mon, 21 Jun 2021 21:37:00 +0200 Subject: [PATCH] Use docker-compose to spin up a local CockroachDB cluster for testing --- Makefile | 13 +++++++++++++ docker-compose.yml | 31 +++++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+) create mode 100644 docker-compose.yml diff --git a/Makefile b/Makefile index 74a69c8..a24f599 100644 --- a/Makefile +++ b/Makefile @@ -1,3 +1,4 @@ +COMPOSE=docker-compose -f docker-compose.yml ENV_BASE=~/envs ENV=${ENV_BASE}/sqlalchemy-cockroachdb TOX=${ENV}/bin/tox @@ -38,3 +39,15 @@ clean: .PHONY: detox detox: clean rm -rf .tox + +.PHONY: db-up +db-up: + ${COMPOSE} up -d + +.PHONY: db-down +db-down: + ${COMPOSE} down + +.PHONY: db-recreate +db-recreate: + ${COMPOSE} exec cockroach-0 ./cockroach sql --insecure -e 'drop database defaultdb; create database defaultdb;' diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..3be0208 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,31 @@ +version: "3.7" + +x-cockroach-base: &cockroach-base + image: cockroachdb/cockroach:latest-v21.1 + +services: + cockroach-0: + <<: *cockroach-base + container_name: cockroach-0 + command: start --insecure --advertise-addr=cockroach-0 --join=cockroach-0,cockroach-1,cockroach-2 --store=type=mem,size=1GB + ports: + - "26257:26257" + + cockroach-1: + <<: *cockroach-base + container_name: cockroach-1 + command: start --insecure --advertise-addr=cockroach-1 --join=cockroach-0,cockroach-1,cockroach-2 --store=type=mem,size=1GB + + cockroach-2: + <<: *cockroach-base + container_name: cockroach-2 + command: start --insecure --advertise-addr=cockroach-2 --join=cockroach-0,cockroach-1,cockroach-2 --store=type=mem,size=1GB + + cockroach-init: + <<: *cockroach-base + container_name: cockroach-init + depends_on: + - cockroach-0 + - cockroach-1 + - cockroach-2 + command: init --insecure --host=cockroach-0