* feat: enhance precheck tasks for image registry and network validation
- Added a task to ensure successful authentication to the image registry.
- Updated existing tasks to provide clearer failure messages for required configurations.
- Improved validation for network interfaces and CIDR configurations, ensuring dual-stack support.
- Enhanced error handling in the resource handler for playbook creation.
Signed-off-by: joyceliu <joyceliu@yunify.com>
* feat: enhance configuration and query handling
- Added `-trimpath` flag to Go build configuration for improved binary paths.
- Updated REST configuration to set QPS and Burst limits for better performance.
- Refactored query handling to use string types for field and value, improving type consistency.
- Enhanced error handling in resource configuration updates and improved parsing of request bodies.
Signed-off-by: joyceliu <joyceliu@yunify.com>
* feat: check inventory when it's changed
Signed-off-by: joyceliu <joyceliu@yunify.com>
* feat: enhance playbook execution and query handling
- Added a new optional query parameter `promise` to the playbook and inventory endpoints, allowing for asynchronous execution control.
- Introduced a new result state `ResultPending` to indicate ongoing operations.
- Refactored the executor function to handle the `promise` parameter, enabling conditional execution of playbooks.
- Improved error handling and logging during playbook execution.
Signed-off-by: joyceliu <joyceliu@yunify.com>
---------
Signed-off-by: joyceliu <joyceliu@yunify.com>
- Updated the Connector interface to return both stdout and stderr for command execution.
- Modified implementations in local, kubernetes, and ssh connectors to support the new return values.
- Improved documentation for the Connector interface methods for clarity.
- Added error handling for stderr in command execution across connectors.
- Introduced new utility functions for IP parsing and checking localhost IPs.
Signed-off-by: joyceliu <joyceliu@yunify.com>
- Added a new field `Result` to `SchemaTablePlaybook` to store the result of the associated playbook.
- Updated the `allSchema` function to unmarshal and assign the playbook result if available.
- Cleared `PlaybookPath` after processing to prevent unintended references.
- Adjusted the `SchemaTable` struct to include `PlaybookPath` for better schema management.
Signed-off-by: joyceliu <joyceliu@yunify.com>