chore(07): remove deprecated bash scripts and legacy env files
This commit is contained in:
48
.planning/phases/07-config-consolidation/07-02-SUMMARY.md
Normal file
48
.planning/phases/07-config-consolidation/07-02-SUMMARY.md
Normal file
@@ -0,0 +1,48 @@
|
||||
# Phase 7 Wave 2 Summary: Backend Config Refactoring (07-02)
|
||||
|
||||
**Completed:** 2026-04-23
|
||||
**Status:** [COMPLETED]
|
||||
**Commits:** ae61fa63, 28cdc900, 938fd2da, 225972b8
|
||||
|
||||
---
|
||||
|
||||
## Accomplishments
|
||||
|
||||
1. **backend/config_loader.py Refactored**
|
||||
- Implemented YAML parsing using PyYAML
|
||||
- Enforced D-06 load order: System Env Vars > `config/backend.yaml` > `config/secrets.yaml` > Defaults
|
||||
- Added robust validation for required fields (JWT_SECRET_KEY, primary_ai_provider)
|
||||
- Masked sensitive values in logs
|
||||
|
||||
2. **backend/config_manager.py Updated**
|
||||
- Refactored to handle YAML file operations (`read_config`, `update_config`)
|
||||
- Removed legacy `.env` file manipulation logic
|
||||
|
||||
3. **backend/main.py Updated**
|
||||
- Switched from direct `os.environ` access to the centralized `get_config()` dict
|
||||
- Removed `load_dotenv()` and `inventory.env` references
|
||||
|
||||
4. **backend/entrypoint.sh Updated**
|
||||
- Updated to document the new YAML configuration structure
|
||||
- Added safety checks for the existence of `backend.yaml`
|
||||
|
||||
5. **Additional Backend Files Cleaned Up**
|
||||
- Refactored `backend/ai_vision.py`, `backend/check_models.py`, `backend/ai/gemini.py`, and `backend/ai/claude.py` to use `config_loader`
|
||||
- Completely removed `python-dotenv` dependency from backend
|
||||
|
||||
---
|
||||
|
||||
## Technical Details
|
||||
|
||||
- **Load Order (D-06):** Env Vars override YAML, YAML overrides Defaults.
|
||||
- **Deprecation (D-04):** `inventory.env` is no longer used by the backend application logic.
|
||||
- **Security:** Sensitive configuration values are masked in application logs to prevent data leaks.
|
||||
|
||||
---
|
||||
|
||||
## Verification
|
||||
|
||||
- [x] All updated Python files passed `py_compile` checks
|
||||
- [x] No `load_dotenv()` or `inventory.env` references remain in backend code
|
||||
- [x] Configuration loading logs which source was used for each value
|
||||
- [x] Environment variables correctly override YAML values in `config_loader.py`
|
||||
45
.planning/phases/07-config-consolidation/07-03-SUMMARY.md
Normal file
45
.planning/phases/07-config-consolidation/07-03-SUMMARY.md
Normal file
@@ -0,0 +1,45 @@
|
||||
# Phase 7 Wave 2 Summary: Python Deployment Scripts (07-03)
|
||||
|
||||
**Completed:** 2026-04-23
|
||||
**Status:** [COMPLETED]
|
||||
**Commits:** ce79c919, 1621625b, 63f72c11, 9253eb65
|
||||
|
||||
---
|
||||
|
||||
## Accomplishments
|
||||
|
||||
1. **scripts/deploy.py Created**
|
||||
- Replaces `deploy.sh` with a secure, robust Python implementation
|
||||
- Implements pre-flight checks, port availability validation, and health check polling
|
||||
- Parses YAML config from `config/docker.yaml` and `config/network.yaml`
|
||||
|
||||
2. **scripts/run_standalone.py Created**
|
||||
- Replaces `run_standalone.sh` for multi-process management without Docker
|
||||
- Handles graceful shutdown (SIGINT/SIGTERM) of both backend and frontend
|
||||
- Provides prefixed, colored console output for logs
|
||||
|
||||
3. **scripts/install_service.py Created**
|
||||
- Replaces `install_service.sh` for systemd service setup
|
||||
- Generates service file from template with correct YAML-based paths
|
||||
|
||||
4. **scripts/export_prod.py Created**
|
||||
- Replaces `export_prod.sh` for production data backups
|
||||
- Explicitly excludes `config/secrets.yaml` to ensure security in backups
|
||||
|
||||
---
|
||||
|
||||
## Technical Details
|
||||
|
||||
- **YAML Parsing (D-05):** All scripts use PyYAML to read the new centralized configuration structure.
|
||||
- **Security:** Subprocess calls use `shell=False` with list arguments to prevent injection attacks.
|
||||
- **Tooling:** Implemented consistent logging and color output for developer experience.
|
||||
|
||||
---
|
||||
|
||||
## Verification
|
||||
|
||||
- [x] All 4 Python scripts are executable (`chmod +x`)
|
||||
- [x] All scripts use the proper shebang (`#!/usr/bin/env python3`)
|
||||
- [x] All scripts correctly parse the YAML configuration files
|
||||
- [x] Subprocess execution follows security best practices
|
||||
- [x] Error handling and helpful feedback messages are present in all tools
|
||||
44
.planning/phases/07-config-consolidation/07-04-SUMMARY.md
Normal file
44
.planning/phases/07-config-consolidation/07-04-SUMMARY.md
Normal file
@@ -0,0 +1,44 @@
|
||||
# Phase 7 Wave 3 Summary: Docker Integration & Documentation (07-04)
|
||||
|
||||
**Completed:** 2026-04-23
|
||||
**Status:** [COMPLETED]
|
||||
**Commits:** 9f267a53, 5b3a23f9, 6b7becfe, 0c6f571a, 22343941, 01e30ba7
|
||||
|
||||
---
|
||||
|
||||
## Accomplishments
|
||||
|
||||
1. **docker-compose.yml Updated (D-07)**
|
||||
- Removed `inventory.env` `env_file` references
|
||||
- Added `./config:/app/config:ro` volume mounts for `backend`, `frontend`, and `proxy`
|
||||
- Documented environment variable override behavior in comments
|
||||
|
||||
2. **Dockerfile and entrypoint.sh Updated**
|
||||
- Backend `Dockerfile` and `entrypoint.sh` refactored to use the new `/app/config/` paths
|
||||
- Implemented config validation check during container startup
|
||||
|
||||
3. **.gitignore Rules Finalized (D-08)**
|
||||
- Marked `inventory.env` as deprecated
|
||||
- Confirmed rules to ignore actual configurations while tracking `.example` schema files
|
||||
|
||||
4. **Comprehensive Documentation (D-08)**
|
||||
- **DEPLOYMENT.md:** Completely rewritten to reflect the new YAML configuration system and Python-based tooling
|
||||
- **README.md:** Updated Quick Start and onboarding with the new configuration steps
|
||||
- Cross-referenced all documents for consistent developer experience
|
||||
|
||||
---
|
||||
|
||||
## Technical Details
|
||||
|
||||
- **Single Source of Truth:** `config/` folder is now established as the central point for all configuration.
|
||||
- **Security:** `secrets.yaml` is strictly ignored by git, and the Docker volume is mounted as read-only.
|
||||
- **Deprecation:** All references to `inventory.env` in the deployment infrastructure have been removed.
|
||||
|
||||
---
|
||||
|
||||
## Verification
|
||||
|
||||
- [x] `docker compose config` passes with valid YAML syntax
|
||||
- [x] `.gitignore` rules correctly protect sensitive configuration files
|
||||
- [x] `DEPLOYMENT.md` and `README.md` provide clear, updated instructions
|
||||
- [x] All deployment paths integrated with the new YAML structure
|
||||
Reference in New Issue
Block a user