Major fixes for script reliability:
Interactive Mode Issues:
- Added NON_INTERACTIVE detection when run via curl | bash
- Automatic defaults for config wizard in non-interactive mode
- Sensible fallbacks for existing installation handling
Potential Hang Points Fixed:
- Non-interactive mode uses bootstrap node type by default
- Placeholder Solana wallet for automated installs
- Auto-update existing installations without prompts
- Fixed log function definition order issue
Error Handling Improvements:
- Better network operation error handling
- Cleaner function organization
- Removed duplicate log function code
Now supports both interactive and non-interactive usage modes safely.
- Added install_rqlite() function with architecture detection
- Downloads and installs RQLite v8.30.0 from GitHub releases
- Supports amd64, arm64, and arm architectures
- Checks if RQLite is already installed before downloading
- Installs both rqlited and rqlite binaries to /usr/local/bin
- Added RQLite installation to main() function flow
- Verifies installation success and displays version
- Add UFW rules regardless of current UFW status
- Preserve user's existing UFW policy (don't auto-enable)
- Provide better feedback on rule addition and UFW status
- Enhanced manual configuration instructions when UFW not found
- Rules are ready when UFW is eventually enabled by user