mannosrepos___safe-auto-updater
No description available
Ask AI about mannosrepos___safe-auto-updater
Powered by Claude Β· Grounded in docs
I know everything about mannosrepos___safe-auto-updater. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Reviews
Documentation
Safe Auto-Updater
A production-ready system that inventories Docker/Kubernetes assets, detects and evaluates changes with SemVer and diff gates, safely auto-updates Helm releases, and optionally updates Docker apps via Watchtower with health checks and rollback guidance.
Features
- Asset Inventory: Automatically discover and catalog Docker containers, Kubernetes deployments, and Helm releases
- Smart Update Detection: Detect available updates with semantic versioning evaluation
- Safety Gates: Analyze configuration diffs and assess risk before applying updates
- Health Checks: Verify application health before and after updates
- Automatic Rollback: Roll back failed updates automatically
- Multiple Deployment Options: Docker Compose, Kubernetes, or Helm
- Watchtower Integration: Seamlessly update Docker containers
- Helm Management: Safely upgrade and rollback Helm releases
Quick Start
Installation
# Clone the repository
git clone https://github.com/w7-mgfcode/MannosREPOs___Safe-Auto-Updater.git
cd MannosREPOs___Safe-Auto-Updater
# Run installation script
./scripts/install.sh
Configuration
Edit configs/config.yaml to configure your update policies:
detection:
semver:
auto_update_patch: true # Auto-update patch versions
auto_update_minor: false # Require approval for minor versions
auto_update_major: false # Require approval for major versions
Usage
# Scan and inventory assets
safe-auto-updater inventory --type all
# Detect available updates
safe-auto-updater detect --dry-run
# Execute updates (with health checks)
safe-auto-updater update
# Check system status
safe-auto-updater status
Documentation
Architecture
The system consists of three main modules:
- Inventory Module: Scans and catalogs Docker/Kubernetes assets
- Detection Module: Identifies updates and evaluates safety using SemVer and diff analysis
- Execution Module: Applies updates with health checks and rollback capability
See ARCHITECTURE.md for detailed design documentation.
Deployment
Docker Compose
cd configs/docker
docker-compose up -d
Kubernetes
kubectl apply -f configs/kubernetes/deployment.yaml
Helm
helm install safe-auto-updater ./configs/helm
Development
Running Tests
./scripts/test.sh
Project Structure
βββ src/safe_auto_updater/ # Main application code
β βββ inventory/ # Asset scanning and inventory
β βββ detection/ # Update detection and evaluation
β βββ execution/ # Update execution and rollback
β βββ utils/ # Common utilities
βββ tests/ # Test suite
β βββ unit/ # Unit tests
β βββ integration/ # Integration tests
βββ configs/ # Configuration files
β βββ docker/ # Docker Compose configs
β βββ kubernetes/ # Kubernetes manifests
β βββ helm/ # Helm chart
βββ docs/ # Documentation
βββ scripts/ # Helper scripts
Safety Features
- SemVer-Based Policies: Configure which version updates are automatically applied
- Configuration Diff Analysis: Analyze changes before applying updates
- Pre/Post Health Checks: Verify application health at every step
- Automatic Rollback: Failed updates are rolled back automatically
- Dry Run Mode: Preview changes without applying them
- Risk Assessment: Evaluate update risk level before proceeding
Requirements
- Python 3.9+
- Docker (optional, for Docker asset management)
- kubectl (optional, for Kubernetes management)
- helm (optional, for Helm release management)
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Support
For issues, questions, or contributions, please open an issue on GitHub.
