feat: implemented declarative schema-based settings system
This commit is contained in:
@@ -16,17 +16,26 @@ DOCKER_BUILD := docker build --no-cache \
|
||||
--build-arg RUNNER=$(RUNNER)
|
||||
|
||||
# --- Phony ---
|
||||
.PHONY: .env bootstrap up down restart logs ps shell build build-test install \
|
||||
.PHONY: .env bootstrap validate up down restart logs ps shell build build-test install \
|
||||
update install-hooks test coverage lint format clean major minor patch help
|
||||
|
||||
# --- Setup ---
|
||||
.env .env.make:
|
||||
.env:
|
||||
@echo "Initializing environment..."
|
||||
@python scripts/bootstrap.py \
|
||||
&& echo "✓ Environment ready" \
|
||||
|| (echo "✗ Environment setup failed" && exit 1)
|
||||
|
||||
bootstrap: .env .env.make
|
||||
# .env.make is automatically generated by bootstrap.py when .env is created
|
||||
.env.make: .env
|
||||
|
||||
bootstrap: .env
|
||||
|
||||
validate:
|
||||
@echo "Validating settings..."
|
||||
@python scripts/validate_settings.py \
|
||||
&& echo "✓ Settings valid" \
|
||||
|| (echo "✗ Settings validation failed" && exit 1)
|
||||
|
||||
# --- Docker ---
|
||||
up: .env
|
||||
@@ -161,8 +170,12 @@ help:
|
||||
@echo ""
|
||||
@echo "Usage: make [target] [p=profile1,profile2]"
|
||||
@echo ""
|
||||
@echo "Setup:"
|
||||
@echo " bootstrap Generate .env and .env.make from schema"
|
||||
@echo " validate Validate settings against schema"
|
||||
@echo ""
|
||||
@echo "Docker:"
|
||||
@echo " up Start containers (default profile: core)"
|
||||
@echo " up Start containers (default profile: full)"
|
||||
@echo " Example: make up p=rag,meili"
|
||||
@echo " down Stop all containers"
|
||||
@echo " restart Restart containers (supports p=...)"
|
||||
@@ -172,7 +185,6 @@ help:
|
||||
@echo " build Build the production Docker image"
|
||||
@echo ""
|
||||
@echo "Dev & Quality:"
|
||||
@echo " setup Bootstrap .env and security keys"
|
||||
@echo " install Install dependencies via $(RUNNER)"
|
||||
@echo " test Run pytest suite"
|
||||
@echo " coverage Run tests and generate HTML report"
|
||||
|
||||
Reference in New Issue
Block a user