Commit Graph

1655 Commits

Author SHA1 Message Date
Mahmoud Emad
6f9d570a93 WIP: refactor RunPod client
- Refactor RunPod client to use a new GraphQL builder.
- This improves the readability and maintainability of the code.
- The old `build_query` function was removed, and the new
- `QueryBuilder` struct is now used.  This allows for a more
- flexible and extensible approach to constructing GraphQL
- queries.  The example in `runpod_example.vsh` is now
- commented out until the new GraphQL builder is fully
- implemented.

Co-authored-by: mariobassem12 <mariobassem12@gmail.com>
2025-01-22 20:35:50 +02:00
b6d43ebe49 refactor: improve action heroscript output
- Update `action.heroscript()` to handle `dal` actions.
- Remove buggy action print from panic message which led to an infinite
  recursive call.

Co-authored-by: mahmmoud.hassanein <mahmmoud.hassanein@gmail.com>
2025-01-22 14:10:54 +02:00
Mahmoud Emad
7486d561ec feat: update runpod example and client
- Update the RunPod example to use a new API key and
- reduce resource allocation for pods.
- Added stop pod functionality to the RunPod client and example.
- Updated the RunPod client to use new API endpoints.
- Updated the base URL for the RunPod client.
- Added authorization header to HTTP client.

Co-authored-by: mariobassem12 <mariobassem12@gmail.com>
2025-01-21 15:54:48 +02:00
Mahmoud Emad
50116651de feat: Add spot pod start and improved error handling
- Added functionality to start spot pods using the RunPod API.
- Improved error handling and clarity in the RunPod client.
- Added more detailed comments to the code for better readability.
- Refactored the HTTP client and utils to improve modularity.
- Updated example to demonstrate spot pod creation and starting.

Co-authored-by: mariobassem12 <mariobassem12@gmail.com>
2025-01-21 12:38:25 +02:00
Mahmoud Emad
3fe350abe9 feat: Add RunPod start and improved pod creation
- Added a new `start_on_demand_pod` function to the RunPod client.
- Improved the `create_on_demand_pod` function to handle nested machine structure in the response.
- Updated the example to use the new functions and handle the new response structure.
- Updated the API key for the example.
- Added more descriptive field names in the `create_on_demand_pod` input.

Co-authored-by: mariobassem12 <mariobassem12@gmail.com>
2025-01-21 11:32:38 +02:00
Mahmoud Emad
9e51604286 feat: enhance RunPod example with detailed pod creation
- Added more options to the RunPod example, including:
- `cloud_type`, `gpu_count`, `volume_in_gb`,
- `container_disk_in_gb`, `min_vcpu_count`,
- `min_memory_in_gb`, `gpu_type_id`, `ports`, and
- `volume_mount_path`.  This provides a more
- comprehensive demonstration of RunPod's capabilities.
- Updated the example to create an on-demand pod with
- specified resources and settings.  The spot pod
- creation remains largely unchanged.  Improved the
- clarity and completeness of the example.  Removed
- commented-out code for better readability.  Also
- updated the `PodFindAndDeployOnDemandRequest` struct
- to remove default values, allowing for more flexible
- pod configurations.

Co-authored-by: mariobassem12 <mariobassem12@gmail.com>
2025-01-21 11:03:33 +02:00
Mahmoud Emad
309496ef5d feat: Add RunPod client
- Added a new RunPod client to the project.
- Updated the example to use the new client.
- Improved error handling in the client.
- Refactored the code for better readability.

Co-authored-by: mariobassem12 <mariobassem12@gmail.com>
2025-01-21 10:50:07 +02:00
timurgordon
d403f84b6c fix osis compilation 2025-01-21 02:37:05 +00:00
timurgordon
dfeeb8cd4c add example actor generation from example specification 2025-01-21 02:36:31 +00:00
timurgordon
135866e5b0 add actor openapi interface swagger ui support 2025-01-21 02:32:33 +00:00
timurgordon
eef88b5375 better support for parsing generating numeric types 2025-01-21 02:30:38 +00:00
timurgordon
8b9717bb74 implement openrpc & openapi examples support 2025-01-21 02:29:23 +00:00
4422d67701 wip: add spot pod creation
- Add support for creating spot pods using the RunPod API.
- Implement `create_spot_pod` function in the `RunPod` client.
- Refactor RunPod client to handle different query types and response structures.
- Improve error handling and logging for GraphQL requests.
- Update example to demonstrate spot pod creation.

Co-authored-by: mahmmoud.hassanein <mahmmoud.hassanein@gmail.com>
2025-01-20 21:34:16 +02:00
Mahmoud Emad
d54a1e5a34 refactor: improve RunPod client
- Refactor RunPod client to use generics for requests and
responses.
- This improves code readability and maintainability.
- Remove redundant code for building GraphQL queries and
handling HTTP requests.
- Add support for environment variables in pod creation.
- Update example with new API key and environment variables.

Co-authored-by: supermario <mariobassem12@gmail.com>
2025-01-20 15:02:05 +02:00
Mahmoud Emad
0d2307acc8 feat: add RunPod client
- Add a new RunPod client to the project.
- This client allows users to interact with the RunPod API to create and manage pods.
- Includes example usage and configuration options.
2025-01-19 22:20:47 +02:00
3812052ffa chore(tfgrid3deployer): improve example and logging 2025-01-15 18:52:48 +02:00
5256ab6f23 refactor(tfgrid3deployer): use more reliable nodes
- pick reliable nodes by pinging them before attempting deployment
2025-01-15 17:59:15 +02:00
98ce764992 refactor(gridproxy): use native options
- use native option types in filters intead of own option types
- reflect changes across dependant modules
2025-01-15 16:19:13 +02:00
dac062eee9 fix(generic): remove erroneous log message 2025-01-15 13:02:03 +02:00
1da8a2d319 feat(tfgrid3deployer): add delete method for deployments
- add a delete method for deployments which deletes all deployment
  contracts
- improve logging messages
- update examples according to changes
2025-01-15 13:00:04 +02:00
dc47c81b0c chore: remove old deployer code 2025-01-15 12:59:02 +02:00
babb114bcb refactor: regenerate tfgrid3deployer client code 2025-01-15 12:57:49 +02:00
55fc87d9f2 fix: use redis client reference in threefold grid module 2025-01-14 18:33:22 +02:00
de102f33d9 fix: fix hero mdbook command 2025-01-14 15:34:02 +02:00
2a673553f1 fix hero for git 2025-01-14 11:53:28 +01:00
0b780b6901 fix: correct generator command and templates
- Correct the `generator` command to use a string flag for the path.
- Update templates to use correct heap allocation annotation.
- Remove unnecessary code in templates.

Co-authored-by: mahmmoud.hassanein <mahmmoud.hassanein@gmail.com>
2025-01-14 11:41:50 +02:00
dac3b61116 Merge pull request #18 from freeflowuniverse/development_actions
Development actions
2025-01-13 18:59:22 +02:00
81f377a532 test: improve logger test and search functionality
- Improve the logger test to include more specific assertions.
- Add timestamp filtering to the logger search function.
- Fix a bug in the logger search function that prevented it from correctly handling continuation lines.
- Update redisclient tests to use the correct return type.

Co-authored-by: mahmmoud.hassanein <mahmmoud.hassanein@gmail.com>
2025-01-13 18:46:13 +02:00
91f8520229 refactor: improve redis client and publisher
- Refactor the redis client to use a mutex for thread safety.
- Improve error handling in context and playbook factory.
- Remove the play_mdbook command and associated tests.
- Add play_publisher command and tests for publishing books.
- Update the repository cache to use a reference to the redis client.

Co-authored-by: mahmmoud.hassanein <mahmmoud.hassanein@gmail.com>
2025-01-13 16:52:21 +02:00
da2881f973 refactor: improve rclone client factory
- Refactor the rclone client factory to improve its
  organization and functionality.
- Add support for multiple rclone instances with named
  instances.

Co-authored-by: mahmmoud.hassanein <mahmmoud.hassanein@gmail.com>
2025-01-12 18:31:16 +02:00
67fc3b4a99 feat: improve OpenAI client
- Updated the OpenAI client to use environment variables for API keys.
- Improved the configuration and management of OpenAI clients.
- Added retry mechanism to HTTP requests for improved reliability.

Co-authored-by: mahmmoud.hassanein <mahmmoud.hassanein@gmail.com>
2025-01-12 16:33:48 +02:00
4619a0759f Merge pull request #16 from freeflowuniverse/development_actions
Development actions
2025-01-12 14:22:58 +02:00
9e52132e4c ... 2025-01-12 13:18:56 +01:00
9083fccb58 test: improve robustness of incremental counter tests
- Replace `lut.incremental!` with a safer check using `if v := lut.incremental`.
- This ensures that the test doesn't panic if `incremental` is unexpectedly nil.
- The new assertions explicitly check for the existence of a value and its correctness.

