- Replaced unused AJAX and JS methods (`cleanProvisioningProcess`, `showErrorStatus`) in HA management with simpler, streamlined equivalents. Moved HA cluster data fetching logic to the new endpoint (`HAClustersView`).
- Introduced `compareConfig()` method to improve configuration diff rendering. Removed redundant templates (`compare.html`), leveraging external Diff2Html library.
- Simplified HA service installation logic in `Reconfigure`, enabling task-based tracking. Removed redundant progress logic (`increaseProgressValue`, `checkInstallResp`).
- Added support for Spanish localization (`es-ES.html`, updated `languages.html` template).
- Replaced Python PagerDuty SDK for a more actively maintained library.
- Fixed description rendering logic in HA cluster templates.
- Updated Nginx to support multiple aliases per server.
- Minor dependency updates and comments cleanup in Ansible WAF tasks.
Redesigned Nginx proxy addition by removing unused templates, consolidating scripts, and introducing new modular template structures. Improvements include dynamic JavaScript handlers, enhanced UI flow, better SSL and upstream management, and new functionality for headers and location-specific configurations. Cleaned up obsolete code and adjusted database version updating logic.
Unused and commented-out conditions were removed or commented in multiple Ansible task files to streamline execution. This cleanup reduces complexity while ensuring unnecessary operations are excluded.
Replaced unsafe input checks with Pydantic validation, improving route type safety. Adjusted blacklist handling logic in the frontend and templates for better consistency. Fixed minor JS selector bugs and added hidden input for group_id in the config template.
Extended "mode" options to include "log" for frontend/backend configurations. Enhanced RAM/CPU metrics to better handle remote servers and removed redundant logic. Streamlined logging with structured formatting, improved error handling, and removed unnecessary parameters.
Enhanced configuration management by introducing support for editing specific sections in HAProxy configurations via `edit_section`. Added server templates with structured validation, improved file encoding handling, and addressed edge cases in multiple components for greater robustness.
Removed unused local connection in Ansible roles and added support to pass proxy settings to the LetsEncrypt role. Also introduced HAProxy directory handling in the certificate generation logic to improve flexibility with server configurations.
Moved HAProxy state file and stats directory creation tasks from `configure.yml` to `installation.yml` for improved logical grouping. This change ensures installation-related tasks are consolidated, enhancing maintainability and clarity.
Adjusted HAProxy Ansible role for ownership and removed unused peer configurations. Added error handling to HA-related views and database queries to improve stability. Updated HAProxy Exporter dependency to a newer version for compatibility.
Added `by_id='true'` to the `select()` function in `add.html` for enhanced identification. Refactored `_create_env` in `lets_encrypt_views.py` to be static and updated the `run_ansible` call to use `ansible_role`. Removed redundant commented-out code from the Let's Encrypt Ansible task file.
Adjusted the condition to apply "EXTRAOPTS" only for version 7 of the distribution. This ensures compatibility and prevents unintended configuration for other versions.
Relocated the task for modifying the HAProxy service file from configure.yml to installation.yml to ensure proper execution during the installation phase. This change enhances task organization and aligns with Ansible role structures.
Remove the letsencrypt.sh script and integrate LetsEncrypt functionality directly into the web application via new API endpoints. This includes creating, updating, retrieving, and deleting LetsEncrypt configurations, improving maintainability and user interaction with the LetsEncrypt feature.
Correct feature list numeration in README.md and improve JavaScript variable naming and data type consistency. Also enhance HAProxy section handling in templates and API endpoints to ensure better error handling and data processing.
Refactored code to use `server_id` in place of `server` across various modules to improve clarity and consistency. Updated database migrations, schema definitions, API documentation, and templates accordingly. Additionally, fixed related issues in the backup creation and management logic.
Deleted the admin introduction script and associated source map since they are no longer required. This cleanup helps to reduce clutter and improve maintainability of the project.
Removed multiple unnecessary blank lines across various files to maintain code cleanliness and readability. Simplified exception handling in the `roxywi/auth.py` module and updated the import statements in `ha/routes.py`. Added a timeout parameter to the requests call in `alerting.py` for better error management.
Deleted the Grafana role from Ansible playbooks and related references in various files. This includes updates to HTML templates, route definitions, and database entries to ensure no remnants of Grafana configuration remain.
Replaced hostname lookups with unified server object retrieval in metrics and credential management endpoints. Added proxy environment variables to ModSecurity download tasks and improved error handling across various modules.
Disabled a redundant HAProxy installation section in the Ansible playbook by commenting it out. Also removed the unnecessary `distro` library import and standardized the Python interpreter path in the service installation module for cleanup and consistency.
Removed the `check_version.html` template and moved version checking to `script.js`. This refactoring simplifies the codebase by consolidating version check handling into JavaScript, removing deprecated HTML templates, and enhancing the backend logic and API routes.
Commented out the JSON parsing function and added success notifications for service installations, consolidated "nice_service_name" object to variables.js, and reduced retry attempts and delay intervals in the Ansible Playbook for HAProxy installation tasks.
The source URL for the libevent-devel package in the Ansible task file has been updated. This change ensures that the installation fetches the package from the updated URL, thereby enhancing the reliability of the package installation process.
The code adjustments primarily focus on improving layout management and enhancing backend functionality. Specifically, the CSS styles have been modified to adjust the alignment and width of certain elements. Additionally, new HTML templates have been created to refine the display of server details and a new link has been added. In the ansible tasks, logic has been added to handle the installation of packages and modification of NGINX version retrieval. In the logs module, an exception has been added to handle cases where the syslog server IP is not defined.
Removed a specific condition from the rsyslog configuration for haproxy. The condition was initially checking if the input was UDP which was unnecessary. The new configuration continues to correctly categorize logs into access, error, and status files based on their syslog severity.
This commit includes a refactoring of the ansible setup script that simplifies the process of installing the python package 'passlib' by directly using pip3. Additionally, typos in the descriptors of certain tasks such as directory creation and SELINUX configuration have been corrected for better readability and understanding of the code.
The code for the WAF installation process has been refactored to improve error handling. The `service_mod.generate_waf_inv` function is now called with `service` instead of hardcoded service names, and error messages are now more descriptive. Additionally, the Ansible role file for WAF has been renamed from `waf.yml` to `waf_haproxy.yml` to better represent its role.
Path of the WAF nginx module in Ansible scripts has been updated from NGINX_PATH to SERVICE_PATH. This refactoring enhances the organization of the configuration files and improves code base understanding. Changes have been applied in the WAF configuration and service execution files.
Additionally, import paths were corrected in the Python file 'app/routes/install/routes.py'. Error handling was improved in the 'install_service' function to return details of any encountered exceptions.