- Improve Linux support by automatically discovering zinit sockets
using environment variables and common paths.
- Add fallback to systemd if no zinit server is detected.
- Enhance README with detailed instructions for zinit usage,
including custom socket path configuration.
- Add example demonstrating zinit socket discovery.
- Add logging to show socket discovery process.
- Add unit tests for service manager creation and socket discovery.
- Handle arguments and working directory correctly in Zinit: The
Zinit service manager now correctly handles arguments and
working directories passed to services, ensuring consistent
behavior across different service managers. This fixes issues
where commands would fail due to incorrect argument parsing or
missing working directory settings.
- Simplify Zinit service configuration: The Zinit service
configuration is now simplified, using a more concise and
readable format. This improves maintainability and reduces the
complexity of the service configuration process.
- Refactor Zinit service start: This refactors the Zinit service
start functionality for better readability and maintainability.
The changes improve the code structure and reduce the complexity
of the code.
- Correctly handle the `zinit_client` crate name in package
publication checks and messages. The script previously
failed to account for the difference between the directory
name and the package name.
- Improve the clarity of published crate names in output messages
for better user understanding. This makes the output more
consistent and user friendly.
- Add comprehensive testing instructions to README.
- Improve error handling in examples to prevent crashes.
- Enhance launchctl error handling for production safety.
- Improve zinit error handling for production safety.
- Remove obsolete plan_to_fix.md file.
- Update Rhai integration tests for improved robustness.
- Improve service manager creation on Linux with systemd fallback.
- Updated simple_service.rs to use start(config) instead of create() + start(name)
- Updated service_spaghetti.rs to use the same unified API
- Fixed factory function calls to use create_service_manager() without parameters
- All examples now compile and work with the production-ready synchronous API
- Maintains backward compatibility while providing cleaner interface
- Resolved conflicts in service_manager/src/lib.rs
- Resolved conflicts in service_manager/src/launchctl.rs
- Resolved conflicts in service_manager/src/zinit.rs
- Resolved conflicts in service_manager/README.md
- Kept our production-ready synchronous API design
- Maintained comprehensive service lifecycle management
- Preserved cross-platform compatibility (macOS/Linux)
- All tests passing and ready for production use
- Add a new service manager crate for dynamic service management
- Integrate service manager with Rhai for scripting
- Provide examples for circle worker management and basic usage
- Add comprehensive tests for service lifecycle and error handling
- Implement cross-platform support for macOS and Linux (zinit/systemd)
- Reduced the number of SAL crates from 16 to 15.
- Removed redundant core modules from README examples.
- Updated README to reflect the current state of published crates.
- Added `Cargo.toml.bak` to `.gitignore` to prevent accidental commits.
- Improved the clarity and accuracy of the README's installation instructions.
- Updated `publish-all.sh` script to handle existing crate versions and improve dependency management.
- Add a workflow for testing the publishing setup
- Add a workflow for publishing SAL crates to crates.io
- Improve crate metadata and version management
- Add optional dependencies for modularity
- Improve documentation for publishing and usage
- Add Kubernetes cluster management and operations
- Include pod, service, and deployment management
- Implement pattern-based resource deletion
- Support namespace creation and management
- Provide Rhai scripting wrappers for all functions
- Include production safety features (timeouts, retries, rate limiting)
- Migrate individual modules to independent crates
- Refactor dependencies for improved modularity
- Update build system and testing infrastructure
- Update documentation to reflect new structure
- Add new `sal-rhai` crate for Rhai scripting integration
- Integrate Rhai with existing SAL modules
- Improve error handling for Rhai scripts and SAL functions
- Add comprehensive unit and integration tests for `sal-rhai`
- Removed the `herodo` binary from the monorepo. This was
done as part of the monorepo conversion process.
- Updated the `Cargo.toml` file to reflect the removal of
`herodo` and adjust dependencies accordingly.
- Updated `src/lib.rs` and `src/rhai/mod.rs` to use the new
`sal-vault` crate for vault functionality. This improves
the modularity and maintainability of the project.
- Added the `herodo` package to the workspace.
- Updated the MONOREPO_CONVERSION_PLAN.md to reflect
the completion of the herodo package conversion.
- Updated README.md and build_herodo.sh to reflect the
new package structure.
- Created herodo/Cargo.toml, herodo/README.md,
herodo/src/main.rs, herodo/src/lib.rs, and
herodo/tests/integration_tests.rs and
herodo/tests/unit_tests.rs.
- Move src/postgresclient/ to postgresclient/ package structure
- Add comprehensive test suite (28 tests) with real PostgreSQL operations
- Maintain Rhai integration with all 10 wrapper functions
- Update workspace configuration and dependencies
- Add complete documentation with usage examples
- Remove old module and update all references
- Ensure zero regressions in existing functionality
Closes: postgresclient monorepo conversion
- Add sal-virt package to the workspace members
- Update MONOREPO_CONVERSION_PLAN.md to reflect the
completion of sal-process and sal-virt packages
- Update src/lib.rs to include sal-virt
- Update src/postgresclient to use sal-virt instead of local
virt module
- Update tests to use sal-virt
- Add `sal-process` package for cross-platform process management.
- Update workspace members in `Cargo.toml`.
- Mark process package as complete in MONOREPO_CONVERSION_PLAN.md
- Remove license information from `mycelium` and `os` READMEs.
- Add `zinit_client` package to the workspace, enabling its use
in the SAL monorepo. This allows for better organization and
dependency management.
- Update `MONOREPO_CONVERSION_PLAN.md` to reflect the addition
of `zinit_client` and its status. This ensures the conversion
plan stays up-to-date.
- Move `src/zinit_client/` directory to `zinit_client/` for better
organization. This improves the overall structure of the
project.
- Update references to `zinit_client` to use the new path. This
ensures the codebase correctly links to the `zinit_client`
package.
- Add new sal-net package to the workspace.
- Update MONOREPO_CONVERSION_PLAN.md to reflect the
addition of the sal-net package and mark it as
production-ready.
- Add Cargo.toml and README.md for the sal-net package.
- Added the `os` package to the list of converted packages in the
monorepo conversion plan.
- Updated the success metrics and quality metrics sections to reflect
the completion of the `os` package. This ensures the plan
accurately reflects the current state of the conversion.
- Add a new `sal-os` package containing OS interaction utilities.
- Update workspace members to include the new package.
- Add README and basic usage examples for the new package.
- Marked the `text` package as production-ready in the
conversion plan.
- Added quality metrics achieved for the `text` package,
including test coverage, security features, and error
handling.
- Updated the success metrics checklist to reflect the
`text` package's completion.
- Add a new crate `sal-text` for text manipulation utilities.
- Integrate `sal-text` into the main `sal` crate.
- Remove the previous `text` module from `sal`. This improves
organization and allows for independent development of the
`sal-text` library.
- Add the `mycelium` package to the workspace members.
- Add `sal-mycelium` dependency to `Cargo.toml`.
- Update MONOREPO_CONVERSION_PLAN.md to reflect the addition
and completion of the mycelium package.
- Integrate the redisclient package into the workspace.
- Update the MONOREPO_CONVERSION_PLAN.md to reflect the
completion of the redisclient package conversion.
This includes marking its conversion as complete and
updating the success metrics.
- Add the redisclient package's Cargo.toml file.
- Add the redisclient package's source code files.
- Add tests for the redisclient package.
- Add README file for the redisclient package.
- Specify production-ready implementation details for sal-git
package.
- Add a detailed code review and quality assurance process
section.
- Include comprehensive success metrics and validation checklists
for production readiness.
- Improve security considerations and risk mitigation strategies.
- Add stricter code review criteria based on sal-git's conversion.
- Update README with security configurations and environment
variables.
- Migrate SAL project from single-crate to monorepo structure
- Create independent packages for individual modules
- Improve build efficiency and testing capabilities
- Update documentation to reflect new structure
- Successfully convert the git module to an independent package.
- Updated the Gitea host URL in `.roo/mcp.json` and `Cargo.toml`
to reflect the change from `git.ourworld.tf` to `git.threefold.info`.
- Updated the `zinit-client` dependency in `Cargo.toml` to version
`0.3.0`. This ensures compatibility with the updated repository.
- Updated file paths in example files to reflect the new repository URL.