Commit Graph

208 Commits

Author SHA1 Message Date
Sameh Abouel-saad
b2fc0976bd style: format code and reorganize imports across rfsclient codebase 2025-08-28 03:50:07 +03:00
Sameh Abouel-saad
e114404ca7 fix: refactor rhai functions to use Map parameters 2025-08-28 03:43:00 +03:00
Sameh Abouel-saad
536779f521 fix rfsclient rhai example and update docs 2025-08-27 22:29:25 +03:00
Sameh Abouelsaad
c2969621b1 feat: implement RFS client with authentication and file management APIs 2025-08-27 17:59:20 +03:00
Timur Gordon
b39f24ca8f add install script and compilation fixes 2025-08-27 13:17:52 +02:00
f87a1d7f80 Merge branch 'development' of git.ourworld.tf:herocode/herolib_rust into development 2025-08-25 07:06:52 +02:00
17e5924e0b ... 2025-08-25 07:06:50 +02:00
Maxime Van Hees
768e3e176d fixed overlapping workspace roots 2025-08-21 16:20:15 +02:00
Timur Gordon
aa0248ef17 move rhailib to herolib 2025-08-21 14:32:24 +02:00
Maxime Van Hees
aab2b6f128 fixed cloud hypervisor issues + updated test script (working now) 2025-08-21 13:32:03 +02:00
Maxime Van Hees
d735316b7f cloud-hypervisor SAL + rhai test script for it 2025-08-20 18:01:21 +02:00
Maxime Van Hees
d1c80863b8 fixed test script errors 2025-08-20 15:42:12 +02:00
Maxime Van Hees
169c62da47 Merge branch 'development' of https://git.ourworld.tf/herocode/herolib_rust into development 2025-08-20 14:45:57 +02:00
Maxime Van Hees
33a5f24981 qcow2 SAL + rhai script to test functionality 2025-08-20 14:44:29 +02:00
Timur Gordon
d7562ce466 add data packages and remove empty submodule 2025-08-07 12:13:37 +02:00
ca736d62f3 /// 2025-08-06 03:27:49 +02:00
Maxime Van Hees
078c6f723b merging changes 2025-08-05 20:28:20 +02:00
Maxime Van Hees
9fdb8d8845 integrated hetzner client in repo + showcase of using scope for 'cleaner' scripts 2025-08-05 20:27:14 +02:00
8203a3b1ff Merge branch 'development' of git.ourworld.tf:herocode/herolib_rust into development 2025-08-05 16:39:01 +02:00
1770ac561e ... 2025-08-05 16:39:00 +02:00
Maxime Van Hees
eed6dbf8dc added robot hetzner code to research for later importing it into codebase 2025-08-05 16:32:29 +02:00
4cd4e04028 ... 2025-08-05 16:22:25 +02:00
8cc828fc0e ...... 2025-08-05 16:21:33 +02:00
56af312aad ... 2025-08-05 16:04:55 +02:00
dfd6931c5b ... 2025-08-05 16:00:24 +02:00
6e01f99958 ... 2025-08-05 15:43:13 +02:00
0c02d0e99f ... 2025-08-05 15:33:03 +02:00
7856fc0a4e ... 2025-07-14 13:53:01 +04:00
Mahmoud-Emad
758e59e921 docs: Improve README.md with clearer structure and installation
- Update README.md to provide a clearer structure and improved
  installation instructions.  This makes it easier for users to
  understand and use the library.
- Remove outdated and unnecessary sections like the workspace
  structure details, publishing status, and detailed features
  lists. The information is either not relevant anymore or can be
  found elsewhere.
- Simplify installation instructions to focus on the core aspects
  of installing individual packages or the meta-package with
  features.
- Add a dedicated section for building and running tests,
  improving developer experience and making the process more
  transparent.
- Modernize the overall layout and formatting for better
  readability.
2025-07-13 12:51:08 +03:00
f1806eb788 Merge pull request 'feat: Update SAL Vault examples and documentation' (#24) from development_vault into development
Reviewed-on: herocode/sal#24
2025-07-13 09:31:53 +00:00
Mahmoud-Emad
6e5d9b35e8 feat: Update SAL Vault examples and documentation
- Renamed examples directory to `_archive` to reflect legacy status.
- Updated README.md to reflect current status of vault module,
  including migration from Sameh's implementation to Lee's.
- Temporarily disabled Rhai scripting integration for the vault.
- Added notes regarding current and future development steps.
2025-07-10 14:03:43 +03:00
61f5331804 Merge pull request 'feat: Update zinit-client dependency to 0.4.0' (#23) from development_service_manager into development
Reviewed-on: herocode/sal#23
2025-07-10 08:29:07 +00:00
Mahmoud-Emad
423b7bfa7e feat: Update zinit-client dependency to 0.4.0
- Upgrade `zinit-client` dependency to version 0.4.0 across all
  relevant crates. This resolves potential compatibility issues
  and incorporates bug fixes and improvements from the latest
  release.

- Improve error handling and logging in `zinit-client` and
  `service_manager` to provide more informative feedback and
  prevent potential hangs during log retrieval.  Add timeout to
  prevent indefinite blocking on log retrieval.

- Update `publish-all.sh` script to correctly handle the
  `service_manager` crate during publishing.  Improves handling of
  special cases in the publishing script.

- Add `zinit-client.workspace = true` to `Cargo.toml` to ensure
  consistent dependency management across the workspace.  This
  ensures the correct version of `zinit-client` is used everywhere.
2025-07-10 11:27:59 +03:00
fc2830da31 Merge pull request 'Kubernetes Clusters' (#22) from development_kubernetes_clusters into development
Reviewed-on: herocode/sal#22
2025-07-09 21:41:25 +00:00
Mahmoud-Emad
6b12001ca2 feat: Add Kubernetes examples and update dependencies
- Add Kubernetes examples demonstrating deployment of various
  applications (PostgreSQL, Redis, generic). This improves the
  documentation and provides practical usage examples.
- Add `tokio` dependency for async examples. This enables the use
  of asynchronous operations in the examples.
- Add `once_cell` dependency for improved resource management in
  Kubernetes module. This allows efficient management of
  singletons and other resources.
2025-07-10 00:40:11 +03:00
Mahmoud-Emad
99e121b0d8 feat: Providing some clusters for kubernetes 2025-07-08 16:37:10 +03:00
Mahmoud-Emad
502e345f91 feat: Enhance service manager with zinit socket discovery and systemd fallback
- 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.
2025-07-02 16:37:27 +03:00
Mahmoud-Emad
352e846410 feat: Improve Zinit service manager integration
- 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.
2025-07-02 13:39:11 +03:00
Mahmoud-Emad
b72c50bed9 feat: Improve publish-all.sh script to handle zinit_client
- 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.
2025-07-02 12:46:42 +03:00
Mahmoud-Emad
95122dffee feat: Improve service manager testing and error handling
- 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.
2025-07-02 12:05:03 +03:00
Mahmoud-Emad
a63cbe2bd9 Fix service manager examples to use production-ready API
- 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
2025-07-02 10:46:47 +03:00
Mahmoud-Emad
1e4c0ac41a Resolve merge conflicts - keep production-ready service manager implementation
- 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
2025-07-02 10:34:56 +03:00
Mahmoud-Emad
0e49be8d71 Merge branch 'main' of https://git.threefold.info/herocode/sal 2025-07-02 10:25:48 +03:00
Timur Gordon
32339e6063 service manager add examples and improvements 2025-07-02 05:50:18 +02:00
Mahmoud-Emad
131d978450 feat: Add service manager support
- 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)
2025-07-01 18:00:21 +03:00
Mahmoud-Emad
46ad848e7e Merge branch 'main' of https://git.threefold.info/herocode/sal 2025-07-01 11:26:35 +03:00
Timur Gordon
b4e370b668 add service manager sal 2025-07-01 09:11:45 +02:00
ef8cc74d2b Merge pull request 'feat: Update SAL crate structure and documentation' (#18) from development_kubernetes into main
Some checks failed
Test Publishing Setup / Test Publishing Setup (push) Has been cancelled
Reviewed-on: herocode/sal#18
2025-07-01 06:05:31 +00:00
Mahmoud-Emad
23db07b0bd feat: Update SAL crate structure and documentation
Some checks failed
Test Publishing Setup / Test Publishing Setup (pull_request) Has been cancelled
- 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.
2025-07-01 09:04:23 +03:00
b4dfa7733d Merge pull request 'development_kubernetes' (#17) from development_kubernetes into main
Some checks are pending
Test Publishing Setup / Test Publishing Setup (push) Waiting to run
Reviewed-on: herocode/sal#17
2025-07-01 05:35:06 +00:00