Skip to content

fix: improve RHEL 10 compatibility and enhance installation UX#33

Merged
homepods merged 1 commit intomainfrom
claude/improve-github-cicd-docs-01QpVjEoRG77V2oHY3zCW95f
Nov 24, 2025
Merged

fix: improve RHEL 10 compatibility and enhance installation UX#33
homepods merged 1 commit intomainfrom
claude/improve-github-cicd-docs-01QpVjEoRG77V2oHY3zCW95f

Conversation

@homepods
Copy link
Copy Markdown
Member

This commit addresses multiple installation and deployment issues while improving the user experience across all installation workflows.

Cloud Backend Fixes (RHEL 10 Compatibility):

  • Remove podman-compose dependency (not available in RHEL 10)
  • Use native 'podman compose' quadlet support instead
  • Make htop optional (install if available, skip if not)
  • Create /var/log/hookprobe directory before logging to prevent errors
  • Add better error handling for package installation

Installation Menu Enhancements:

  • Add OS detection and display (shows RHEL 10.1, Ubuntu 24.04, etc.)
  • Add container status monitoring (shows "X/Y running" or "No containers deployed")
  • Update menu descriptions to reflect universal platform support: "x86_64: N100/Core/AMD | ARM: Pi/Jetson/Radxa"
  • Improve system information visibility at startup

Qsecbit Deployment Improvements:

  • Make Security Analysis POD (Zeek/Snort/Qsecbit) optional
  • Add clear prompt explaining what will be deployed: β€’ Zeek IDS - Network traffic analysis β€’ Snort 3 IDS/IPS - Intrusion detection/prevention β€’ Qsecbit Agent - AI threat analysis and automated response
  • Allow users to skip security components for simple web server deployments
  • Support DEPLOY_SECURITY env variable for automated deployments
  • Add clearer success messages with API endpoint information

Uninstall Script Fixes:

  • Update reinstall instructions from "sudo ./setup.sh" to "sudo ./install.sh (and select option 1)" for consistency
  • Ensure users are directed to the correct entry point

Benefits:

  1. RHEL 10 Support: Fixes deployment failures on RHEL 10
  2. Better UX: Users can see OS and container status at a glance
  3. Modularity: Users can skip security components if only testing web features
  4. Clarity: Clear explanations of what's being deployed at each step
  5. Consistency: All scripts now reference install.sh as the main entry point

Resolves installation issues on RHEL 10 and provides users with more control and visibility over their deployments.

Pull Request

πŸ“‹ Description

Brief summary of changes:

Related Issue:

Fixes #

🎯 Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update
  • Security enhancement
  • Infrastructure/CI improvement
  • Refactoring (no functional changes)

πŸ”§ Component(s) Affected

  • Deployment scripts (setup.sh, uninstall.sh, network-config.sh)
  • Security features (Qsecbit, WAF, IDS/IPS)
  • Networking (VXLAN, OVS, OpenFlow)
  • Containers/PODs
  • Monitoring (Grafana, VictoriaMetrics)
  • n8n automation (POD 008)
  • LTE/5G connectivity
  • Documentation
  • Testing infrastructure
  • Other:

πŸ§ͺ Testing Done

How was this tested?

  • Fresh deployment test (./setup.sh in clean environment)
  • Uninstall test (./uninstall.sh verifies complete cleanup)
  • Service functionality tests
  • Network isolation tests
  • Security regression tests
  • Manual testing only
  • Automated tests added/updated

Test environment:

  • OS:
  • Podman version:
  • Hardware:

Test results:

# Paste relevant test output

βœ… Checklist

Before submitting this PR:

  • I have read CONTRIBUTING.md
  • My code follows the project's coding standards
  • I have tested my changes in a clean environment
  • I have updated documentation (README.md, CLAUDE.md, etc.)
  • I have checked for exposed secrets/credentials
  • My commit messages follow the conventional commits format
  • I have run shellcheck on bash scripts (if applicable)
  • I have run linting on Python code (if applicable)
  • All deployment scripts still work after my changes
  • I have verified network ranges are correct (10.200.x.x)

Security considerations:

  • No hardcoded credentials added
  • No security features disabled
  • User input is validated (if applicable)
  • No command injection vulnerabilities introduced
  • Changes reviewed for OWASP Top 10 vulnerabilities

πŸ“Έ Screenshots/Logs

Before:

# Show state before changes (if applicable)

After:

# Show state after changes

πŸ”„ Breaking Changes

Does this PR introduce breaking changes?

  • No
  • Yes (explain below)

πŸ“š Documentation Updates

Documentation changes made:

  • README.md updated
  • CLAUDE.md updated (for AI-relevant changes)
  • CHANGELOG.md updated
  • Component-specific README updated
  • Inline code comments added
  • No documentation changes needed

πŸ’¬ Additional Notes

πŸ“ Reviewer Notes

Specific areas to review:


By submitting this PR, I confirm:

  • This code is my own work or properly attributed
  • I agree to license contributions under the MIT License
  • I have followed the security disclosure policy for any security-related changes

This commit addresses multiple installation and deployment issues while
improving the user experience across all installation workflows.

**Cloud Backend Fixes (RHEL 10 Compatibility):**
- Remove podman-compose dependency (not available in RHEL 10)
- Use native 'podman compose' quadlet support instead
- Make htop optional (install if available, skip if not)
- Create /var/log/hookprobe directory before logging to prevent errors
- Add better error handling for package installation

**Installation Menu Enhancements:**
- Add OS detection and display (shows RHEL 10.1, Ubuntu 24.04, etc.)
- Add container status monitoring (shows "X/Y running" or "No containers deployed")
- Update menu descriptions to reflect universal platform support:
  "x86_64: N100/Core/AMD | ARM: Pi/Jetson/Radxa"
- Improve system information visibility at startup

**Qsecbit Deployment Improvements:**
- Make Security Analysis POD (Zeek/Snort/Qsecbit) optional
- Add clear prompt explaining what will be deployed:
  β€’ Zeek IDS - Network traffic analysis
  β€’ Snort 3 IDS/IPS - Intrusion detection/prevention
  β€’ Qsecbit Agent - AI threat analysis and automated response
- Allow users to skip security components for simple web server deployments
- Support DEPLOY_SECURITY env variable for automated deployments
- Add clearer success messages with API endpoint information

**Uninstall Script Fixes:**
- Update reinstall instructions from "sudo ./setup.sh" to
  "sudo ./install.sh (and select option 1)" for consistency
- Ensure users are directed to the correct entry point

**Benefits:**
1. **RHEL 10 Support**: Fixes deployment failures on RHEL 10
2. **Better UX**: Users can see OS and container status at a glance
3. **Modularity**: Users can skip security components if only testing web features
4. **Clarity**: Clear explanations of what's being deployed at each step
5. **Consistency**: All scripts now reference install.sh as the main entry point

Resolves installation issues on RHEL 10 and provides users with more
control and visibility over their deployments.
@homepods homepods merged commit 3f95f60 into main Nov 24, 2025
38 checks passed
@homepods homepods deleted the claude/improve-github-cicd-docs-01QpVjEoRG77V2oHY3zCW95f branch November 24, 2025 20:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants