Adding Support for a New Cloud Provider

Requirements

Cluster Specifications

  • Minimum Requirements:

    • CPU: 48 vCPUs

    • Memory: 192 GB

  • Recommended Node Size:

    • 3 nodes of each of 16 vCPUs 64 GB RAM

Networking

  • Public Subnet

Storage Buckets

Create the following buckets:

  1. private_container_name

  2. public_container_name

  3. dial_state_container_public

  4. velero_private_container_name

Additional Requirements

  1. Storage Account

  2. Random String

  3. Encryption String

  4. JWT Tokens

  5. RSA Keys


Steps to Add a New Cloud Provider

Step 1: Create a New Folder

  • Navigate to the terraform directory and create a folder for the new cloud provider. Example: terraform/gcp/

Organize the folder as follows:

Step 3: Copy Template Files

Copy the template files from the Azure configuration:

Step 4: Structuring Output Files

This will become the input for Helm bundles:

Step 5: Helm Changes

In Helm charts, wherever cloud values are being referred to, use the following format:

Example:

In Helm charts, using a direct reference for Azure:

Using an if-else condition for multiple cloud providers:

Step 6: Enable Service Account and Add Annotations

When using storage buckets, ensure the appropriate service account is enabled and annotated For example:

For Azure installation, please refer to the documentation:/sunbird-ed-installer/terraform/azure/README.md

For GCP installation, please refer to the documentation:/sunbird-ed-installer/terraform/gcp/README.md

Last updated