Commit Graph

62 Commits

Author SHA1 Message Date
749fa94312 feat: Add WireGuard installer
- Add a new WireGuard installer to the project.
- This installer handles installation and uninstallation of WireGuard.

Co-authored-by: mahmmoud.hassanein <mahmmoud.hassanein@gmail.com>
2025-02-02 15:20:57 +02:00
c27fcc6983 fix: WireGuard client improvements
- Updated WireGuard client to use `wg-quick` instead of `sudo wg-quick`.
- Improved error handling in WireGuard client.
- Added `sudo` to `wg show` command for proper permissions.
- Updated example `wireguard.vsh` script to reflect changes.
- Added a new `wg0.conf` file for the WireGuard configuration.
- Resolved the issue where the script wasn't finding the configuration file.

Co-authored-by: mahmmoud.hassanein <mahmmoud.hassanein@gmail.com>
2025-02-02 14:59:05 +02:00
Mahmoud Emad
7bd997e368 feat: Add WireGuard client
- Add a WireGuard client to the project.
- New utility functions have been added to parse the output of `wg show` command and improve error handling.
- Add start, down, show, show_config, generate_private_key, and get_public_key method to interact with the wg binary.
- Created a new example file to offer more clear usage.

Co-authored-by: mariobassem12 <mariobassem12@gmail.com>
2025-02-02 14:41:21 +02:00
45098785e9 feat (tfgrid3deployer): add more support for wireguard
- support adding multiple user access endpoints to a network
- support connecting gateways over wireguard

Co-authored-by: mahmoud <mahmmoud.hassanein@gmail.com>
2025-01-30 18:07:58 +02:00
6a8bd5c205 wip: support multiple user access endpoints
Co-authored-by: mahmoud <mahmmoud.hassanein@gmail.com>
Co-authored-by: mario <mariobassem12@gmail.com>
2025-01-29 18:12:16 +01:00
112f5eecb2 feat: Add Buildah installer
- Added a Buildah installer to the project.
- The installer can install and remove Buildah.
- Updated the installer to use the latest Buildah version.

Co-authored-by: mahmmoud.hassanein <mahmmoud.hassanein@gmail.com>
Co-authored-by: mariobassem <mariobassem12@gmail.com>
2025-01-29 11:13:33 +01:00
0f095a691d feat: add docker installer
- Add a new docker installer.
- Includes functionality for installing, starting, stopping, and removing docker.

Co-authored-by: mariobassem12 <mariobassem12@gmail.com>
Co-authored-by: omda  <mahmmoud.hassanein@gmail.com>
2025-01-28 16:17:33 +01:00
8b0f692673 fix: Fix docker examples
- Moved `httpconnection` import from `clients` to `core`.
- Changed `tfgrid-sdk-ts` dashboard to playground.
- Added ipaddr to node_local().
- Added public keyword to OpenSSLGenerateArgs.
- Improved DockerEngine image and container loading.
- Added utils.contains_ssh_port.
- Improved error handling in DockerEngine.
- Improved Docker registry handling.

Co-authored-by: mariobassem12 <mariobassem12@gmail.com>
Co-authored-by: omda <mahmmoud.hassanein@gmail.com>
2025-01-28 14:08:42 +01:00
Mahmoud Emad
77809423fd feat: add VastAI instance management functions
- Added functions to manage VastAI instances:
- `attach_sshkey_to_instance`
- `stop_instance`
- `destroy_instance`
- `launch_instance`
- `start_instances`
- `start_instance`
- Updated example to demonstrate new functions.

Co-authored-by: mariobassem12 <mariobassem12@gmail.com>
2025-01-26 12:44:52 +02:00
34b1aad175 feat: Add VastAI client
- Add a new VastAI client to the project.
- This client allows users to search for and create GPU instances on VastAI.
- It uses the VastAI API to interact with the platform.
- Includes functionality for searching offers, getting top offers, and creating instances.

Co-authored-by: mahmmoud.hassanein <mahmmoud.hassanein@gmail.com>
2025-01-23 19:22:39 +02:00
d4d3713cad Merge pull request #33 from freeflowuniverse/development_runpod
Development runpod
2025-01-23 17:23:47 +02:00
01fff39e41 refactor: improve runpod client
- Refactor RunPod client to use environment variables for API key.
- Update RunPod example script to reflect changes.
- Remove unused gql_builder.v file.
- Update README.md to reflect changes.
- Improve error handling and logging.
- Use json2 for JSON encoding/decoding.
- Update dependencies.
- Implemented more endpoints for managing pods.

