Skip to content
Snippets Groups Projects
Makefile 1.72 KiB
# import config file
config ?= conf/faas-db.cnf
include $(config)
export $(shell sed 's/=.*//' $(config))

credentials ?= conf/credentials/faas-db-default.cnf
include $(credentials)
export $(shell sed 's/=.*//' $(credentials))

export FAAS_DB_IMAGE=${FAAS_DB_REPO}/${FAAS_DB_NAME}:${FAAS_DB_VERSION}

.DEFAULT_GOAL := help

clean: # clean DB docker volume
	sudo rm -fr ${FAAS_DB_VOLUME_VAR_LIB_MYSQL}

build: # build container
	docker build -t ${FAAS_DB_IMAGE} --build-arg FAAS_DB_NAME=${FAAS_DB_NAME} --build-arg FAAS_DB_IMAGE=${FAAS_DB_IMAGE} --build-arg FAAS_DB_VERSION=${FAAS_DB_VERSION} .

build-nc: # build container without caching
	docker build --no-cache -t ${FAAS_DB_IMAGE} --build-arg FAAS_DB_NAME=${FAAS_DB_NAME} --build-arg FAAS_DB_IMAGE=${FAAS_DB_IMAGE} --build-arg FAAS_DB_VERSION=${FAAS_DB_VERSION} .

run: # run container
	docker run -i -t --detach --rm --env-file=$(config) --env-file=$(credentials) -p=${FAAS_DB_PORT}:3306 --name="${FAAS_DB_NAME}" -v ${FAAS_DB_VOLUME_VAR_LIB_MYSQL}:/var/lib/mysql ${FAAS_DB_IMAGE}

run-nd: # run container in no-deamon mode
	docker run -i -t --env-file=$(config) --env-file=$(credentials) --rm -p=${FAAS_DB_PORT}:3306 --name="${FAAS_DB_NAME}" -v ${FAAS_DB_VOLUME_VAR_LIB_MYSQL}:/var/lib/mysql ${FAAS_DB_IMAGE}

up: build run # build and run container

logs: # print docker logs
	docker logs ${FAAS_DB_NAME}

stop: # stop container
	docker stop ${FAAS_DB_NAME}

version: # print current component version
	@echo ${FAAS_DB_VERSION}

test: testFaasDB  # run all tests

testFaasDB: # run checking docker image tests
	@echo "# run test version"
	bats test/faas-db-tests.bats

help: # this help
	@awk 'BEGIN {FS = ":.*?# "} /^[a-zA-Z_-]+:.*?# / {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}' $(MAKEFILE_LIST)