Replaced common.is_ip_or_dns() with pydantic type validation in various route functions to ensure input consistency and clarity. Updated several methods to use Union[IPvAnyAddress, DomainName] for typing and added necessary imports. Also refined templates and helper functions for better readability.
Previously, the check for a selected log file didn't account for the 'waf' variable. This update adds a condition to ensure that the warning is triggered only if 'waf' is also an empty string.
Implemented an IP calculator feature using the netaddr library and added corresponding JS and HTML form elements. Enhanced existing nettools forms by utilizing Flask-Pydantic for validation and AJAX request improvements. Removed deprecated alert selection methods in the database checker module. Updated language translations and incremented version to 8.1.2.
Consolidated service-specific alert checks into a single function for better maintainability. Deprecated outdated functions with markers for future deletion. Also, updated the database version to '8.1.1.1'.
Updated the `websockets` library version to be pinned at 13.1 for better compatibility and to avoid potential issues with future releases. This change ensures a more stable and predictable environment.
Replaces a method call with direct attribute access for retrieving the IP address of cluster slaves. This simplifies the code and improves performance by eliminating unnecessary database queries.
Replaced multiple SQL function calls with consistent `get_server` naming. Consolidated and streamlined the function calls to `get_server` and `get_server_by_ip` to ensure consistency and improve maintainability across the codebase. Removed obsolete and redundant function definitions that were no longer in use.
Removed redundant service checks for 'haproxy' and 'nginx' in WAF routes. Simplified action confirmation logic by using hidden input to fetch server names dynamically. Updated database operation calls to be concise for deleting and updating group settings.
Modified regex in ha.js to include uppercase letters. Un-commented and removed unused CSS code. Refactored the structure of options in metrics.js for readability and consistency.
Renamed get_user_status to select_user_status in roxy.py and db.py for better clarity and consistency. This modification ensures alignment in method naming conventions across the codebase, improving readability and maintainability.
Removed the unused 'distro' and 'Union' imports for code cleanliness. Simplified the user status check mechanism by introducing a direct method, `get_user_status`, and modified the service control flow accordingly. Simplified 'update_plan' function to only insert a default username.
Refactor multiple functions to call `get_group` instead of `get_group_name_by_id`. Remove the `ApiToken` class and related database table operations. Simplify the template logic in `show_sub_ovw.html` by removing unnecessary loop and context variables. Cleanup unused imports and streamline several function implementations across the codebase.
Improved the server status check by adding sessionStorage management and handling responses for better UI feedback. Changed some function signatures for consistency and better error handling. Updated routes and database initialization to reflect new functions and database versions.
Updated the `group` attribute to `group_id` in the Settings model and all related instances in the codebase to improve clarity and consistency. This change affects model definitions, setting initialization, and queries throughout the project.
Add extra validation and logging for HA VIP deletion. Clean up waf.py by removing commented-out code and fixing server status assignment. Simplify maxconn command execution in runtime.py.
Updated multiple functions across the codebase to use the `get_server_by_ip` method instead of iterating over server lists. This change simplifies the code, improves readability, and reduces potential errors. Adjusted SQL queries to remove unnecessary conditions and parameters related to master servers.
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.
Reorder `_is_editing_shared_ssh` and `_check_is_correct_group` calls to ensure correct error handling sequence. This change improves code readability and maintains the intended error-checking flow in the credential edit process.
Refactored SSH credential handling to better support shared credentials and improve code readability. Simplified WAF mode changes by switching from hostname to server ID, enhancing reliability. Updated various templates and functions to align with these changes.
Updated the server creation functions to utilize keyword arguments, simplifying the code and making it more maintainable. Additionally, improved the handling of VIP updates and error logging for HA clusters.
Implement additional checks for shared SSH credential editing and deletion. Refactored database connection logic to use keyword arguments for improved readability and maintainability.
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.
This commit updates the requirements.txt file to include aio-pika, pika, websockets, and python3-nmap. These additions are necessary to support asynchronous messaging and nmap functionality within the application.
Add return statements to `insert_*` methods for consistency. Introduce a `delete_section` method and implement it in the view. Enhance response handling with new `IdDataStrResponse` and update OpenAPI spec to better reflect data structures.
Added support for managing Docker settings and improved the handling of service-specific configurations. Updated various backup methods and database columns to ensure consistency and clarity. Included new database migration scripts to handle renamed columns.
Updated delete_server to use get_server_by_id instead of select_servers. Simplified the backup check logic by directly accessing server attributes. Improved maintainability and readability by removing unnecessary loops and redundant variables.
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.
Replaced `ServiceInstallFromApi` with `ServiceInstall` for API validation in installation views and function parameters. Simplified the `ServiceInstall` class by removing duplicate attributes and making list and dict attributes optional.
Correct the section name from 'default' to 'defaults' in the HAProxy configuration insert function. This ensures that the settings are applied to the correct section and improves the accuracy of the configuration process.
Extended InstallView with PUT and DELETE methods to allow updating service settings and deleting installations. Made adjustments to the request and response schemas, including using ServiceInstallFromApi and adding IdStrResponse.
Convert WAF parameter from string to integer for consistency. Update JavaScript comparison operators for strict equality checks. Remove unused functions and intro.js library to streamline and simplify the codebase.
Updated script.js to use strict equality for empty string checks and removed an obsolete inclusion of intro.js in admin.html. These changes enhance code accuracy and reduce unnecessary clutter in the project.
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.
Adjusted line formatting in `runtime.py` and `waf.py` for consistency and readability. Added exception handling for logging in `auth.py` to prevent crashes and provide error feedback.
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.
Commented out the unused statAgriment function and its associated event listener. Replaced var with let in various parts of the script for better scope handling and used triple equals for strict comparison. Also added a new script to the add.html template.
Refactor multiple files to correct spacing issues, including extra blank lines, misaligned parameters, and inconsistent indentation. These changes improve code readability and maintain coding standards without altering functionality.
Update the keepalived process check to properly filter processes by adding a space after 'keepalived'. This ensures that similar process names do not cause false positives in the check.
Re-order the insertion of services to occur earlier in the HA cluster creation process. This ensures that services are added to the database right after the cluster is created, improving the sequence and readability of operations.
Removed unused imports, improved error handling in JavaScript, and refactored server command construction for better reliability. Enhanced type checking and streamlined list processing to improve code readability and efficiency.
Streamlined conditional checks using 'in' for better readability in `show_services_ovw.html`. Additionally, removed an unused import in `cred_views.py` and updated database creation script for efficiency.
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.
Updated the logic to skip setting SSH configuration for localhost. This change ensures that SSH settings are only applied to remote servers, preventing potential conflicts or unnecessary configurations for the local machine. Additionally, simplified the SSH key name without including the group name in the UI for better clarity.
Added logic to set user_group_id based on Flask global object `g`, with a fallback to default value if an exception occurs. This enhances the flexibility of `user_group_id` assignment based on runtime context.
Enhance function signatures to include group_id parameter for fetching settings in a multi-group context. Additionally, improve password handling by cleaning up special characters to ensure proper authentication.
Enhance various service functions to accept and process group_id from user parameters. This update ensures that settings and actions are correctly scoped to the user's group, improving access control and accuracy of the returned data.
Updated the error code returned when a user's subscription is either inactive or on a Home plan from 403 (Forbidden) to 401 (Unauthorized). This makes the response more semantically accurate, indicating that authentication is required and has failed.
Replaced single quotes in cert input and updated error handling to raise exceptions instead of returning error messages. This change ensures better logging and clear error propagation.