- support adding multiple user access endpoints to a network
- support connecting gateways over wireguard
Co-authored-by: mahmoud <mahmmoud.hassanein@gmail.com>
- 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>
- 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>
- Added a new example demonstrating deployment on Hetzner using the `tfgrid3deployer`.
- The example creates a VM and adds a webname.
Co-authored-by: mahmmoud.hassanein <mahmmoud.hassanein@gmail.com>
- 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>
- 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>
- 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>
- 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>
- 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>
- 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>
- 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>
- 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>
- 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>
- 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>
- 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.
- 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>
- 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>
- 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>
- 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>
- 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>
- 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.
- 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>