Co-authored-by: mahmmoud.hassanein <mahmmoud.hassanein@gmail.com>
2025-01-12 14:15:18 +02:00
5753e0eb58 refactor: improve collection export
- Remove unnecessary parameter from `errors_report` function.
- Pass `Collection` by mutable reference to `export` function.
- Fix `.collection` file content in export test.
- Update test cases to reflect changes.
- Correct path in test data.
- Use mutable reference for `col` in `Tree.export`.

Co-authored-by: mahmmoud.hassanein <mahmmoud.hassanein@gmail.com>
2025-01-12 14:06:21 +02:00
Mahmoud Emad
58a1f04a44 test: fix: handle potential null error in ping
- Updated assertions in `ipaddress_test.v` to handle potential null errors returned by the `ping` method.
2025-01-09 13:39:20 +02:00
Mahmoud Emad
3b580dcc1d fix: improve gitea and postgresql installation
- Improve the installation process for Gitea and PostgreSQL.
- Change the location of the Gitea config file to `/etc`.
- Add a health check for the PostgreSQL container.
- Ensure the Gitea user is created only if it doesn't exist.
- Add a restart command for Gitea to ensure it starts after.
- Improve error handling during user creation.
- Simplify PostgreSQL configuration in Gitea actions.
2025-01-09 13:31:57 +02:00
a63bba4558 fixes in gitea
Co-authored-by: omda <mahmmoud.hassanein@gmail.com>
2025-01-08 21:22:49 +02:00
Mahmoud Emad
de7c3ad36c fix: improve gitea installation
- Replace `osal.cmd_add` with explicit `cp` and `chmod`
- commands for more robust installation.
- This ensures gitea is correctly added to the path and
- made executable, providing better error handling.

Co-authored-by: mariobassem12 <mariobassem12@gmail.com>
2025-01-08 14:22:34 +02:00
Mahmoud Emad
d7efbeb53f fix: correct typo in Gitea SMTP port configuration
- Corrected a typo in the Gitea SMTP port configuration
- across multiple files: `gitea.vsh`, `gitea_model.v`,
- `server.v`, and `app.ini`.  The incorrect `smpt_port`
- was changed to the correct `smtp_port`.

Co-authored-by: mariobassem12 <mariobassem12@gmail.com>
2025-01-08 14:04:29 +02:00
Mahmoud Emad
7086a76a69 refactor: Simplify Gitea installer
- Remove unnecessary and incomplete code in `gitea_actions.v`.
- Simplify the `upload`, `startupcmd`, and `running` functions.
- Use a temporary file for the Gitea configuration.
- Implement a simpler health check using `curl`.

Co-authored-by: mariobassem12 <mariobassem12@gmail.com>
2025-01-08 13:41:24 +02:00
Mahmoud Emad
d6cb55abb1 feat: enable Gitea auto-start
- The Gitea installer now automatically starts the Gitea server after installation.
- Updated the installer to include a `start()` function.
- Added PostgreSQL installation and configuration to the Gitea installer.
- Improved error handling and logging.
- Updated configuration file template for better clarity and consistency.
- Renamed some variables for better readability.

Co-authored-by: mariobassem12 <mariobassem12@gmail.com>
2025-01-08 12:26:03 +02:00
Mahmoud Emad
e2a2f22571 refactor: improve gitea installer
- Refactor the Gitea installer to use a more robust and.
- configurable approach.  The installer now uses a more.
- flexible configuration system and handles different.
- platforms more effectively.  The installation process.
- is now more modular and easier to maintain.  The.
- previous method was overly simplistic and lacked.
- essential configuration options.

Co-authored-by: mariobassem12 <mariobassem12@gmail.com>
2025-01-08 11:43:01 +02:00
timurgordon
9a7a66192b implement ourdb in osis aside indexer 2025-01-08 02:24:20 -05:00
timurgordon
df950143b4 actor code generation minor fixes 2025-01-08 02:22:40 -05:00
timurgordon
038c563843 openrpc to actor spec base object fixes 2025-01-08 02:20:52 -05:00
timurgordon
4733e05c58 fix object type parsing from jsonschema, and type code generation 2025-01-08 02:17:58 -05:00
timurgordon
c9496f0973 generate base object CRUD methods (wip) 2025-01-07 00:43:12 -05:00
timurgordon
31dffa14ce add script generation for actors 2025-01-07 00:41:56 -05:00
timurgordon
7459501c8f minor warning and compilation bug fixes 2025-01-07 00:41:30 -05:00