- 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 WireGuard installer to the project.
- This installer handles installation and uninstallation of WireGuard.
Co-authored-by: mahmmoud.hassanein <mahmmoud.hassanein@gmail.com>
- 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>
- 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>
- Add a new WireGuard client to the project.
- Includes a factory, model, and basic client functionality.
Co-authored-by: mariobassem12 <mariobassem12@gmail.com>
- 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 installer for the `screen` utility.
- This installer supports Ubuntu and macOS.
- Includes functionality for installation, uninstallation,
and status checking.
- Fixed tests for osal.screen
Co-authored-by: mahmmoud.hassanein <mahmmoud.hassanein@gmail.com>
- Added a workaround to download and execute zinit if it's not found in the path.
- This is necessary because the zinit installer cannot be imported due to a circular dependency.
- This ensures that the tests can run reliably even without zinit being pre-installed.
Co-authored-by: mahmmoud.hassanein <mahmmoud.hassanein@gmail.com>
- Changed the repository lookup in `repo_new_from_gitlocation` to use the cache key instead of the repository name.
- Added a new client `livekit` to the `test_basic.vsh` script for testing purposes.
Co-authored-by: mariobassem12 <mariobassem12@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>