Co-authored-by: mahmmoud.hassanein <mahmmoud.hassanein@gmail.com>
2025-01-23 16:17:12 +02:00
888aac4867 push 2025-01-23 14:16:02 +01:00
6637756088 gittools 2025-01-23 14:09:20 +01:00
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
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
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
Mahmoud Emad
de45ed3a07 refactor: remove dependency on herolib.osal
- Replaced `freeflowuniverse.herolib.osal` with `freeflowuniverse.herolib.core`
2025-01-19 09:48:05 +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
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
23c1456e7e docker creators 2025-01-14 10:25:35 +01:00
Mahmoud Emad
1fbb5bed4a chore: remove unnecessary debug print
- Remove a debug print statement that was no longer needed.
2025-01-09 10:49:51 +02:00
a63bba4558 fixes in gitea
Co-authored-by: omda <mahmmoud.hassanein@gmail.com>
2025-01-08 21:22:49 +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
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
Mahmoud Emad
d631cc5af7 refactor: Migrate Gitea to Podman
- Migrate Gitea installation to use Podman containers.
- This simplifies the installation process and improves
- portability.  Removes reliance on direct binary
- downloads and manual installation steps.  The
- Gitea instance is now managed as a container.
- Updates configuration to reflect container-based
- deployment.  Updates version to 'latest' to
- leverage Podman's image management capabilities.

Co-authored-by: mariobassem12 <mariobassem12@gmail.com>
2025-01-06 17:12:59 +02:00
Mahmoud Emad
61b210d7e0 refactor: improve Podman installer
- Refactor Podman installer to use a more robust approach
- Improve error handling and clarify the installation/removal
- Update example usage to reflect changes

Co-authored-by: supermario <mariobassem12@gmail.com>
2025-01-06 12:51:46 +02:00
Mahmoud Emad
624639f87e refactor: simplify podman installer
- Simplify the Podman installer code.
- Remove unnecessary functions and improve code structure.
- Update the installer to support more platforms.
- Improve error handling and logging.
- Update Podman version to 4.9.3.
2025-01-06 12:16:29 +02:00
Mahmoud Emad
2e14b7b7af fix: improve git url parsing and deployment
- Improve the parsing of Git URLs to correctly handle paths and branches.
- Fix an issue where the `griddriver` installer was not correctly
- installed.
- Fix a bug in the `IPAddress` `ping` function.
- Update the `GitLocation` struct to correctly handle branches and
- tags.
- Fix a bug in the `GitRepo` `checkout` function.
- Improve the `gitlocation_from_url` function to handle various Git
- URL formats.
- Update the `livekit` installer to use the correct source command.
- Update the `golang` installer to use the correct `go version`
- command.
- Update the `griddriver` installer to use the correct version
- command.

Co-authored-by: supermario <mariobassem12@gmail.com>
2025-01-02 13:35:36 +02:00
36f41150c2 postgresql & new docs 2025-01-01 17:44:06 +01:00
b927fc5b5d ggolang install ok 2025-01-01 15:25:58 +01:00
914e1f5073 had to cleanup a lot in relation to optional returns 2025-01-01 13:40:24 +01:00
cffd5e2f9c fixed installers 2025-01-01 10:16:41 +01:00
e13931112d ... 2024-12-31 20:51:18 +01:00
7b601295f5 hwoto 2024-12-31 17:17:00 +01:00
849e1f1f2f add delete script for vm_caddy && fixes 2024-12-31 18:06:24 +02:00
694def6336 fixes in vm_caddy example 2024-12-31 17:37:58 +02:00
4233f9c3d1 fix imports 2024-12-31 15:11:57 +02:00
808c7646bf add example for deploying vm with caddy 2024-12-31 15:10:50 +02:00
92335f8828 fixes for formatting 2024-12-31 11:00:02 +01:00
8400bfc4ee Merge branch 'main_openai_fixes' into development_actions
* main_openai_fixes:
  wip: add tests for openai client
  fix crystallib imports
  fixes in openai client

# Conflicts:
#	examples/hero/generation/openapi_generation/example_actor/actor.v
#	examples/hero/openapi/actor.vsh
#	examples/hero/openapi/server.vsh
2024-12-31 10:23:20 +01:00
5151dfde49 Merge branch 'development_doctree_fixes' into development_actions
* development_doctree_fixes:
  wip: fix doctree example
  wip: fix doctree example
2024-12-31 10:21:53 +01:00