bambi6-service-postit

Simple Note-Taking A/D Service for BambiCTF6 in 2021
git clone https://git.sinitax.com/sinitax/bambi6-service-postit
Log | Files | Refs | README | LICENSE | sfeed.txt

do.sh (1780B)


      1#!/bin/sh
      2
      3shopt -s expand_aliases
      4alias pushd="pushd &>/dev/null"
      5alias popd="popd &>/dev/null"
      6
      7if [ "$1" == "ci-test" ]; then
      8	if [ "$2" == "run" ]; then
      9		sudo docker-compose -f checker/docker-compose.yml up --build -d -V
     10		sudo docker-compose -f service/docker-compose.yml up --build -d -V
     11	fi
     12
     13	if [ -z "$CHECKER_ADDRESS" -o -z "$SERVICE_ADDRESS" ]; then
     14		echo "Specify addresses via SERVICE_ADDRESS / CHECKER_ADDRESS vars"
     15		exit 1
     16	fi
     17	export ENOCHECKER_TEST_CHECKER_ADDRESS=$CHECKER_ADDRESS
     18	export ENOCHECKER_TEST_CHECKER_PORT=$CHECKER_PORT
     19	export ENOCHECKER_TEST_SERVICE_ADDRESS=$SERVICE_ADDRESS
     20	export ENOCHECKER_TEST_SERVICE_PORT=$SERVICE_PORT
     21	enochecker_test
     22
     23	sudo docker-compose -f service/docker-compose.yml logs --no-color --tail=1000 > /tmp/ci-test-service.log
     24	sudo docker-compose -f checker/docker-compose.yml logs --no-color --tail=1000 > /tmp/ci-test-checker.log
     25
     26	if [ "$2" == "run" ]; then
     27		sudo docker-compose -f service/docker-compose.yml down
     28		sudo docker-compose -f checker/docker-compose.yml down
     29	fi
     30elif [ "$1" == "checker-local" ]; then
     31	cd checker
     32	if [ -z "$(sudo docker ps | grep postit-mongo)" ]; then
     33		sudo docker-compose down -v
     34		sudo docker-compose up -d postit-mongo
     35	fi
     36
     37	export MONGO_ENABLED=1
     38	export MONGO_HOST=localhost
     39	export MONGO_PORT=27017
     40	export MONGO_USER=postit_mongo
     41	export MONGO_PASSWORD=postit_mongo
     42
     43	cd src
     44	gunicorn -c gunicorn.conf.py checker:app
     45elif [ "$1" == "parse-log" ]; then
     46	python3 -c '
     47#!/usr/bin/env python3
     48
     49import jsons, sys
     50
     51for l in open(sys.argv[1]).read().split("\n"):
     52	if "##ENOLOGMESSAGE" not in l: continue
     53	l = l.split("##ENOLOGMESSAGE ", 1)[1]
     54	jmsg = jsons.loads(l)
     55	print("[[ %s #%s ]] " % (jmsg["method"], jmsg["variantId"]), end="")
     56	print(jmsg["message"] + "\n--------")
     57	' "$2"
     58fi