api-client/Makefile

59 lines
1.3 KiB
Makefile
Raw Normal View History

2026-05-05 15:39:07 +00:00
COMPOSE := docker compose
ENV_FILE := .env
ENV_EXAMPLE := .env.example
PROD_COMPOSE := docker-compose.prod.yml
2026-05-05 15:39:07 +00:00
REGISTRY ?= forge.lclr.dev
NAMESPACE ?= thibaud-lclr
IMAGE_PREFIX ?= api-client
TAG ?= latest
2026-05-05 15:39:07 +00:00
AIO_IMAGE := $(REGISTRY)/$(NAMESPACE)/$(IMAGE_PREFIX)-aio:$(TAG)
PROD_ENV := API_CLIENT_REGISTRY=$(REGISTRY) API_CLIENT_NAMESPACE=$(NAMESPACE) API_CLIENT_IMAGE_PREFIX=$(IMAGE_PREFIX) API_CLIENT_TAG=$(TAG)
.PHONY: up dev-up prod-up down dev-down prod-down logs dev-logs prod-logs ps dev-ps prod-ps ensure-env docker-build-images docker-push-images docker-build-push-images
up: dev-up
dev-up: ensure-env
2026-05-06 07:57:24 +00:00
$(COMPOSE) up -d --build
2026-05-05 15:39:07 +00:00
prod-up: ensure-env
$(PROD_ENV) $(COMPOSE) -f $(PROD_COMPOSE) up -d
down: dev-down
dev-down:
2026-05-06 07:57:24 +00:00
$(COMPOSE) down
2026-05-05 15:39:07 +00:00
prod-down:
$(PROD_ENV) $(COMPOSE) -f $(PROD_COMPOSE) down
logs: dev-logs
dev-logs:
2026-05-06 07:57:24 +00:00
$(COMPOSE) logs -f
2026-05-05 15:39:07 +00:00
prod-logs:
$(PROD_ENV) $(COMPOSE) -f $(PROD_COMPOSE) logs -f
ps: dev-ps
dev-ps:
2026-05-06 07:57:24 +00:00
$(COMPOSE) ps
2026-05-05 15:39:07 +00:00
prod-ps:
$(PROD_ENV) $(COMPOSE) -f $(PROD_COMPOSE) ps
2026-05-05 15:39:07 +00:00
ensure-env:
@test -f $(ENV_FILE) || cp $(ENV_EXAMPLE) $(ENV_FILE)
docker-build-images:
docker build --file prod.Dockerfile --target aio --tag $(AIO_IMAGE) .
docker-push-images:
docker push $(AIO_IMAGE)
docker-build-push-images: docker-build-images docker-push-images