Skip to content

Add Compute Providers to Hydra

As we use our internal service Hydra to computationally communicate with compute providers, we strive to integrate more of these providers in Hydra to increase the compute availability. Integrating a new compute provider means creating a new package which provides a new InstanceManagerBackend. Adding a new compute provider involves the following steps within Hydra (and manual verification testing):

  1. Create a Client specific for the provider you want to add
  2. Abstract calling the Client in an InstanceManagerBackend
  3. Integrate the new provider package with creating an InstManager in Hydra's main.go
  4. Add relevant secrets and provider-specific configurations to the deployment workflow of the Hydra service
  5. Configure the desired GPUs in the supported_gpus.yml for each environment

Tip

For testing the created bits and pieces for interacting with the provider manually, it helps to create a simple server with HTTP endpoints calling the methods of your Client or the InstanceManagerBackend.

Tip

Especially for the steps of integrating the provider in Hydra's main.go and configuring Hydra specific for the new provider, have a look at how the same is achieved for existing providers like verda or primeintellect.