-
Notifications
You must be signed in to change notification settings - Fork 2
Update to latest #3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Major improvements: - ✅ Removed legacy setup.py, now using pyproject.toml - ✅ Created comprehensive help system with `fab help` - ✅ Dramatically simplified command structure: * setup.server (vs recipe-generic-server.setup-server) * db.psql.create-user (vs database.psql.db-psql-create-user) * security.secure-server (vs security.firewall.fw-secure-server) - ✅ Organized database commands by type (db.psql.*, db.mysql.*) - ✅ Fixed all linting issues (100-char lines, imports, code quality) - ✅ Updated to use .venv virtual environment - ✅ Added bootstrap.sh for automated setup - ✅ Updated CLAUDE.md with modern patterns Commands are now 50-70% shorter and much more intuitive\! 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
…hentication This commit fixes critical issues with SSH key installation and sudo authentication, enabling full automation of secure server deployments. Major fixes: - Fix SSH key installation order in recipe_generic_server.py - Fix Fabric sudo password handling via INVOKE_SUDO_PASSWORD environment variable - Fix nginx.py use_sudo parameter error in file transfer operations - Add proper validation functions for user and SSH configuration - Add connection verification with working sudo tests Security improvements: - Ensure SSH keys installed before disabling root login - Reconnect as admin user (not auto user) after root disable - Add passwordless sudo option with security warnings - Validate configuration early in deployment process New features: - Environment variable sudo authentication: export INVOKE_SUDO_PASSWORD=password - Comprehensive connection verification after user creation - Enhanced configuration validation with proper error messages - Updated documentation with secure workflow examples The complete workflow now works: 1. fab -H root@host recipe.gen-install --cfg-file=config (sets up secure server) 2. export INVOKE_SUDO_PASSWORD=admin_password 3. fab -H admin@host:port web.nginx.install (automated sudo commands work) 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
- Enhanced pattern matching in Context class to hide more noisy commands - Added pg_createcluster and pg_dropcluster to quiet patterns - Fixed f-string linting issues in psql.py and postfix.py - Applied proper line length formatting to postfix.py - All recipe success messages remain comprehensive and informative - Tests passing: 12/12 ✅ - Linting: All critical checks passing ✅ 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
- Tests and linting across Python versions - Runs on push to main and PRs - Uses test.sh and lint.sh scripts - Bootstrap setup with dependency caching 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
- Runs on push to main, dev, and feat/* branches - PRs target main and dev branches - Ensures feature branch testing 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
- Uses bootstrap.sh instead of manual pip install - Ensures proper .venv setup for test.sh and lint.sh - Matches local development workflow 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
- Creates .venv directly instead of using bootstrap.sh - Avoids interactive prompts and OS-specific dependencies - Ensures consistent environment across CI runners - Compatible with Python 3.9-3.11 matrix testing 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
- Remove Python 3.9 from CI matrix (3.10, 3.11 only) - Keep modern union syntax (Type | None) instead of Optional - Aligns with modern Python type hinting standards - Python 3.10+ required for union operator support 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Final Summary: