|
4 | 4 | .PHONY: infra-config infra-validate-config |
5 | 5 | .PHONY: infra-test-prereq infra-test-ci infra-test-local |
6 | 6 | .PHONY: infra-providers infra-environments provider-info |
7 | | -.PHONY: app-deploy app-redeploy app-health-check |
| 7 | +.PHONY: app-config app-validate-config app-deploy app-redeploy app-health-check |
8 | 8 | .PHONY: app-test-config app-test-containers app-test-services |
9 | 9 | .PHONY: vm-ssh vm-console vm-gui-console vm-clean-ssh vm-prepare-ssh vm-status |
10 | 10 | .PHONY: dev-setup dev-deploy dev-test dev-clean |
@@ -68,10 +68,15 @@ help: ## Show this help message |
68 | 68 | @echo " make infra-apply ENVIRONMENT_TYPE=production ENVIRONMENT_FILE=production-hetzner" |
69 | 69 | @echo " make app-deploy ENVIRONMENT_TYPE=development ENVIRONMENT_FILE=development-libvirt" |
70 | 70 | @echo "" |
71 | | - @echo "Configuration examples:" |
72 | | - @echo " make infra-config ENVIRONMENT_TYPE=development PROVIDER=libvirt # Create development-libvirt.env" |
73 | | - @echo " make infra-config ENVIRONMENT_TYPE=production PROVIDER=hetzner # Create production-hetzner.env" |
74 | | - @echo " make infra-config ENVIRONMENT_TYPE=e2e PROVIDER=libvirt # Create e2e-libvirt.env" |
| 71 | + @echo "Enhanced Configuration Workflow (Phases 1-6 Completed):" |
| 72 | + @echo " make infra-config ENVIRONMENT_TYPE=development PROVIDER=libvirt # Generate development-libvirt.env" |
| 73 | + @echo " make infra-validate-config ENVIRONMENT_FILE=development-libvirt # Validate infrastructure config" |
| 74 | + @echo " make app-config ENVIRONMENT_FILE=development-libvirt # Generate application configs" |
| 75 | + @echo " make app-validate-config ENVIRONMENT_FILE=development-libvirt # Validate application configs" |
| 76 | + @echo "" |
| 77 | + @echo "Complete Deployment Workflow:" |
| 78 | + @echo " make infra-apply ENVIRONMENT_TYPE=development ENVIRONMENT_FILE=development-libvirt # Build stage" |
| 79 | + @echo " make app-deploy ENVIRONMENT_TYPE=development ENVIRONMENT_FILE=development-libvirt # Release + Run stages" |
75 | 80 |
|
76 | 81 | install-deps: ## Install required dependencies (Ubuntu/Debian) |
77 | 82 | @echo "Installing dependencies..." |
@@ -222,6 +227,30 @@ infra-test-local: ## Run local-only infrastructure tests (requires virtualizatio |
222 | 227 | # APPLICATION LAYER (BUILD + RELEASE + RUN STAGES) |
223 | 228 | # ============================================================================= |
224 | 229 |
|
| 230 | +app-config: ## Generate application configuration for environment (Release stage preparation) |
| 231 | + @echo "Generating application configuration for environment: $(ENVIRONMENT_FILE)..." |
| 232 | + @if [ -z "$(ENVIRONMENT_FILE)" ]; then \ |
| 233 | + echo "❌ Error: ENVIRONMENT_FILE parameter is required"; \ |
| 234 | + echo "Usage: make app-config ENVIRONMENT_FILE=staging-hetzner"; \ |
| 235 | + echo "Available environments:"; \ |
| 236 | + ls infrastructure/config/environments/*.env 2>/dev/null | \ |
| 237 | + xargs -I {} basename {} .env | sed 's/^/ /' || \ |
| 238 | + echo " No environments found - generate with make infra-config"; \ |
| 239 | + exit 1; \ |
| 240 | + fi |
| 241 | + application/scripts/configure-app.sh $(ENVIRONMENT_FILE) |
| 242 | + |
| 243 | +app-validate-config: ## Validate application configuration for environment |
| 244 | + @echo "Validating application configuration for environment: $(ENVIRONMENT_FILE)..." |
| 245 | + @if [ -z "$(ENVIRONMENT_FILE)" ]; then \ |
| 246 | + echo "❌ Error: ENVIRONMENT_FILE parameter is required"; \ |
| 247 | + echo "Usage: make app-validate-config ENVIRONMENT_FILE=staging-hetzner"; \ |
| 248 | + echo "Available environments:"; \ |
| 249 | + find infrastructure/config/environments/ -name "*.env" -exec basename {} .env \; 2>/dev/null | sort || true; \ |
| 250 | + exit 1; \ |
| 251 | + fi |
| 252 | + application/scripts/configure-app.sh --validate $(ENVIRONMENT_FILE) |
| 253 | + |
225 | 254 | app-deploy: ## Deploy application (Twelve-Factor Build + Release + Run stages) |
226 | 255 | @echo "Deploying application for $(ENVIRONMENT_TYPE)-$(ENVIRONMENT_FILE)..." |
227 | 256 | @if [ "$(SKIP_WAIT)" = "true" ]; then \ |
|
0 commit comments