This is a Terraform module for provisioning a Weights & Biases Cluster on Azure. Weights & Biases Server is our self-hosted distribution of wandb.ai. It offers enterprises a private instance of the Weights & Biases application, with no resource limits and with additional enterprise-grade architectural features like audit logging and single sign-on.
This module is intended to run in an Azure account with minimal preparation, however it does have the following pre-requisites:
We have included documentation and reference examples for additional common installation scenarios for Weights & Biases, as well as examples for supporting resources that lack official modules.
- Route
Name | Version |
---|---|
terraform | ~> 1.0 |
azurerm | ~> 3.17 |
helm | ~> 2.6 |
kubernetes | ~> 2.23 |
Name | Version |
---|---|
azurerm | ~> 3.17 |
Name | Source | Version |
---|---|---|
app_aks | ./modules/app_aks | n/a |
app_lb | ./modules/app_lb | n/a |
cert_manager | ./modules/cert_manager | n/a |
cron_job | ./modules/cron_job | n/a |
database | ./modules/database | n/a |
identity | ./modules/identity | n/a |
networking | ./modules/networking | n/a |
pod_identity | ./modules/identity | n/a |
redis | ./modules/redis | n/a |
storage | ./modules/storage | n/a |
vault | ./modules/vault | n/a |
wandb | wandb/wandb/helm | 1.2.0 |
Name | Type |
---|---|
azurerm_subscription.current | data source |
Name | Description | Type | Default | Required |
---|---|---|---|---|
allowed_ip_ranges | Allowed public IP addresses or CIDR ranges. | list(string) |
[] |
no |
allowed_subscriptions | List of allowed customer subscriptions coma seperated values | string |
"" |
no |
app_wandb_env | Extra environment variables for W&B | map(string) |
{} |
no |
azuremonitor | # To support otel azure monitor sql and redis metrics need operator-wandb chart minimum version 0.14.0 | bool |
false |
no |
blob_container | Use an existing bucket. | string |
"" |
no |
cluster_sku_tier | The Azure AKS SKU Tier to use for this cluster (https://learn.microsoft.com/en-us/azure/aks/free-standard-pricing-tiers) | string |
"Free" |
no |
create_private_link | Use for the azure private link. | bool |
false |
no |
create_redis | Boolean indicating whether to provision an redis instance (true) or not (false). | bool |
false |
no |
database_availability_mode | n/a | string |
"SameZone" |
no |
database_sku_name | Specifies the SKU Name for this MySQL Server | string |
"GP_Standard_D4ds_v4" |
no |
database_version | Version for MySQL | string |
"5.7" |
no |
deletion_protection | If the instance should have deletion protection enabled. The database / Bucket can't be deleted when this value is set to true . |
bool |
true |
no |
disable_storage_vault_key_id | Flag to disable the customer_managed_key block, the properties 'encryption.identity, encryption.keyvaultproperties' cannot be updated in a single operation. |
bool |
false |
no |
domain_name | Domain for accessing the Weights & Biases UI. | string |
null |
no |
enable_database_vault_key | Flag to enable managed key encryption for the database. Once enabled, cannot be disabled. | bool |
false |
no |
enable_storage_vault_key | Flag to enable managed key encryption for the storage account. | bool |
false |
no |
external_bucket | config an external bucket | any |
null |
no |
kubernetes_instance_type | Use for the Kubernetes cluster. | string |
"Standard_D4a_v4" |
no |
kubernetes_node_count | n/a | number |
2 |
no |
license | Your wandb/local license | string |
n/a | yes |
location | n/a | string |
n/a | yes |
namespace | String used for prefix resources. | string |
n/a | yes |
node_max_pods | Maximum number of pods per node | number |
30 |
no |
node_pool_zones | Availability zones for the node pool | list(string) |
[ |
no |
oidc_auth_method | OIDC auth method | string |
"implicit" |
no |
oidc_client_id | The Client ID of application in your identity provider | string |
"" |
no |
oidc_issuer | A url to your Open ID Connect identity provider, i.e. https://cognito-idp.us-east-1.amazonaws.com/us-east-1_uiIFNdacd | string |
"" |
no |
oidc_secret | The Client secret of application in your identity provider | string |
"" |
no |
other_wandb_env | Extra environment variables for W&B | map(any) |
{} |
no |
parquet_wandb_env | Extra environment variables for W&B | map(string) |
{} |
no |
redis_capacity | Number indicating size of an redis instance | number |
2 |
no |
size | Deployment size | string |
null |
no |
ssl | Enable SSL certificate | bool |
true |
no |
storage_account | Azure storage account name | string |
"" |
no |
storage_key | Azure primary storage access key | string |
"" |
no |
subdomain | Subdomain for accessing the Weights & Biases UI. Default creates record at Route53 Route. | string |
null |
no |
tags | Map of tags for resource | map(string) |
{} |
no |
use_internal_queue | Uses an internal redis queue instead of using azure queue. | bool |
false |
no |
wandb_image | Docker repository of to pull the wandb image from. | string |
"wandb/local" |
no |
wandb_version | The version of Weights & Biases local to deploy. | string |
"latest" |
no |
weave_wandb_env | Extra environment variables for W&B | map(string) |
{} |
no |
Name | Description |
---|---|
address | n/a |
aks_node_count | n/a |
aks_node_instance_type | n/a |
client_id | n/a |
cluster_ca_certificate | n/a |
cluster_client_certificate | n/a |
cluster_client_key | n/a |
cluster_host | n/a |
database_instance_type | n/a |
fqdn | The FQDN to the W&B application |
oidc_issuer_url | n/a |
private_link_resource_id | n/a |
private_link_sub_resource_name | n/a |
standardized_size | n/a |
tenant_id | n/a |
url | The URL to the W&B application |